Prometheus实战篇:Prometheus告警简介

Prometheus告警简介

简介

告警能力在Prometheus的架构中被划分为俩个独立的部分.如下图所示,通过在Prometheus中定义AlertRule(告警规则),Prometheus会周期性的对告警规则进行计算,如果满足告警触发条件就会向Alertmanager发送告警信息

alertManager作为一个独立的组件,负责接收并处理来自Prometheus Server 的告警信息.Alertmanager可以对这些告警信息进行进一步的处理,比如当接收到大量重复告警时能够消除重复的告警信息,同时对告警信息进行分组并且路由到正确的通知方,Prometheus内置了对邮件,Slack等多种通知方式的支持,同时还支持与Webhook的集成,以支持更多定制化的场景.例如,目前还不支持钉钉,那用户完全可以通过Webhook与钉钉机器人进行集成,从而通过钉钉接收告警信息.同时AlertManager还提供了静默和告警抑制机制来对告警通知行为进行优化.

alertmanager的特性

Alertmanager除了提供基本的告警通知能力外,还主要提供了如:分组,抑制,以及静默等告警特性:

下面来逐一讲解:

分组

分组机制可以将详细的告警信息合并成一个通知.在某些情况下,比如由于系统宕机导致大量的告警同时被触发,在这种情况下分组机制可以将这些被触发的告警合并成一个告警通知,避免一次性接收大量的告警通知,而无法对问题进行快速定位.

例如,当集群中有数百个正在运行的服务实例,并且为每一个实例设置了告警规则.加入此时发生了网络故障,可能导致大量的服务实例无法连接到数据库,结果就会有数百个告警被发送到Alertmanager.

而作为用户,可能只希望能够在一个通知中就能查看哪些服务实例受到影响.这时可以按照服务所在集群或者告警名称对告警进行分组,而将这些告警内聚在一起成为一个通知.

告警分组,告警时间,以及告警的接收方式可以通过Alertmanager的配置文件进行配置

抑制

抑制是指当某一告警发出后,可以停止发送由此告警引发的其他告警的机制.

例如,当集群不可访问时触发了一次告警,通过配置Alertmanager可以忽略与该集群有关的其他所有告警.这样就可以避免收到与实际问题无关的告警通知.

抑制机制同样通过Alertmanager的配置文件进行设置

静默

静默提供了一个简单的机制可以快速根据标签对告警进行静默处理.如果接收到的告警符合静默的配置,AlertManager则不会发送告警通知.

静默设置需要在Alertmanager的web页面上进行配置.

相关推荐
ANYOLY2 分钟前
多线程&并发篇面试题
java·面试
用户2986985301415 分钟前
Java高效读取CSV文件的方法与分步实例
java·后端
程序员卷卷狗27 分钟前
JVM实战:从内存模型到性能调优的全链路剖析
java·jvm·后端·性能优化·架构
Android-Flutter28 分钟前
kotlin - 正则表达式,识别年月日
java·kotlin
得物技术28 分钟前
线程池ThreadPoolExecutor源码深度解析|得物技术
java·编译器·dns
道可到30 分钟前
直接可以拿来的面经 | 从JDK 8到JDK 21:一次团队升级的实战经验与价值复盘
java·面试·架构
world-wide-wait1 小时前
python高级04——网络编程
linux·服务器·网络
迎風吹頭髮1 小时前
Linux内核架构浅谈26-Linux实时进程调度:优先级反转与解决方案
linux·服务器·架构
ZhengEnCi1 小时前
Java_Object 数组完全指南-从入门到精通的多类型数据存储利器
java·后端
色空大师1 小时前
【mybatisPlus详解】
java·mybatis·mybatisplus