SRE方法论之监控设计

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
可观测监控 Prometheus 版,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 监控系统的四个黄金指标是:延迟(Latency)、流量(Traffic)、错误(Errors)、饱和度(Saturation)

监控的4个黄金指标

《SRE:Google运维解密》中提出,监控系统的四个黄金指标是:延迟(Latency)、流量(Traffic)、错误(Errors)、饱和度(Saturation)。

  • 延迟:服务处理某个请求所需要的时间。在微服务中通常提倡快速失败,服务不要憋着,这些延迟请求要尽快反馈给开发人员分析,这些缓慢的错误会消耗系统性能,所以需要对这些错误延迟进行长期跟踪处理。
  • 流量:当前系统的数据流入流出的数据统计,用来衡量服务的承载能力,不同系统的流量有不同的含义,比如对web服务来说,流量指每秒的 HTTP 请求数。
  • 错误:当前系统发生错误请求的数量,一般单纯看数量不太直观,经常会对错误进行计算处理,换算成错误率。
  • 饱和度:饱和度用来衡量当前服务的承载能力,一般是使用率和空闲率。如果系统主要受内存影响,那就主要关注系统的内存状态,如果系统主要受限与磁盘I/O,那就主要观测磁盘I/O的状态。因为通常情况下,当这些资源达到饱和后,服务的性能会明显下降。同时还可以利用饱和度对系统做出预测,比如,当前内存使用率已经达到 80% ,很快就要满了,这时就可以发出告警及时处理。

监控指标设计原则

长尾问题

假设一个web服务的http请求平均耗时为100ms,单看这个数据觉得服务性能没问题,但可能有1%的请求耗时超过5s,而这1%的请求就有可能引发用户投诉或其它风险。由于是计算的平均值而容易被忽略,最好的方法是将请求延迟分段统计。

采用合适的精度

监控数据的高频率收集、存储、分析成本很高,要根据监控对象以及监控目标合理设置监控周期、监控频率等。

减少告警误报

现在很多公司抱着“宁可错杀一万,也不能放走一个”的原则制定监控标准,这样做的后果就是运维人员疲于奔命,时间一长就会造成"狼来了"的后果。增加新的监控规则时,可以遵循以下原则:

  • 收到紧急告警时,应该立即需要进行某种操作。每天只能进入紧急状态几次,太多就会导致“狼来了”效应。
  • 紧急告警都应该是可以具体操作的。
  • 紧急告警的回复都应该需要某种智力分析过程。如果某个紧急告警只是需要一个固定的机械动作,那么它就不应该成为紧急告警。
  • 紧急告警都应该是关于某个新问题的,不应该彼此重叠。

监控系统建设原则

以上关于监控指标的讨论累加起来就会形成一个复杂的监控系统。

监控系统尽量简化

复杂是没有止境的,过于复杂的监控系统维护起来麻烦,而且经常出问题。

  • 那些最能反映真实故障的规则应该越简单越好。
  • 那些不常用的数据收集、汇总,以及告警配置应该定时删除。
  • 收集到的信息,但是没有暴露给任何监控台,或者被任何告警规则使用的应该定时删除。

监控系统应作为一个独立的系统运行

保持监控系统相对独立、清晰简单。和其他系统保持松耦合,可以采用API来收集性能数据。

监控系统需要长期维护

监控系统需要跟随不断演变的软件一起变化,软件经常重构,负载特性和性能目标也经常变化。现在的某个不常见的、自动化比较困难的告警可能很快就会变成一个经常触发、需要一个临时的脚本来应对的问题。这时,应该去寻找和消除背后的根源问题:如果这种解决办法不可行,那么这条告警的应对就必须要完全自动化。

相关文章
|
存储 运维 监控
什么是 SRE?一文详解 SRE 运维体系
什么是 SRE?一文详解 SRE 运维体系
2200 1
|
设计模式 消息中间件 缓存
【工作学习方法论 一】成体系的学习方法论
【工作学习方法论 一】成体系的学习方法论
326 0
|
7月前
|
数据采集 存储 监控
《数据资产管理实践》方法论梳理
《数据资产管理实践》方法论梳理
411 58
|
7月前
|
存储 运维 监控
「笔记」某移动 SRE 运维体系交流
「笔记」某移动 SRE 运维体系交流
|
运维 监控 搜索推荐
SRE方法论之服务质量目标
为了量化客户对服务可靠性的期望,找到客户对可靠性满意的点,我们需要制定针对用户的服务质量目标,并且努力去达到这个质量目标。在这个过程中,我们需要定义一些服务质量指标(SLI)、服务质量目标(SLO),以及服务质量协议(SLA)。这三项分别是指该服务最重要的一些基础指标、这些指标的预期值,以及当指标不符合预期时的应对计划。
|
Cloud Native 前端开发 IDE
「技术人生」第10篇:如何做研发效能提升(即指标体系建设过程回顾)
本文作者将给大家提供一些简单的容易实操的方法,能够让所有人都知道什么是效能的提升,如何提升个人的效能,如何提升团队的效能。
1665 12
「技术人生」第10篇:如何做研发效能提升(即指标体系建设过程回顾)
|
运维 安全 Devops
SRE是什么,与传统运维有什么不同?
SRE就是在用软件工程的思维和方法论,通过设计、构建自动化工具完成以前由运维工程师手动操作的任务
|
Devops
DevOps研发模式下「产品质量度量」方案实践
DevOps研发模式下「产品质量度量」方案实践
686 0
DevOps研发模式下「产品质量度量」方案实践
|
存储 监控 前端开发
深入前端研发效能治理:数据化运营思路及其实践
数据中台前端研发无不让人厚重真实地感受到“唯一不变的是变化”。拿集团的数据资产服务平台来说,业务上经过两年的发展,已由单一的数据管理和使用平台发展成了集团具有一定规模和影响力的全域数据要素交易所,而从前端技术侧,仅从代码提交报表就能明显看到,今年的代码提交量平均是去年的 2-3 倍,可见其业务扩张速度之快。
深入前端研发效能治理:数据化运营思路及其实践
|
运维 Kubernetes Cloud Native
高效研发运维体系构建的流程和方法论
云计算产品大多都会与云原生发生关联,云原生正在重塑整个软件的生命周期。但到底什么是云原生?云原生带来的最大技术创新和未来机会是什么?围绕云原生,是否可以构建出一套云上的开发&运维体系,打造新一代研发平台,实现研发效率的最大化?
高效研发运维体系构建的流程和方法论
下一篇
DataWorks