告警OnCall事件中心建设方法白皮书
但至少要创建个低优先级的工单之类的,或者提高告警阈值,等问题严重一些再告警。对于只是想通知一 下的告警,其实都不算告警,只能看作是一种另类的报表和巡检手段,这样的“告警”就按照报表和巡检 的逻辑来处理,比如把这类“告警”发到一个单独的邮件组或者单独的聊天群组,平时都不用关注,只要 每天早上上班或晚上下班之前稍微看一眼就行,这样就可以减少打扰。 制定了这个原则之后,如果大家不遵守怎么办呢?还是有很多告警没有对应的 警。但是具体怎么分级,却没有一个行业共识,大家各做各的。这里我也分享一下我的理解,你可以参考 借鉴。 首先,不同级别的告警应该对应不同的处理逻辑,这样分级才有意义,比如通知渠道不同,通知范围不 同,或者介入处理的人的范围不同,处理时效不同 ,如果某两个级别对应完全一样的处理逻辑,就可以 合并成一个级别。 我的做法是把告警分成 3 个级别。 级别 通知渠道 说明 Critical 电话、短信、即时消息、邮件 理才可以。对于某个故障,可能同时有多个告警 事件产生,大家基于一个统一的故障协同,而不是基于一堆事件分别协同,这就需要把这多个事件收敛成 一个故障,下面我们来聊一下这个收敛逻辑。 告警收敛逻辑 一般收敛逻辑是三级收敛,event -> alert -> incident。举个例子,最原始的告警事件,比如 host1 在 timestamp1 产生了一条 cpu_usage_idle0 码力 | 23 页 | 1.75 MB | 1 年前3PromQL 从入门到精通
运算符 PromQL 支持基本的算术运算符和比较运算符,可以对不同的即时向量做运算,这为监控系统 带来了巨大的进步,算术运算符让很多计算不需要在采集端做了,可以轻易挪到服务端,而比较 运算符则为告警逻辑提供了支撑。 算术运算符 + (addition) - (subtraction) * (multiplication) / (division) % (modulo) mem_available 和 mem_total,我们仍然可以使用 promql 计算出可用率指标: 逻辑上,是先根据 mem_available{app="clickhouse"} 找到相关指标数据,会找到5条,再根 据 mem_total{app="clickhouse"} 也能找到5条,二者相除的逻辑姑且可以理解为,循环遍历 mem_available 的5条记录,对于每一条,去 mem_total lickhouse"} 的结果: 如果我们认为内存可用率小于60就是有问题的,想找出所有有问题的数据,只要在 promql 中 拼上 < 60 即可: 1 如上的方法,其实就是告警引擎的核心逻辑。告警规则里会要求用户配置promql以及执行频 率,告警引擎就会根据执行频率周期性执行,每次执行的时候就是拿着promql去查询,promql 中带有阈值,即上例中的 <60,所以如果所有机器0 码力 | 16 页 | 2.77 MB | 1 年前3
共 2 条
- 1