根据多年和运维打交道的经历,我发现,运维常常让监控变得无效。。。
1.我的监控故事
我做过两年多的运维工作,后面就转做运维平台开发了,也一步步看着监控系统越来越没用。
1.1 有用的监控
当我做运维要负责oncall时,我一直认为监控系统做的还可以,并不是因为做了太多事情,而是因为运维的业务还是单体应用,也没有太多的监控需要加。
记得那会公司还是用Nagios(估计新人已经没多少人知道了),不过监控的维护工作着实费劲。后面我就开始研究zabbix,最大的好处就是它可以discovery&自动添加监控。后面我又搭了一套ELK,把业务日志都收集到一起,监控就齐活了。 由于没有添加太多告警,那会的每个告警基本都得处理,最常见的问题就是百度来爬数据,我有一套屡试不爽的处理流程: 1.看指标:如果是xx业务的负载高, 有90%的概率是爬虫导致的 2.看日志:在kibana上看访问记录,找出topx的IP段 3.封访问:用iptables封掉
这就是我唯一一段的运维监控经历。由于业务简单、监控原始反而让我感觉告警是有用的。
1.2 无用的仪表盘
1.2.1 疯狂自动化
当我转运维开发后,我发现运维对监控的需求也变了。因为自动化能力的提升,各种开源的监控系统逐步完善,运维就开始在平台里面拼命的加各种自动化的需求,对于监控系统就是自动的给业务绑定各种监控模板、告警模板、grafana仪表盘
结果也可想而知,由于告警实在太多,运维直接屏蔽了公司的告警短信。大部分情况下都是靠业务侧发现问题,运维再介入排查。
1.2.2 好看而没用的仪表盘
由于收集的指标数据实在太多,为了可以给业务侧输出