Prometheus+Alertmanager 实现钉钉报警指南

Prometheus 是一款开源的监控和告警工具,搭配 Alertmanager 可以实现灵活的告警管理。钉钉作为企业常用的即时通讯工具,适合接收告警通知。将两者结合可以构建高效的监控告警系统。

安装与配置 Prometheus

下载并解压 Prometheus 最新版本,编辑 prometheus.yml 配置文件,添加监控目标和告警规则路径。以下是一个基本配置示例:

global:
  scrape_interval: 15s
  evaluation_interval: 15s

rule_files:
  - 'alert.rules'

alerting:
  alertmanagers:
  - static_configs:
    - targets: ['localhost:9093']

编写告警规则文件 alert.rules,定义触发条件:

groups:
- name: example
  rules:
  - alert: HighRequestLatency
    expr: job:request_latency_seconds:mean5m > 0.5
    for: 10m
    labels:
      severity: critical
    annotations:
      summary: "High request latency on {{ $labels.instance }}"
      description: "Latency exceeds threshold ({{ $value }} seconds)"
部署 Alertmanager

下载并解压 Alertmanager,编辑 alertmanager.yml 配置文件,配置钉钉告警接收器。使用钉钉机器人 Webhook 地址作为告警接收目标:

route:
  receiver: 'dingding'
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 5m
  repeat_interval: 3h

receivers:
- name: 'dingding'
  webhook_configs:
  - url: 'https://oapi.dingtalk.com/robot/send?access_token=your_token'
    send_resolved: true
配置钉钉机器人

在钉钉群中创建自定义机器人,获取 Webhook 地址。确保地址中包含正确的 access_token。可以设置关键词或加签等安全措施。

测试告警流程

启动 Prometheus 和 Alertmanager 服务。触发告警条件,观察钉钉群是否收到告警消息。告警消息格式可以通过 Alertmanager 的模板功能自定义:

templates:
- '/etc/alertmanager/template/*.tmpl'

创建模板文件 dingding.tmpl,定义消息格式:

{{ define "dingding.text" }}
{{ range .Alerts }}
告警状态: {{ .Status }}
告警名称: {{ .Labels.alertname }}
告警实例: {{ .Labels.instance }}
告警描述: {{ .Annotations.description }}
触发时间: {{ .StartsAt.Format "2006-01-02 15:04:05" }}
{{ end }}
{{ end }}
高级配置与优化

启用告警抑制和静默功能,减少重复告警干扰。在 Alertmanager 配置中添加抑制规则:

inhibit_rules:
- source_match:
    severity: 'critical'
  target_match:
    severity: 'warning'
  equal: ['alertname']

设置静默规则,临时屏蔽特定告警:

curl -XPOST -d '{"matchers":[{"name":"alertname","value":"HighRequestLatency"}]}' http://localhost:9093/api/v2/silences
监控与维护

定期检查 Prometheus 和 Alertmanager 的日志文件,确保服务正常运行。监控告警系统的性能指标,如告警延迟和发送成功率。更新告警规则和接收器配置,适应业务需求变化。

通过以上步骤,可以构建一个基于 Prometheus+Alertmanager 的高效钉钉告警系统,实现实时监控和快速响应。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