[Day 4] SRE - 保持精简的监控

监控

今天来介绍监控的四个黄金讯号、如何简化以及如何维护。

四个黄金讯号

  • 延迟
  • 流量
  • 错误
  • 饱和度

延迟

请求的结果分两种
成功的请求与失败的请求
「慢」的错比「快」的错还要糟糕。


流量

  • 以Web Server来说,此监控讯号通常主要为同时请求数量。

  • 以串流服务来说,可以能为网路速度或同时连线数。

  • 而以DB来说可能次每秒写入量或每秒读取量。


错误

请求失败率有分

  • 显式失败 ex: http code 500

    显式失败通常可以直接在负载平衡器上监控得到。

  • 隐式失败 ex: http code 200,但有回错误内容

    隐式失败需要服务写log或者有log收集机制 ex: stackdriver, ELK ... 才能完全侦测得到。
    而策略因素所致的失败率搜集监控也可与隐式失败同样的做法。

  • 策略因素所致的失败 ex: 超过3秒内就算请求失败的请求失败


饱和度

自己服务系统的饱和度代表依照目前你的硬体以及设定的环境参数等,还可以承受多少。换句话说以现在疫情来说一家餐饮店的内用人数要符合规定又可以正常服务客人的人数可以多少,就代表那一家店的目前饱和度有多少。

如果设定监控的这四个指标在服务异常时,都没有触发异常警报的话,就需要全面检讨是否在哪个监控设定的指标内需要重新思考。

简化

在监控系统时简化是非常重要的,监控系统可能会变得越来越复杂,最後导致难以变更不好维护。
要记住下列原则:

  • 可预测性强,可靠性高

  • 不常用的资料或设定要定时清除

  • 只收集讯息,但没在监控仪表板上,发送警报的规则,应该要定时清除。

依照以上的原则

维护

监控系统应该要与你的硬体、软件、整个环境一同改变,当警报触发,就应该要去查找根源解决问题,
如果无法完全根除,那麽这个警报的处理就要列SOP并尝试着自动化。

大家可以慢慢体会,监控的重点在於讯号、简化、以及维护。/images/emoticon/emoticon07.gif


<<:  从零开始学3D游戏开发:入门程序实作 Part.6 用脚本计算分数

>>:  Material UI in React [ Day 11] Date & Time picker 日期时间输入

.NET Core第23天_ImageTagHelper的使用

ImageTagHelper:是针对HTML原生<img>的封装。 使<img>具备hash val...

成为工具人应有的工具包-26 ShellExView

ShellExView 今天来认识的小工具是看 Shell 的(猜测 ShellExView She...

[day26] - Angular Component to Web Component

後来发现 , 之前说明了 Vue . React Component 如何变成 Web Compon...

好用进销存系统EZTOOL

我们是一间批发机械进口商,开业时间约2年,一直以来就只有一位行政人员。近期实在认为需要软件来管理公司...

Day27 - 子状态 or 子状态机?与外部沟通!概念简介: invoke services v.s. spawn actors in XState

先前我们介绍过了阶层式状态,让我们能将一个状态向下描述得更精确,比如以之前的 input 元件状态机...