本文转载自微信公众号“俞大胆的推特”,作者俞大胆。转载本文请在twitter上大胆联系Yu公众号。我们有两个监控系统,zabbix和promethous。其实了解监控的本质是非常重要的。我刚看到这本书?。第一章很好的描述了监控的定义,下一部分会解释。监控是衡量和管理技术系统的工具和流程,但更重要的是,监控将系统和应用程序产生的指标转化为相应的商业价值。监控不仅可以检测和解决故障,还可以深入了解关键产品和技术决策并衡量项目是否成功。监控的一些反模式1:事后监控,将监控和维护工作作为应用程序的增值组件而不是核心功能。2:机械监控例如监控主机的CPU和内存,但不监控应用程序是否正常运行等关键服务。一个自上而下的监控系统应该按照价值体系来设计,比如业务逻辑>应用程序>操作系统。3:不准确的监控4:不频繁的监控频繁的监控可以:识别故障和异常提供更细粒度的数据以满足响应时间预期。您不希望用户提出错误。尽量保存长期监测数据,做长期趋势图。5:缺乏自动化和自助服务监控系统之所以做的不好,可能是难以实施。比如开发人员很难做监控。此外,不成熟的监控系统可能需要人工维护,这可能会导致监控系统本身出现问题。所以一个好的监控系统:从全局的角度,依次从业务层进行监控辅助故障诊断基础设施是开发者的信息来源内置于应用程序设计、开发和部署的生命周期中。监控机制1:探测和内省Introspection将事件、日志和指标发送到监控工具。探测是查询应用程序的外部特征,比如端口是否打开。2:pulling和push是指将数据发送给监控系统,或者监控系统主动拉取数据3:监控数据的类型数据主要有两种形式:(1)指标,比如promethous是典型的事件序列数据存储,使用应用指标的状态。(2)日志。日志数据量大,一般都是文本事件。它们对故障诊断最有用。比如ELK擅长日志的收集和管理。监控服务水平来源于谷歌的经验,从上到下:产品设计软件开发能力规划测试发布事后总结/问题根源分析紧急事件处理监控
