[toc]
参考
简介
Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,而且很容易做到告警信息进行去重,降噪,分组等,是一款前卫的告警通知系统。
配置部署
主要步骤
一、部署Alertmanager
二、配置Prometheus与Alertmanager通信
三、配置告警
1. prometheus指定rules目录
2. configmap存储告警规则
3. configmap挂载到容器rules目录
部署alertmanager
alertmanager-deploy.yaml
1 | apiVersion: apps/v1beta2 |
alertmanager-svc.yaml
1 | apiVersion: v1 |
alertmanager-config.yml
1 | apiVersion: v1 |
alertmanager-tmpl.yml
1 | apiVersion: v1 |
部署之后通过IP:9093访问alertmanager UI界面
在这个页面中我们可以进行一些操作,比如过滤、分组等等,里面还有两个新的概念:Inhibition(抑制)和 Silences(静默)。
- Inhibition:如果某些其他警报已经触发了,则对于某些警报,Inhibition 是一个抑制通知的概念。例如:一个警报已经触发,它正在通知整个集群是不可达的时,Alertmanager 则可以配置成关心这个集群的其他警报无效。这可以防止与实际问题无关的数百或数千个触发警报的通知,Inhibition 需要通过上面的配置文件进行配置。
- Silences:静默是一个非常简单的方法,可以在给定时间内简单地忽略所有警报。Silences 基于 matchers配置,类似路由树。来到的警告将会被检查,判断它们是否和活跃的 Silences 相等或者正则表达式匹配。如果匹配成功,则不会将这些警报发送给接收者。
配置Prometheus与alertmanager通信
编辑 prometheus-configmap.yaml 配置文件添加绑定信息
最后的alert模块修改一下,之前的都注释
1 | alerting: |
配置告警
prometheus指定rules目录
编辑 prometheus-configmap.yaml 添加报警信息
1 | # 添加:指定读取rules配置 |
configmap存储告警规则
创建yaml文件同过configmap存储告警规则
1 | #vim prometheus-rules.yaml |
configmap挂载到容器rules目录
修改挂载点位置,使用之前部署的prometheus动态PV
1 | #vim prometheus-statefulset.yaml |
alertmananger报警配置说明
1 | #cat alertmanager-configmap.yaml |
部分参数说明:
1 | route: |
配置告警信息模板
1 | apiVersion: v1 |