告警规则

在 Prometheus 配置有三大块配置,全局配置、告警规则配置、抓取任务配置

其中告警规则配置在 Prometheus 配置中属于重要的一块

示例

first_rules.yml

groups:
  - name: example # 这一组的告警规则名称
    rules:
      # 这条告警规则的意思是目标实例已经持续5分钟离线了(0 代表离线 1 代表在线)
      - alert: InstanceDown # 告警名称
        expr: up == 1 # PromQL表达式
        for: 5m # 持续时间
        labels: # 允许附加到告警上的一组标签
          severity: page
        annotations:
          summary: "Instance {{ $labels.instance }} down" # 告警概述
          description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes." # 告警描述(更加详细)

在 Prometheus 中体现如图

检查配置

cd prometheus-2.40.1.darwin-arm64
./promtool check rules first_rules.yml

告警状态

这里的告警状态是 Prometheus 侧的,在 Prometheus 体系中,真正发送告警信息是 Alertmanager 接管的

  • inactive 非活动状态,表示正在监控,但是还未有任何警报触发

  • pending 告警已经触发,但是还需要等待 For 时间,才会将告警状态转换为 firing

  • firing 真正的告警,将告警发送给 Alertmanager

查看告警

在 Prometheus UI 中

上次更新:
贡献者: kongzZ