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页面上进行配置.

相关推荐
Miraitowa_cheems28 分钟前
LeetCode算法日记 - Day 11: 寻找峰值、山脉数组的峰顶索引
java·算法·leetcode
檀越剑指大厂31 分钟前
【Linux系列】如何在 Linux 服务器上快速获取公网
linux·服务器·php
海梨花33 分钟前
【从零开始学习Redis】项目实战-黑马点评D2
java·数据库·redis·后端·缓存
共享家952733 分钟前
linux-高级IO(上)
java·linux·服务器
橘子郡12340 分钟前
观察者模式和发布订阅模式对比,Java示例
java
指针满天飞41 分钟前
Collections.synchronizedList是如何将List变为线程安全的
java·数据结构·list
Java技术小馆42 分钟前
重构 Controller 的 7 个黄金法则
java·后端·面试
金銀銅鐵1 小时前
[Java] 以 IntStream 为例,浅析 Stream 的实现
java·后端
曳渔2 小时前
UDP/TCP套接字编程简单实战指南
java·开发语言·网络·网络协议·tcp/ip·udp
HWL56792 小时前
“preinstall“: “npx only-allow pnpm“
运维·服务器·前端·javascript·vue.js