文档介绍:大数据下的技术运营-■"监控系统
技术运营团队的由来
在运维更名为技术运营的两年内,我们对这个团队的工作目标产生了新的理 解,工作内容也逐渐从传统的维护往DevOps方向转化。技术运营,简单地讲 就是利用技术手段,降低资源消耗,提高基础资源的运行效率,提高整个软件生 命周期运行的效率。
这意味着对团队内的每个工程师都提出了更高的要求:一方面我们要支持目 前的系统运行;同时也要针对目前的业务流程去开发自己的工具,让整个基础资 源和能力工具化,把经验和自己对流程的理解变成Web化的工具,提供给程序 员使用。
为什么必须自主研发监控系统
目前在TalkingData的Developer除了负责代码的编写,还要负责生产系统 自己程序的性能指标提供监控接口,以及生产环境程序bug的处理。Developer 能够一定程度的获取生产权限,方便常规的维护和简单故障的处理。这样一来, 技术运营的挑战就来了:权限的管理、性能指标的监控、日志的管理以及资源的 隔离,都需要有成熟的工具去支撑。目前市面上有很多开源的软件可以实现这样 的功能,但是在不同程度上存在各种各样的问题。
以监控为例,开源的监控很多,Zabbix、Nagios、Cacti,都是不错的监控 软件,但是首先它们并不能满足大数据场景下的数据存储;其次,如果监控项和 主机数量过多,数据查询时会出现速度慢等一系列问题。所以技术运营首先选择 在监控上做了全新的设计和开发,新监控命名为OWL(猫头鹰),意思就是在技 术人员睡觉的时候提供值班服务。
自研监控系统的三大技术要点
传统的监控很多还是在停留在设备、网络、系统相关的监控上,重视数据的 采集,但是在数据算法和Role±比较传统。对监控系统简化抽象下,传统监控 可以大致分为三个过程:数据采集、数据存储、响应处理。OWL监控在传统监 控基础上,增加了 Algorithm模块,支持复杂的算法规则报警,如下图所示:
监控数据采集
Data Collection就是数据采集,这里指的数据不光是基础硬件的指标,也 可以是业务指标。下面介绍两个实例。
第一个例子是主机硬盘状态的采集:
下面的数据采集中第一列是硬盘设备标号,第二列是硬盘的状态,在监控的 这个层面,•切都是metric,不同的层级可以抽象到不同的metric,结合metric + timestamp + tagkl + tagvl... + tagkN + tagvN,这样针对相同的 metric 去加 tag,用来标示数据,方便后期的查询。
.1
_12M
:0,
%
1
13n
:0,
M0
1
10M
:0,
M0
1
11M
:0,
°0
1
4”:
0,
M0
1
5”:
0,
M0
1
6”:
8,
M0
1
7M:
0,
M0
1
0n:
0,
“e
1
lr,:
0,
n0
1
2M:
0,
Me
1
3n:
0,
“0
1
8”:
0,
r,0
1
9W:
0
«xxx
x