联系人:杜先生
咨询热线:13666137357
24小时服务热线:13398160530
座机:028-64458994
公司官方网址:www.028hs.com
QQ邮箱:1123090340@qq.com
公司地址:双流区物联二路卧波实业
关于监控我们有很大的兴趣,但是大部分人低于监控的技术是并不清楚地。今天我们就开讲讲关于监控的3大技术特点。传统的监控很多还是在停留在设备、网络、系统相关的监控上,重视数据的采集,但是在数据算法和Role上比较传统。对监控系统简化抽象下,传统监控可以大致分为三个过程:数据采集、数据存储、响应处理。OWL监控在传统监控基础上,增加了Algorithm模块,支持复杂的算法规则报警,如下图所示:
1. 监控数据采集
Data Collection 就是数据采集,这里指的数据不光是基础硬件的指标,也可以是业务指标。下面介绍两个实例。
****个例子是主机硬盘状态的采集:
下面的数据采集中****列是硬盘设备标号,第二列是硬盘的状态,在监控的这个层面,一切都是metric,不同的层级可以抽象到不同的metric,结合 metric timestamp tagk1 tagv1… tagkN tagvN,这样针对相同的metric去加tag,用来标示数据,方便后期的查询。
2. 监控数据存储
监控数据的存储也是一个很有意思的话题,监控数据在数据结构上是很有特色的。仔细观察发现监控数据基本上都是和时间维度相关的,以metric +timestamp的组合形式的数据占了所有监控数据量的大部分,相比而言,多维度的监控数据比较少;如果出现了多维度的监控数据,也可以通过其他的方式绕开处理。RDBMS 由于要考虑数据的关联,所以它在整体数据存储设计上充分考虑了数据的完整性和关系型,同时在 schema设计上还要遵守数据库的几大范式。传统的监控大多数还是使用了RDBMS,但是这造成了性能上和扩展性上的局限性。针对监控数据这样简单的数 据结构,却采用了一套复杂的存储格式。随着近些年各种各样的垂直的。
技术领域对数据的存储不同要求的演变,如Graph database,Time Series Databases等数据库得到了不断发展;监控数据在存储上有了更多的选择,InfluxDB,OpenTSDB,KairosDB都是不错的选择,** 后我们选择了OpenTSDB,这主要是因为TalkingData的大数据基因,Hadoop和HBase在我们的业务系统中大规模使用。从现有的数据 体量上,OpenTSDB能够满足现在的业务要求。简单的总结了一下OpenTSDB的优点:
此外,OpenTSDB支持API查询,可以轻松地和其他系统进行数据对接,也方便其他系统抽取监控相关的数据。 并且,查询方式灵活:查询数据可以使用query接口,它既可以使用get的query string方式,也可以使用post方式以JSON格式指定查询条件。
Algorithm这块是传统监控系统所欠缺的,基本上都是单个指标的大于,小于这样的算法,但是遇到集群或者复杂的指标,就需要自己去增加一些算法,比如多个指标的加和,平均值,top10,历史相似度等。这些算法的引入,可以增加报警的准确度,有效的减少报警数量,让报警变得人性化。 关于报警的算法会在本系列的后续文章进行详细介绍。
简单的介绍一下OWL的整体架构,下面目前的架构是第四个大版本。在研发的过程中,我们也尝试了很多的开源技术,如RRDtools、Graphlite,也踩了很多的技术坑,**后我们整体选择了OpenTSDB,在这个技术栈下面演进了两个版本:
成都监控电视墙报道: