《Prometheus Alertmanager 告警配置》
Alertmanager 负责接收 Prometheus 推送的告警,并去重、分组、路由后通过邮件等方式通知。
1 中文教程
2 部署(Debian)
(1)下载:
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar zxf alertmanager-0.21.0.linux-amd64.tar.gz
cd alertmanager-0.21.0.linux-amd64
(2)配置文件 alertmanager.yml 示例:
global:
resolve_timeout: 5m
smtp_smarthost: 'localhost:25'
smtp_from: 'alertmanager@example.com'
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 1h
receiver: 'email'
receivers:
- name: 'email'
email_configs:
- to: 'ops@example.com'
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
官方配置例子:https://github.com/prometheus/alertmanager/blob/master/doc/examples/simple.yml
(3)启动:
# 前台启动
./alertmanager --config.file=alertmanager.yml \
--storage.path=./data/ \
--data.retention=120h \
--web.listen-address=0.0.0.0:8501 \
--log.level=debug \
--log.format=json
# 后台启动
nohup ./alertmanager --config.file=alertmanager.yml \
--storage.path=./data/ \
--data.retention=120h \
--web.listen-address=0.0.0.0:8501 \
--log.level=debug \
--log.format=json > info.log 2> error.log &
(4)浏览器访问 http://<server-ip>:8501/#/alerts 查看告警。
3 常用选项
--config.file="alertmanager.yml" 配置文件名
--storage.path="data/" 数据存储目录
--data.retention=120h 数据保留时长
--web.listen-address=":9093" Web 界面与 API 监听地址
--cluster.listen-address="0.0.0.0:9094" 集群监听地址,置空可关闭 HA 模式
--cluster.peer=CLUSTER.PEER ... 初始集群节点(可重复)
--log.level=info 日志级别:debug/info/warn/error
--log.format=logfmt 日志格式:logfmt/json
4 关键概念
- group(分组):
group_by指定分组维度,例如['alertname']将同名告警归为一组。 - grouping_interval / group_wait / repeat_interval:控制同一组告警的合并发送与重复提醒节奏。
- inhibit_rules(抑制):高优先级告警(如 critical)触发时抑制低优先级(warning)同源告警,避免告警风暴。
阅读 —
·
全站 —