前言
Alertmanager处理客户端应用程序(例如 Prometheus 服务器)发送的警报。它负责删除重复数据、分组并将它们路由到正确的接收器集成,例如电子邮件、PagerDuty 或 OpsGenie。它还负责警报的静音和抑制。
前提要求
- 安装docker,docker-compose
创建企业微信机器人
-
定义机器人名称
-
生成的企业微信机器人webhook地址
创建项目目录
mkdir -p /alertmanager
创建alertmanager服务脚本
- - url: 'http://192.168.11.252:8089/adapter/wx' #此处是 webhook-adapter服务端口和地址
cat >>/alertmanager/alertmanager.yml<<EOF
global:
resolve_timeout: 5m
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 1h
receiver: 'web.hook'
receivers:
- name: 'web.hook'
webhook_configs:
- url: 'http://192.168.11.252:8089/adapter/wx'
send_resolved: true
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
EOF
创建基于docker部署webhook-adapter,alertmanager脚本
- --adapter:/app/prometheusalert/wx.js=/wx=企业微信机器人地址
- /app/prometheusalert/wx.js 此处是镜像内部包含执行不用管忽略
- webhook-adapter端口8089,可自行定义
- alertmanager 端口9093,可自行定义
- - ./alertmanager.yml:/etc/alertmanager/alertmanager.yml 此处是alertmanager配置脚本
vim /alertmanager/docker-compose.yml
version: '3'
services:
webhook-adapter:
image: guyongquan/webhook-adapter:latest
container_name: webhook-adapter
hostname: webhook-adapter
ports:
- "8089:80"
restart: always
command:
- "--adapter=/app/prometheusalert/wx.js=/wx=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXXXX-d78a-4308-ac5c-34f10bb73d86"
alertmanager:
image: prom/alertmanager
container_name: alertmanager
hostname: alertmanager
restart: always
volumes:
- ./alertmanager.yml:/etc/alertmanager/alertmanager.yml
- /etc/localtime:/etc/localtime:ro
ports:
- "9093:9093"
执行启动
docker-compose up -d
查看webhook-adapter是否启动成功
- http://192.168.11.252:8089/
查看 alertmanager是否成功安装和警告提醒
- http://192.168.11.252:9093/
企业微信机器人报警提示部分展示
-
满足报警条件会自动化触发企业微信机器人警告提醒服务
-
报警内容编辑配置参考