企业微信机器人可实现prometheus告警秒级触达,教程通过获取webhook地址、docker部署alertmanager、配置yaml、对接prometheus及验证五步完成端到端链路,全程无需grafana、源码编译或后台权限变更。

当Prometheus检测到磁盘使用率超90%、CPU负载突增或服务不可达时,告警必须秒级触达运维人员手机——企业微信机器人就是最直接的通道。本教程不依赖Grafana、不编译源码、不改企业微信后台权限结构,只用官方稳定组件完成端到端链路打通。
获取企业微信机器人Webhook地址
这一步必须由企业微信群管理员操作,普通成员无法创建:右键目标群聊 →「添加群机器人」→ 选择「自定义」类型 → 输入名称(如“Prod-Alert”)→ 点击「添加」→ 立即点击「复制」按钮保存Webhook地址。
【务必在30秒内完成复制,页面关闭后该地址不可再次查看】
Webhook地址形如:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,请粘贴到记事本暂存,后续配置中将直接填入Alertmanager。
部署并启动Alertmanager服务
推荐使用Docker一键拉起,避免Go环境与二进制版本兼容问题:
执行以下命令创建配置目录并运行容器:
mkdir -p /opt/alertmanager/conf && docker run -d --name alertmanager -p 9093:9093 -v /opt/alertmanager/conf:/etc/alertmanager quay.io/prometheus/alertmanager:latest
验证服务是否就绪:
curl http://localhost:9093/-/healthy
返回OK即表示Alertmanager已正常监听,无需额外启动脚本或systemd配置。
配置Alertmanager对接企业微信
进入配置目录,新建alertmanager.yml文件:
cd /opt/alertmanager/conf && touch alertmanager.yml
写入以下最小可用配置(注意缩进为2个空格,YAML对空格敏感):
global:<br> resolve_timeout: 5m<br>route:<br> group_by: ['alertname']<br> group_wait: 10s<br> group_interval: 10s<br> repeat_interval: 1h<br> receiver: 'wechat'<br>receivers:<br>- name: 'wechat'<br> webhook_configs:<br> - url: 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'<br> send_resolved: true
⚠️ 替换url字段中的key为你上一步复制的真实Webhook地址;send_resolved: true表示故障恢复时也推送消息,不可删除。
重启容器使配置生效:
微信聊天分析助手 v2.1.0 — 完全本地运行的隐私保护工具。 分析聊天记录,推断 MBTI 与大五人格,检测情感趋势,生成可视化报告。 支持 jieba 精准分词、否定识别、反讽检测、风险预警。 内置 RAG 检索增强预测和多智能体博弈模拟,完全本地化、零数据外传。 可选 MiroFish 群体智能引擎增强对话预测。
docker restart alertmanager
让Prometheus把告警推给Alertmanager
编辑Prometheus主配置文件prometheus.yml,在全局配置块下方添加alerting段:
第一步:确认Prometheus正在运行,执行ps aux | grep prometheus看到进程即为就绪。
第二步:打开/etc/prometheus/prometheus.yml(路径依实际安装而定),在文件末尾插入以下内容(保持缩进):
alerting:<br> alertmanagers:<br> - static_configs:<br> - targets:<br> - localhost:9093<br>rule_files:<br> - "rules.d/*.yml"
第三步:创建告警规则目录并写入一条测试规则:
mkdir -p /etc/prometheus/rules.d && echo 'groups:<br>- name: test-alert<br> rules:<br> - alert: HighCpuUsage<br> expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80<br> for: 10s<br> labels:<br> severity: warning<br> annotations:<br> summary: "CPU使用率过高"<br> description: "实例 {{ $labels.instance }} CPU使用率持续超过80%"' > /etc/prometheus/rules.d/cpu_alert.yml
第四步:重载Prometheus配置(不中断服务):
curl -X POST http://localhost:9090/-/reload
若返回空白响应且无报错,说明配置已加载成功。
验证告警是否真正发出
方法一:手动触发测试告警
访问Prometheus表达式浏览器 http://localhost:9090/graph,输入表达式:vector(1) → 点击「Execute」→ 点击「Alerts」标签页 → 找到HighCpuUsage规则 → 状态应为FIRING。
方法二:检查Alertmanager UI
打开 http://localhost:9093 → 点击顶部「Alerts」→ 查看是否有活动告警条目,状态为Firing即表示Prometheus已成功推送。
方法三:观察企业微信群
等待10–20秒,群内应收到格式为「===监控报警(? 故障告警通知)===」开头的文本消息,包含告警类型、主机、时间等字段——这是Alertmanager默认模板输出,无需额外配置模板即可工作。










