【原创】从大数据的角度来谈谈运维监控这件事儿

干货概览

做运维的人对监控这件事儿都太熟悉了,但是对于监控这么一件老生常谈的事儿,我们今天换个角度,从大数据的角度来看看有什么新的发现。

为什么要从大数据的角度来看监控这件事儿呢?首先,以大家最熟悉的服务器监控为例,虽然原理很简单,但从数据角度来看,其仍是一个典型且完整的数据采集(监控数据采集)、分析(报警)和可视化(趋势图、仪表盘)处理过程。其次,监控领域需要关心的数据不仅仅是服务器监控数据,还包含各种角度、各种来源的数据,如日志数据、网络通信数据等,数据呈现种类多、体量大和时效性要求高的特点,符合典型的大数据基本特征。

Gartner在2016年第一次提出AIOps概念时,AI代表了Algorithmic(算法),算法的基石正是海量的数据,在2017年将AI含义改为Artificial Intelligence(人工智能)后,同样需要海量的数据进行处理和学习。我们从下文的Gartner描绘的AIOps平台架构中同样能看到数据对于AIOps、对于运维、对于监控的重要性。

我们从数据来源的角度对监控数据进行分类,比较常用的几种数据来源如下:

机器数据,常用指数★★★★★,获取难度★☆☆☆☆

日志数据,常用指数★★★★☆,获取难度★★★☆☆

网络通信数据,常用指数★☆☆☆☆,获取难度★★★★★

拨测数据,常用指数★★★★☆,获取难度★☆☆☆☆

Agent代理数据,常用指数★★☆☆☆,获取难度★★★★☆

用户行为数据,常用指数★★★☆☆,获取难度★★☆☆☆

指数仅供参考

这么多种数据来源,各有什么特点和用途呢?接下来我们详细聊一下:

机器数据

机器数据是指服务器、网络设备等硬件或虚拟硬件运行过程中产生的状态数据,往往有对应的协议或规范,例如SNMP、IPMI、WMI等。通过机器数据可以准确的掌握业务承载平台的基本运行状态,例如CPU、内存、磁盘等资源的使用情况和网络流量情况,是运维监控领域最常用的数据来源,各类开源或商业监控产品对此类数据的处理也大同小异,例如Zabbix、Nagios等。

云计算时代,同样离不开机器数据,虽然用户不用再关心底层物理设备的运行状态,但云厂商提供的各类云服务器、网关、负载均衡等虚拟设备同样会产生大量机器数据,需要用户时刻关注,例如云服务器的资源使用情况、带宽的使用情况、网关的负载情况等。

做好机器数据的监控可以说是做好运维监控的第一步,但仅仅有机器数据是不够的,因为机器数据存在与业务运行状态脱节的问题,机器运行平稳、资源充足并不能够代表业务运行正常,这就需要我们去丰富自己的监控数据来源,各位看官请往下看。

日志数据

日志数据是指应用程序、中间件和机器等在运行过程中由事件触发而产生的文本类数据,数据格式灵活多样。

通过日志数据可以深入的了解应用等运行过程中的详细情况,但其详细程度和覆盖面取决于产生日志的规则,有些应用产生的日志非常详细,包含了每一笔事务的处理过程,有些应用产生的日志非常简单,只会在应用报错时产生一些错误信息。

日志数据的应用场景非常广泛,上到业务指标分析,下到Bug追踪定位,是监控领域的全能选手。但由于日志数据的灵活性,要想利用好日志数据,必须先想好监控什么,再通过制定日志规范获取到需要的数据。日志数据的采集和分析最常用的开源方案就是ELK Stack了,可以说已经形成了一定的行业标准。

网络通信数据

网络通信数据是指通过抓包获取到的设备间网络通信数据,例如两台服务器之间存在网络通信,通过抓包分析可以详细的了解两台服务器之间通信的端口、协议、数据量甚至内容。常用的方式是通过硬件设备将网络流量进行镜像,对镜像数据进行分析,以避免干扰业务数据的正常流转。

