监控不只是为了处理故障

Posted by Yancy on 2017-04-05

有一种普遍的想法认为监控只是在系统出错的时候能够发出报警,我们一直相信,监控系统的方方面面给予我们洞察业务内部机制的能力,并驱动我们做出决策。

不同的人有不同的监控方式,手动查看日志,接受报警或者24x7值守查看各种图表。不管你用那种方式,最重要的是及时收到报错和警告。
但是监控其实能做的更多。

监控不止用于故障时候发报警

监控系统不应该只是告诉你“这有一个问题”,它也要帮助你排查问题出现的原因,你不只是想在服务变慢的时候收到报警,你其实想知道过去几小时流量是否增加了,机器是不是宕机了,后端服务器是不是变慢了或者内部执行时间变长了。


在你的应用中集成监控模块

做为报警和排错重要手段,监控要在你的架构体系中拥有核心位置。要集成监控工具在你的所有代码逻辑中,而不仅仅是在边缘区域添加一点。跟踪每个请求提交api需要多少组件,以便你在设计新的存储系统是否能够知道要处理多少数据,跟踪内存的命中率,以便你能度量它们随着流量模式变化的规律,甚至分解到memcached中来节省内存和提高命中率。跟踪用户命中你的业务逻辑的”慢路径“,以便你知道它什么时候可以更快,并且当新的功能使用”慢路径“的时候,你已经准备好了让它”延迟命中“。
在你的代码内部,做这样大量的细节工作,可以让你前进的更快,技术和产品决策会受益良多,根本上提升了你的效率。这就是监控的意义所在,监控不只是为了处理故障。

原文 https://www.robustperception.io/monitoring-not-just-for-outages/

交流学习:

🐧 Linux shell_高级运维派: 459096184 圈子 (系统运维-应用运维-自动化运维-虚拟化技术研究欢迎加入)
🐧 BigData-Exchange School : 521621407 圈子(大数据运维)(Hadoop开发人员)(大数据研究爱好者) 欢迎加入

相应Bidata有内部微信交流群互相学习,加入QQ群有链接。