Prometheus 与 nodata 告警

本文分析了现代监控系统如Prometheus在nodata告警方面的挑战和必要性,探讨了单一维度、多维度正交及更一般多维度的nodata告警触发器实现方法,强调了nodata告警在确保监控系统有效性中的重要性。
摘要由CSDN通过智能技术生成

文章来源于上海零米信息技术有限公司(OpsMind),作者:OpsMind CEO 韩拓。业务咨询可添加微信:pr836733262

背景

随着云原生和高动态服务端的发展,在运维领域,以 Prometheus 为代表的现代时间序列存储正在加速替代以 Zabbix 为代表的传统监控系统。运维领域在享受时间序列技术发展红利的同时,也面临时间序列管理思路上的转变和监控系统实际应用的上一些难点 —— nodata 告警便是其中之一。nodata 告警是传统监控系统的必备功能,但却缺席了几乎所有现代时间序列存储实践,这给运维监控带了诸多缺陷。本文尝试分析其中原因,并给出一些可能的解决方法。

nodata 告警触发器的特殊性与必要性

nodata 告警触发器(Trigger)与普通告警触发器相比具有原生的特殊性。普通告警触发器的作用是对一组监控指标(Metric)的过滤,通常是基于数值大小的过滤。

如果存在如下表示的监控数值集合 M {M} M
M = { m 1 , m 2 , . . . , m n } {M={ \left\{ {m\mathop{ {}}\nolimits_{ {1}},m\mathop{ {}}\nolimits_{ {2}},...,m\mathop{ {}}\nolimits_{ {n}}} \right\} }} M={ m1,m2,...,mn}
告警触发器 T g t 100 {T\mathop{ {}}\nolimits_{ {gt100}}} Tgt100 可对集合 M {M} M 中的元素做『大于 100』的过滤
T g t 100 ( M ) = { x ∣ x ∈ M , x > 100 } {T_{ {gt100}}{ \left( {M} \right) }={ \left\{ {x \left| x \in M,x > 100\right. } \right\} }} Tgt100(M)={ xxM,x>100}
普通告警触发器触发的告警集合 A {A} A
A = T g t 100 ( M ) A=T_{gt100} (M) A=Tgt100(M)
某个普通告警触发器作用于某组监控数值后,产生普通告警集合的过程如上文所述。nodata 告警触发器的工作需要引入额外的全集 U {U} U
U = { m 1 , m 2 , . . . , m n ′ } U=\{m_{1},m_{2},...,m_{n^ \prime }\} U={ m1,m2,...,mn}
nodata 告警触发器 T n o d a t a T_{nodata} Tnodata 对集合 M {M} M 求绝对补集
T n o d a t a ( M ) = { x ∣ x ∈ U , x ∉ M } T_{nodata}(M)=\left\{ x|x\in U,x\notin M \right\} Tnodata(M)={ xxU,x/M}
nodata 告警触发器触发的告警集合 A n o d a t a A_{nodata} Anodata
A n o d a t a = T n o d a t a ( M ) = M ˉ A_{nodata}=T_{nodata}(M)=\bar{M} Anodat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值