一、AlertManager简介
1.1、AlertManager 常用的功能

抑制:指的是当某一告警信息发送后,可以停止由此告警引发的其它告警,避免相同的告警信息重复发送 。

静默:静默也是一种机制,指的是依据设置的标签,对告警行为进行静默处理。 

发送告警:支持配置多种告警规则,可以根据不同的路由配置,采用不同的告警方式发送告警通知

告警分组:分组机制可以将详细的告警信息合并成一个通知。

1.2、Prometheus和AlertManager 的关系

基于Prometheus的全方位监控平台.告警平台(Alertmanager)部警管理_配置文件

二、部警创建Alertmanager

2.1、创建AlertManager数据的存储PVC资源 alertmanager-storage.yam1

基于Prometheus的全方位监控平台.告警平台(Alertmanager)部警管理_配置文件_02

2.2、创建AlertManager配置文件ConfigMap (邮件方式)

基于Prometheus的全方位监控平台.告警平台(Alertmanager)部警管理_微服务_03

基于Prometheus的全方位监控平台.告警平台(Alertmanager)部警管理_微服务_04

基于Prometheus的全方位监控平台.告警平台(Alertmanager)部警管理_配置文件_05

2.3、创AlertManager部警文件 alertmanager-deploy.yaml

基于Prometheus的全方位监控平台.告警平台(Alertmanager)部警管理_微服务_06

基于Prometheus的全方位监控平台.告警平台(Alertmanager)部警管理_k8s_07

2.4、创建AlertManager外部服务婴露 alertmanager-ingress.yam1
三、AlertManager的三个核心概念
3.1、分组

被触发的警报合并为一个警报进行通知,避免瞬间突发性的接受大显警报通知,便得管理员无法对问题进行快速定位。

场景:

在Kubernetes集虹中,运行着亚量级规模的实例,即便是集中特续很小一段时间的网络延迟或者延识导致网络抖动,也会引发大量类似服务应用无法连接DB的故障,如果在警报规则中定义每一个应用实例都发送警报,那么到最后的结果就是会有大显的警报信息通过Aletmanager发送给咱们的运维及研发小伙伴

3.2、抑制

Inhibition 是当某条警报已经发送,停止重复发送由此警报引发的其他异常或故障的警报机制

场景:

在我们的灾备体系中,当原有集群故障宕机业务彻底无法访问的时候,会把用户流量切换到备份集野中,这样为故障集野及其提供的各个微服务状态发送警报机会失去了意义,此时,Alertmanager 的抑制特性就可以在一定程度上避免管理员收到过多无用的警报通知。

3.3、静默

silences 提供了一个简单的机制,根标签快速对警报进行确默处理对传进来的警报进行匹配检查,如果接受到警报符合默的配置,Alertmanager 则不会发送警报通知。

四、Prometheus添加告警配置

修改ConfigMap资源文件prometheus-config.yaml,改动内容如下:

添加AlertManager服务器地址

指定告警规则文件路径位置

添加Prometheus中触发告警的告警规则(已经简单添加了2条)

修改prometheus-config.yam1

基于Prometheus的全方位监控平台.告警平台(Alertmanager)部警管理_配置文件_08

基于Prometheus的全方位监控平台.告警平台(Alertmanager)部警管理_配置文件_09

基于Prometheus的全方位监控平台.告警平台(Alertmanager)部警管理_alertmanager_10

$ cur1 -XPOST -H 'Content-Type: application/json’ http://alertmanager.kubernets.cn/api/v1/alerts *d '[("labels":
["severity":"critical22"} ,"annotations":["summary":"This is a test alert"3}]'
五、总结

1、灵活性:Alertmanager提供了灵活的配置选项,允许用户根据自己的需求定义警报规则和接收警报的方式,同时支持多个不同层面的媒介进行告警通知,

2、可视化:lertmanager提供了丰富的可视化功能,包括交互式控制台和Web界面,使用户可以轻松地查看警报和监控状态,以及管理警报的路由和通知

3、多功能:通过分组,抑制,静默等多功能。这意味着这款工具可以适配更多的场暴,做不同维度的功能释放。

4、与Prometheus的集成: Aertmanager是由Prometheus团队开发的,这意味着它与Prometheus监控系统紧盛集成,Aletmanager可以与Prometheus进无缝协作,从而实现更全面、更高效的监控和警报功能。