从毕业到现在,本人从事运维已经有三年了,深深地感受到一个良好的监控系统有多么重要,说它是我们运维人员的眼睛,一点也不为过。
一个良好的监控系统可以让我们快速地发现并定位问题,减少宕机时间,提高故障处理速度,减轻运维工作的压力。对我们运维工程师来说,要对监控有深度定制或二次开发的能力,也就是说要将运维的控制权掌握在我们自己手上,我们要很清楚地知道我们applications需要的监控都有哪些,有哪些报错是致命性的,有哪些是不必要的,才可以做到全面的监控管理,从而及时处理故障报警,保证我们的application是持续稳定的。
我一开始加入我们team的时候,监控系统存在着各种问题,有监控不到位,存在盲区,有监控过多,太多无效报警导致运维人员麻木的现象,也有监控系统五花八门,重复监控等问题,这些都是监控管理的痛点。后来我把这些问题反馈给manager,希望我们自己能够二次开发一个监控工具去解决这些问题并提供全面有效的系统监控。
很幸运的是,manager同意了我的提议,让我负责ITRS公司提供的Geneos project,负责整个monitoring tool的部署和配置以及脚本编写和二次开发。现在我们可以使用Geneos做实时监控,自动做一些健康检查,提前发现系统潜在的问题,还可以将数据导入一个特定的数据库为后期的数据分析做准备,这样我们可以通过Geneos后端提供的插件进行脚本编写和录入,导入数据进行故障分析或性能监控和预测。
现在,我们仍然面临着监控的另外一个痛点,那就是监控指标的配置,每个监控指标的报警阈值都是需要我们反复调整才能到达一个理想的状态,所以我们需要收集更多的历史数据,通过脚本录入自动检测出异常点,并能够自动计算出应有的报警阈值。
总而言之,监控系统做好了,我们才能看得清,看得广,看得远,才能及时处理报警,解决系统潜在问题,确保我们的applications能够提供持续稳定的服务。