Files
argus/src/alert/alertmanager/config/rule_files/README.md
xuxt d1b89c0cf6 dev_1.0.0_xuxt_2 更新反向代理,打包镜像,以及README文档 (#28)
Co-authored-by: xiuting.xu <xiutingxt.xu@gmail.com>
Reviewed-on: #28
Reviewed-by: yuyr <yuyr@zgclab.edu.cn>
Reviewed-by: huhy <husteryezi@163.com>
Reviewed-by: sundapeng <sundp@mail.zgclab.edu.cn>
2025-10-20 09:45:32 +08:00

2.1 KiB
Raw Blame History

告警配置

参考:自定义Prometheus告警规则

在Prometheus中配置告警的有两个步骤:

  1. 写告警规则文件(rules文件)
  2. 在promethues.yml里加载规则,并配置Alertmanager

1. 编写告警规则文件

告警规则如下:

groups:
  - name: example-rules
    interval: 30s  # 每30秒评估一次
    rules:
      - alert: InstanceDown
        expr: up == 0
        for: 1m
        labels:
          severity: critical
        annotations:
          summary: "实例 {{ $labels.instance }} 已宕机"
          description: "{{ $labels.instance }} 在 {{ $labels.job }} 中无响应超过 1 分钟。"

      - alert: HighCpuUsage
        expr: 100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "CPU 使用率过高"
          description: "实例 {{ $labels.instance }} CPU 使用率超过 80% 持续 5 分钟。"

其中:

  • alert:告警规则的名称。
  • expr:基于PromQL表达式告警触发条件,用于计算是否有时间序列满足该条件。
  • for:评估等待时间,可选参数。用于表示只有当触发条件持续一段时间后才发送告警。在等待期间新产生告警的状态为pending。
  • labels:自定义标签,允许用户指定要附加到告警上的一组附加标签,可以在Alertmanager中做路由和分组。
  • annotations:用于指定一组附加信息,比如用于描述告警详细信息的文字等,annotations的内容在告警产生时会一同作为参数发送到Alertmanager。可以提供告警摘要和详细信息。

2. promothues.yml里引用

在prometheus.yml中加上rule_files和alerting:

global:
  [ evaluation_interval: <duration> | default = 1m ]

rule_files:
  [ - <filepath_glob> ... ]

alerting:
  alertmanagers:
    - static_configs:
        - targets:
            - "alertmanager.alert.argus.com:9093"   # Alertmanager 地址