SRE方法论之监控设计

简介: 监控系统的四个黄金指标是:延迟(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 运维体系
4000 1
|
3月前
|
人工智能 运维 监控
让天下没有难查的故障:2025 阿里云 AI 原生编程挑战赛正式启动
本次大赛由阿里云主办,云原生应用平台承办,聚焦 Operation Intelligence 的智能运维(AIOps)赛道,为热爱 AI 技术的开发者提供发挥创意和想象力的舞台,借助 LLM 强大的推理能力与标准化整合的多源可观测数据,找到 AI 应用在智能运维(AIOps)场景上的新方式。
489 31
|
SQL 存储 监控
深入可观测底层:OpenTelemetry 链路传递核心原理
本文会系统讲解链路传递一些基本概念,同时结合案例讲解链路传递的过程。
3396 1
深入可观测底层:OpenTelemetry 链路传递核心原理
|
7月前
|
人工智能 供应链 安全
MCP Server的五种主流架构与Nacos的选择
本文深入探讨了Model Context Protocol (MCP) 在企业级环境中的部署与管理挑战,详细解析了五种主流MCP架构模式(直连远程、代理连接远程、直连本地、本地代理连接本地、混合模式)的优缺点及适用场景,并结合Nacos服务治理框架,提供了实用的企业级MCP部署指南。通过Nacos MCP Router,实现MCP服务的统一管理和智能路由,助力金融、互联网、制造等行业根据数据安全、性能需求和扩展性要求选择合适架构。文章还展望了MCP在企业落地的关键方向,包括中心化注册、软件供应链控制和安全访问等完整解决方案。
3254 155
MCP Server的五种主流架构与Nacos的选择
|
8月前
|
监控 Go 数据处理
阿里云可观测 2025 年 3 月产品动态
阿里云可观测 2025 年 3 月产品动态
381 23
|
4月前
|
人工智能 移动开发 前端开发
AI驱动前端重构:10天完成3000+行复杂组件的跨端复用实践
本文分享了我们团队一次极具代表性的实践:面对一个代码量超3000行、包含数十个平台适配分支的“规格面板”核心组件,我们引入AI开发工具 Cursor 结合 Claude 模型,成功在10天内完成了向ICE架构的全面重构,实现了跨端复用。
AI驱动前端重构:10天完成3000+行复杂组件的跨端复用实践
|
8月前
|
监控 测试技术 Go
告别传统Log追踪!GOAT如何用HTTP接口重塑代码监控
本文介绍了GOAT(Golang Application Tracing)工具的使用方法,通过一个Echo问答服务实例,详细展示了代码埋点与追踪技术的应用。内容涵盖初始化配置、自动埋点、手动调整埋点、数据监控及清理埋点等核心功能。GOAT适用于灰度发布、功能验证、性能分析、Bug排查和代码重构等场景,助力Go项目质量保障与平稳发布。工具以轻量高效的特点,为开发团队提供数据支持,优化决策流程。
548 89
|
弹性计算 Kubernetes 数据处理
KubeRay on ACK:更高效、更安全
阿里云 ACK 以托管组件化的方式给客户提供快速搭建Ray集群的能力,并通过结合使用阿里云的调度,存储,日志与监控,给用户提供更佳使用体验。
|
6月前
|
人工智能 JSON 自然语言处理
Function AI 工作流发布:以 AI 重塑企业流程自动化
本文介绍了基于函数计算 FC 打造的全新 Function AI 工作流服务,该服务结合 AI 技术与流程自动化,实现从传统流程自动化到智能流程自动化的跨越。文章通过内容营销素材生成、内容安全审核和泛企业 VOC 挖掘三个具体场景,展示了 Function AI 工作流的设计、配置及调试过程,并对比了其与传统流程的优势。Function AI 工作流具备可视化、智能性和可扩展性,成为企业智能化转型的重要基础设施,助力企业提升效率、降低成本并增强敏捷响应能力。
725 28
|
10月前
|
存储 前端开发 数据可视化
Grafana Loki,轻量级日志系统
本文介绍了基于Grafana、Loki和Alloy构建的轻量级日志系统。Loki是一个由Grafana Labs开发的日志聚合系统,具备高可用性和多租户支持,专注于日志而非指标,通过标签索引而非内容索引实现高效存储。Alloy则是用于收集和转发日志至Loki的强大工具。文章详细描述了系统的架构、组件及其工作流程,并提供了快速搭建指南,包括准备步骤、部署命令及验证方法。此外,还展示了如何使用Grafana查看日志,以及一些基本的LogQL查询示例。最后,作者探讨了Loki架构的独特之处,提出了“巨型单体模块化”的概念,即一个应用既可单体部署也可分布式部署,整体协同实现全部功能。
3713 70
Grafana Loki,轻量级日志系统