【虾米SRE实践:监控体系升级之路1】 监控在服务端运维中起着至关重要的作用,能够及时发现并定位应用运行中的问题。随着虾米音乐服务端的不断发展,Java应用数量达到上百个,核心业务应用也有数十个,监控配置的差异性逐渐显现。有些应用配置的监控详细,有些则疏于管理,甚至有些监控项已过时,无法满足当前业务需求。为了改善这种情况,虾米SRE团队着手进行监控系统的治理和升级。 1. 报警原因分析: - 程序Bug:如空指针异常、频繁FullGC等,可能导致应用性能下降。 - 上游依赖问题:上游接口故障,影响下游应用的接口响应时间和调用成功率。 - 单机故障:主机负载过高、CPU飙升,引发超时、线程池满等问题。 - 中间件故障:如Cache、DB抖动,导致RT增长、超时增多。 2. 监控优化策略: - 故障监控:当这类监控报警时,表示存在故障。主要关注接口的RT和成功率,以识别故障来源。通过监控接口的成功率、RT和错误码,可以快速定位问题。对于客户端接口,使用Top 75% RT监控,以反映用户端的体验。 - 基础监控:包括服务器的异常、错误和消息异常监控,对服务器上的Exception和Error进行跟踪,以便快速发现程序bug。 - 通用监控:涵盖各种通用的系统和应用指标,如Load、CPU、内存等,确保全面了解系统状态。 在故障监控中,除了接口监控,还增加了针对应用的异常、错误和消息异常监控,以快速响应程序问题。同时,针对单机故障,配置了HSF(Dubbo)线程池满和HSF(Dubbo)超时监控,以识别由单台机器问题导致的服务异常。 3. 监控体系架构: - 故障监控:重点关注接口的性能和稳定性,通过异常、错误和消息异常监控快速发现程序错误。 - 基础监控:关注服务器的硬件资源和运行状况,如Load、CPU、内存等。 - 通用监控:适用于多种环境和应用的监控,提供标准化的指标监控。 通过上述监控体系的升级,虾米SRE团队能够更有效地管理和处理报警,减少误报和麻木感,提高问题定位的速度和准确性,从而保障服务的稳定性和用户体验。未来,随着技术的不断进步,监控体系还将持续演进,以适应更复杂、更动态的业务环境。
剩余8页未读,继续阅读
- 粉丝: 21
- 资源: 311
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言-leetcode题解之28-implement-strstr.c
- C语言-leetcode题解之27-remove-element.c
- C语言-leetcode题解之26-remove-duplicates-from-sorted-array.c
- C语言-leetcode题解之24-swap-nodes-in-pairs.c
- C语言-leetcode题解之22-generate-parentheses.c
- C语言-leetcode题解之21-merge-two-sorted-lists.c
- java-leetcode题解之Online Stock Span.java
- java-leetcode题解之Online Majority Element In Subarray.java
- java-leetcode题解之Odd Even Jump.java
- 计算机毕业设计:python+爬虫+cnki网站爬
评论0