网络通信数据非常全面,只要有网络通信理论上就能够抓取到详细的数据,而不需要日志数据那样提前制定好数据输出规则。想象一下你在管理一个交易系统,不需要吐任何日志就可以获取到每一笔交易的详细情况,而且这种数据获取方式还不会影响到应用的运行,是不是很爽。

但是网络通信数据的利用是较少的,难度也较大,小编私以为主要是由于网络相关的运维和业务相关的运维往往是不同的Team在负责,不同运维团队的关注点和侧重点不同造成的。网络运维团队更加关心网络本身的稳定性,对业务的理解不是非常深入,即使通过抓包拿到详细数据,也很难进行详细的分析。而业务相关的运维和研发团队对网络又缺乏完全的掌控,对网络的理解也不够深刻。

此外,网络通信数据也有其局限性,一些业务事件可能不会产生网路通信,也就没有对应的数据,网络通信的数据包解析需要非常清楚应用层的规则,甚至很多数据被进行了加密,这都增大了网路通信数据的利用难度。

目前小编暂时没有看到成熟的围绕网络通信数据采集和分析的开源解决方案,聊以慰藉的只有Wireshark这样的工具型产品了。商业解决方案方面倒是有很多不错的厂商,感兴趣的同学可以百度一下Gartner NPMD了解,NPMD是指Network Performance Monitoring and Diagnostics。

拨测数据

拨测数据是指使用探测点,通过HTTP、Ping、TCP等多种协议对监控目标进行探测产生的数据《站点监控 | 网站健康检查的外科医生》一文中提到网站监控数据就属于拨测数据的一种。拨测这个词最早源于电话通信网络,通信人员在建设好电话网络后需要拨一个电话来测试是否正常,这种主动式监控方式就称为拨测了。

对于IT业务系统,拨测采用的探测点可以在公网,也可以在业务系统内网,不同位置的探测点起到的作用是不同的。公网探测点主要关注业务系统的网络出口质量、运营商网络质量和CDN质量,而内网探测点主要关注的是业务或各个业务模块的可用性及性能状态。

内网探测点的搭建非常简单,几行脚本加上一些开源组件很快就能获取到拨测数据。但公网探测点需要在公网部署大量的服务器作为探测点,公网服务器部署会带来大量的运维成本和商务成本,各位同学可以考虑使用商业解决方案,百度云监控BCM(Baidu Cloud Monitor)的站点监控功能就能很好的满足公网环境下的拨测需求。

Agent代理数据

Agent代理数据是指通过字节码增强等技术来获取应用运行过程中的各类数据,与日志数据的最大区别在与其不需要在应用程序的源代码中添加数据的输出逻辑,而是在应用程序的编译或运行环节去动态的指定数据输出逻辑,其形式上也可以输出为日志,但与一般的日志数据在原理和灵活度上有着本质的区别。

Agent代理数据最常用的场景就是应用性能管理APM(Application Performance Management)了,通过Agent代理数据可以获取到应用运行过程中的事务执行过程,包括外部调用、数据库调用、分布式调用追踪、代码执行耗时等,而这一切都不需要你去修改原有的应用程序。典型的开源方案是针对Java应用程序监控的Pinpoint。

用户行为数据

用户行为数据是指通过在用户终端进行埋点获取到的用户行为数据,例如在网页中通过JS埋点获取到的页面访问情况和在APP中通过SDK埋点获取到的各交互页面和控件的使用情况。用户行为数据除了帮助运营同学进行用户分析,还可以帮助运维的同学更加准确的了解业务系统的最终实际表现,例如哪里的用户出现了访问缓慢、哪些业务模块用户量出现了突降,这些数据能够让你站在结果的角度去分析业务系统还有哪里可以优化,也能够在问题仅仅影响一小部分用户时就能够及时发现,第一时间干预。

总  结

说了这么多种来源的数据,我们来简要总结一下:

结合各种来源类型的数据,我们可以根据业务监控需求构建出适合自己业务系统的监控方案来,你有没有发现以前没有关注过的数据来源呢?赶快进一步深入了解一下,看看能不能解决你的痛点吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容