CMDB 在统一监控平台中是很重要的一环,监控源虽然种类繁多,但是他们大都有着关系,如
应用运行在运行环境中,应用的正常运行又依赖网络和存储设备,一个应用也会依赖于其他
的应用〔业务依赖,一旦其中任何一个环节出了问题,都会导致应用的不可用。CMDB 除了存
储软硬件资产外,还要存储这样一份资产间的关联关系,一个资产发生了故障,要能根据这个
关系迅速得知哪些其他的资产会被影响,然后逐一解决问题。
系统监控的部分技术栈如下图所示,监控技术众多,这里自然不可能列出所有的技术,选择了
部分比较经典、受欢迎的开源技术。
系统监控不同于日志监控,有很多开源软件把数据库采集、数据存储、数据展现、事件告警
的任务都完成了,所以对于系统监控的技术栈中,将这些开源软件暂且排除,待后面章节再进
行讲解。此处主要关注于如何自建一个统一系统监控平台。
系统监控数据采集一般分为两种方式:主动采集、客户端采集。主动采集一般是通过 SNMP 、
SSH 、Telnet、IPMI、JMX 等手段进行远程采集,客户端采集则是需要在每一个要监控的主
机中部署一个客户端进行数据采集并发送到远程服务端进行接收。
和日志监控一样,在面临海量监控时,考虑到网络的压力和数据处理的瓶颈,可以在数据存储
前先经过一层数据缓冲,将采集到的数据先放置到消息队列中,然后再从分布式队列中读取
数据并存储。如果数据量不大的话,则可以不考虑此层。
数据存储: