降噪:这涉及到告警的一个敏感度问题,某些阈值怎么设置,通知到谁,怎么通知,不同等级的告警采用什么方式通知,都有很多需要考量的方面。
监控体系监控体系是个很庞大复杂的体系,从技术角度来说,可以看下面这张图:
更多关于监控分级体系的内容,可参考我之前的博客:性能测试从零开始实施指南-性能监控篇
工具漫谈
这一部分,聊聊我自己使用过或者了解过的一些监控工具,就是个漫谈部分。
刚开始从事测试工作时候,公司还有部分服务是Windows server服务器+SQL server的数据库。
那时候的监控,基本就是Windows自带的各种计数器,界面是很直观,但放在现在的时间点,应该只有极少数公司有这种情况。
后来在银行接触到运维同学搭建的Zabbix以及基于Prometheus+grafana搭建的一套监控。
zabbix从我个人角度来说,是个综合性质的监控工具,够全面,但只适合中小型企业。
当需要处理的数据和定制化需求较强时,他会有越来越明显的短板。
Prometheus体系算是监控领域很全面灵活的,支持多种数据源,灵活配置可定制化,很多企业都在使用这套体系,但到了一定的层级维度,灵活往往会变成桎梏。
上家公司最初接触到的是听云,高度企业级商业监控工具,但成本和灵活度又是另一个维度的考量因素。
后续运维和监控团队的同学陆续介入了pinpoint、cat、Prometheus、skywalking、jaeger,arthas,再演变到现在的二次开发封装的一站式监控平台。
pinpoint的采样和链路追踪做的是比较友好的,但太灵活,反而在某些阶段,不是最优解。
cat是美团开源的监控产品,但也有部分缺点,比如:监控环比只有分钟级,缺少更细的维度,界面不太友好。
skywalking是需要深度开发和改造,才能很好的应用于企业级监控需求的,它的UI操作部分,有些会显得很迷。
jaeger是个很好用的轻量级链路追踪工具,使用手感不错,建议尝试。
arthas是阿里开源的java问题定位和分析工具,谁用谁知道有多爽。
最后,综合来说,每个公司在不同阶段,对监控的需求和痛点是不一样的,技术栈的选型又受限于做监控的团队本身的一些因素。灵活使用工具,提高效率解决问题,才是技术人最该关注的。