alertmanager 告警恢复_收到告警信息不会告警?Alertmanager来帮你

4f32c740711c6152eb552f0d8b622c91.png

作者 | 渡渡鸟

分享 | 乔克

1. 告警方式

1.1. Prometheus 告警介绍

与Zabbix告警不同,Prometheus将告警分为两个部分:Prometheus 和 Alertmanager。其中Prometheus配置告警触发规则,对指标进行监控和计算,将再将告警信息发送到Alertmanager中。Alertmanager对告警进行管理,比如合并抑制等操作。

c8f16bc0c1209123edcd903e4fe14150.png

image.png

1.2. AlertManager介绍

Alertmanager处理由客户端应用程序(例如Prometheus服务器)发送的警报。它负责将重复数据删除,分组和路由到正确的接收者,通知方式有电子邮件、短信、微信等。它还负责沉默和禁止警报。Altermanager有以下几个功能点

  • 分组

当机房网络故障时,或者机房断电时,会突然有大量相同的告警出现,此时就需要对告警进行分组聚合,整合成少量告警发出。每个告警信息中会列出受影响的服务或者机器。

  • 抑制(Inhibition)

当集群故障时,会引发一系列告警,此时只需要通知集群故障,其它因为集群故障引起的告警应该被抑制,避免干扰判断。

  • 静默(Silences)

当集群升级、服务更新的过程中,大概率导致告警。因此在升级期间,对这些告警进行静默,不再发送相关告警。


2. 告警相关配置

2.1. altermanager配置文件

2.1.1. 全局配置

# global 指定了默认的接收者配置项global:  # 默认smtp 配置项,如果recivers中没有配置则采用全局配置项   [ smtp_from:  ]  [ smtp_smarthost:  ]  [ smtp_hello:  | default = "localhost" ]  [ smtp_auth_username:  ]  [ smtp_auth_password:  ]  [ smtp_auth_identity:  ]  [ smtp_auth_secret:  ]  [ smtp_require_tls:  | default = true ]  # 企业微信告警配置  [ wechat_api_url:  | default = "https://qyapi.weixin.qq.com/cgi-bin/" ]  [ wechat_api_secret:  ]  [ wechat_api_corp_id:  ]  # 默认http客户端配置,不推荐配置。参考官方文档: https://prometheus.io/docs/alerting/latest/clients/  [ http_config:  ]  # 如果警报不包含EndsAt,则ResolveTimeout是Alertmanager使用的默认值,经过此时间后,如果尚未更新,则可以将警报声明为已解决。  # 这对Prometheus的警报没有影响,因为它们始终包含EndsAt。  [ resolve_timeout:  | default = 5m ]# 定义通知模板,最好一个列表元素可以使用Linux通配符,如 *.tmpltemplates:  [ -  ... ]# 定义路由route: # 定义通知的接收者receivers:  -  ...# 告警抑制规则inhibit_rules:  [ -  ... ]

2.1.2. 路由配置

每个警报都会在已配置的顶级路由处进入路由树,该路由树必须与所有警报匹配(即没有任何已配置的匹配器)。然后遍历子节点。如果将continue设置为false,它将在第一个匹配的子项之后停止。如果在匹配的节点上true为true,则警报将继续与后续的同级进行匹配。如果警报与节点的任何子节点都不匹配(不匹配的子节点或不存在子节点),则根据当前节点的配置参数来处理警报。

# 告警接收者[ receiver:  ]# 告警根据标签进行分组,相同标签的作为一组进行聚合,发送单条告警信息。特殊值 '...' 表示告警不聚合[ group_by: '[' , ... ']' ]# 告警是否匹后续的同级节点,如果为true还会继续进行规则匹配,否则匹配成功就截止[ continue:  | default = false ]# 报警必须匹配到labelname,否则无法匹配到该组路由,一般用于发送给不同联系人时使用match:  [ : , ... ]match_re:  [ : , ... ]# 第一次发送当前group报警等待的时间,目的是实现同组告警的聚合[ group_wait:  | default = 30s ]# 当上一次group告警发送成功后,改组又出现新的告警,那么等待多久再发送,一般设置为5分钟或者更久[ grou
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值