通用性能指标监控系统打造完工

    服务器性能指标监控通常由IT负责,所以之前并没有打造自己的性能指标监控的考虑,最近需要做MongoDB的性能指标监控,也考虑到直接使用IT的监控系统的诸多不使得的地方,所以在这次花了些时间,直接打造了一款通用的性能指标监控系统。

    整个监控系统分成三部分:数据采集、监控报表、监控报警

数据采集:

    数据采集使用集中采集方式,在一台服务器上采集所有需要监控的服务器信息,使用自己开发的程序,调用标准的命令(Powershell、sqlcmd、mongo、mysql、plink)做数据采集,采集的数据结合正则表式分析形成最近的性能指标数据。

    由于采集是直接调用命令,所以可扩展性非常高,目前采集的对象包含Windows、Centos、SQL Server、MySQL、MongoDB,未来可以根据实际情况扩展,不用做程序改动。

    使用 iostat 实现 Centos 性能采集的配置片断大概是这样

通用性能指标监控系统打造完工

监控报表:

    这个不用自己动手,直接用 Grafana 就好了,效果完美

通用性能指标监控系统打造完工

监控报警:

    自己动手写的程序,支持邮件和钉钉。支持三种报警规则:超过x值达x次、最近1次超过x值、x次持续增长超过x值。

写在最后:

    之前有考虑过 Peometheus + 自定义 Exporter 做集中数据采集,发现 CPU 开销较大,而且要配合它的规则,实现起来没有自己写的这个简单灵活,重点是操作系统+数据库实例加起来有近200,自己写的采集跑起来完成没压力。

【个人微信公众号 ZJCXC,欢迎围观】