 PromQL 从入门到精通Counter 类型是单调递增的值,比如机器上某块网卡收到的数据包的总量,是从操作系统启动 之后,就持续递增的,对于这种类型的值,我们通常关注的不是当前值是多少,而是关注增量和 变化率。我们在机器上执行 ifconfig 命令: eth0: flags=4163 PromQL 从入门到精通Counter 类型是单调递增的值,比如机器上某块网卡收到的数据包的总量,是从操作系统启动 之后,就持续递增的,对于这种类型的值,我们通常关注的不是当前值是多少,而是关注增量和 变化率。我们在机器上执行 ifconfig 命令: eth0: flags=4163- mtu 1500 inet 10.206.0.16 4 5 6 7 8 而对于监控数据采集器而言,一般是周期性运行的,比如每 10 秒采集一次,每次采集网卡收 到/发出的包这个数据的时候,都只能采集到当前的值,就像执行 ifconfig 命令,每 10 秒执行 一次,每次都看到一个巨大的当前值,而且一次比一次大。如果采集器不做计算,把这个值原封 不动上报给监控服务端,那计算增量、计算速率这个需求,就要放到服务端来实现了,所以服务 如果我们认为内存可用率小于60就是有问题的,想找出所有有问题的数据,只要在 promql 中 拼上 < 60 即可: 1 如上的方法,其实就是告警引擎的核心逻辑。告警规则里会要求用户配置promql以及执行频 率,告警引擎就会根据执行频率周期性执行,每次执行的时候就是拿着promql去查询,promql 中带有阈值,即上例中的 <60,所以如果所有机器的内存可用率都很高,比如维持在80~90, 那这个promql是不会返回 0 码力 | 16 页 | 2.77 MB | 1 年前3
 告警OnCall事件中心建设方法白皮书
确如此,这里我分享一下我个人的做法,希望对你有所启发。 每个规则都应该对应具体的 Runbook Runbook 就是告警处理手册,也就是告警触发之后,应该细化排查哪些方面,按照一个什么方式执行动 作,应该有一个手册参考。如果告警发生之后没有后续动作,那这个告警的意义就不大了。在 Nightingale 的告警规则配置页面,可以看到一个专门的 Runbook 配置,Grafana 的告警配置页面, Runbook,但是有些告警规则产生的告警确实没有那么紧急,有些只是想作为一个通知,好像又确实难以 对应一个固定的 Runbook。 针对这两种情况,我的做法是:不紧急的告警,也必须要有动作,虽然这个动作可能不是立马执行处理, 但至少要创建个低优先级的工单之类的,或者提高告警阈值,等问题严重一些再告警。对于只是想通知一 下的告警,其实都不算告警,只能看作是一种另类的报表和巡检手段,这样的“告警”就按照报表和巡检0 码力 | 23 页 | 1.75 MB | 1 年前3 告警OnCall事件中心建设方法白皮书
确如此,这里我分享一下我个人的做法,希望对你有所启发。 每个规则都应该对应具体的 Runbook Runbook 就是告警处理手册,也就是告警触发之后,应该细化排查哪些方面,按照一个什么方式执行动 作,应该有一个手册参考。如果告警发生之后没有后续动作,那这个告警的意义就不大了。在 Nightingale 的告警规则配置页面,可以看到一个专门的 Runbook 配置,Grafana 的告警配置页面, Runbook,但是有些告警规则产生的告警确实没有那么紧急,有些只是想作为一个通知,好像又确实难以 对应一个固定的 Runbook。 针对这两种情况,我的做法是:不紧急的告警,也必须要有动作,虽然这个动作可能不是立马执行处理, 但至少要创建个低优先级的工单之类的,或者提高告警阈值,等问题严重一些再告警。对于只是想通知一 下的告警,其实都不算告警,只能看作是一种另类的报表和巡检手段,这样的“告警”就按照报表和巡检0 码力 | 23 页 | 1.75 MB | 1 年前3
共 2 条
- 1













