一、监控系统的架构体系
大家都知道,监控系统由三大部分组成,一,监控数据采集;二,监控告警分析;三,监控数据报表、可视化。在市面上常见的开源监控软件,或者商业监控软件中,均有很好的实践和体现。
监控系统的架构,通常分为无代理模式C/S和有代理模式 C/P/S,当然也有主主节点模式。
二、监控系统的核心功能
下面谈谈监控数据的采集问题
数据的收集方式,可以分为主动模式,被动模式,投递模式。分别指的是:
- 主动模式:从监控中心去客户端获取数据
- 被动模式:从客户端向监控中心发送数据
- 投递模式:向监控中心push数据,这种模式,一般适合于时序数据库的监控系统,如OpenTSDB,influxDB,Promethus,在业内均有最佳实践
数据来源可以分为:
- 基础架构数据,服务器,OS,网络等层面,俗称主机层面。
- 业务应用数据,如数据库,中间件,web服务等软件应用层面
- 日志层面数据,如各种应用的日志,这有日志领域的专门系统来实现,但和监控系统也是有相互关联的。
- 代码层面数据,如应用性能监控,针对代码运行的崩溃,错误日志,业务流的跟踪,面对的对象,通常是针对开发者。
- 舆论层面数据,如社交网络,新闻评论,博客聊天,这类数据通常由爬虫角色扮演,通常用于用户的评价,其范围有超过运维监控系统本身,但业界已有不少公司均已实践,通常还是运维来维护。
从监控数据的来源我们看到,凡是对业务有用的数据,我们都可以作为监控数据来源。凡是需要做数据分析的,也需要作为监控数据来源。在这种情况下,监控数据采集,已经不是传统意义的采集,而是融合了各种场景的数据采集,最终汇总为大数据处理,故监控系统的数据来源,已经需要各种专门的agent来做了,因为各种场景下面,其用途和扩展性难以统一。而多种agent的维护成本,以及各种agent相互影响,给运维又带来麻烦。因此有出现了all in one的一个需求,把各种组件的agent统一标准,只安装一个agent的需求逐渐出现。当然业内也有实践做到了这一点。
监控告警分析,其实也是一个比较难的问题,设计到数据分析统计的科学,本文不重点探讨这个问题。下面我们来谈谈监控数据可视化。
三、监控数据可视化的意义
监控数据从采集分析到告警,在业界各种监控系统里面已经做得非常成熟了。而监控数据的可视化,却是在近年兴起发展的,无论是开源产品,还是商业产品,均提供了监控数据可视化的解决方案,使用最为广泛的监控数据可视化产品grafana,可以对接各种监控系统,其数据类型又可以分为多种。
监控数据可视化的意义:
- 直观了然
- 查找数据方便
- 统计分析更容易
- 让监控信息透明化运作
- 让监控信息为业务运行提供数据依据
四、监控数据可视化的实践
监控数据可视化的实践,我们首选是grafana,来看看grafana可以做些什么?
- 可视化
- 告警
- 支持插件
- 开放
- 扩展
虽然grafana也提供了很多比较好的体验,但对Zabbix用户来说,依然不足,我们需要更专业的监控大屏,于是,这个时候OneOaaS的监控大屏产生了。
针对数据分析和可视化的痛点,OneOaaS Monitor在这种背景下面应运而生,为运维监控提供了立体化业务监控平台,在解决开源软件监控界面体验问题的基础上,提供了业务监控的视角,引导运维将监控重心转移到真正的业务监控中。
通过监控数据可视化,为运营人员,运维人员提供直观的实时的系统运行状态,让复杂的监控里面变得人人都可以看懂。针对监控报表需求,为用户提供报表,数据分析等模块,让用户通过监控系统为业务提供更多有价值的数据。
来看看OneOaaS Monitor都有哪些功能呢?
业务看板
展示业务的流程,如业务流程从前端负载均衡-WEB集群-数据库
基础架构
l 集中展示所有业务平台的运行状态
l 不同颜色标识业务的故障级别
l 展示业务的流程环节
业务状态
监控图表
树形图
http://blog.51cto.com/itnihao/1948788