《Prometheus Alertmanager 告警配置》

《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)同源告警,避免告警风暴。
阅读 — · 全站 —
🎸 我的歌单 0 首