Prometheus学习笔记告警规则配置

2023年 8月 22日 113.5k 0

告警规则Demo

groups:
# 告警组名称
- name: host_memory 
  rules:
  # 告警规则名称
  - alert: HighMemroy 
    # 告警规则(例子:下面的告警规则是内存大于30%告警的PromQL查询语法)
    expr: ((node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Buffers_bytes - node_memory_Cached_bytes) / (node_memory_MemTotal_bytes )) * 100 > 30
    # for:等待时间,表示当触发条件持续一段时间后才会触发告警,在等待期间新产生的告警状态为pending
    for: 1m
    # 自定义标签,Prometheus本身有一部分标签,这里可以附加额外的标签到告警上
    labels:
      type: memory
    # 用于指定一组附加信息,比如用于描述告警详细信息的文字等
    annotations:
      # 通过$labels.变量可以访问当前告警实例中指定标签的值。$value则可以获取当前PromQL表达式计算的样本值。
      # 这里是类似于标题的效果,简述下告警信息(比如是什么类型的告警)
      summarg: "Instance {{$labels.instance}} Memory high"
      # 这里相当于正文,主要描述告警的阈值,是哪台实例主机发生告警等详细信息
      description: "{{$labels.instance}} memory usage above 30% (current value :{{$value}})"

Prometheus 配置文件-告警部分

# my global config
global:
  scrape_interval: 15s 
  evaluation_interval: 15s # 告警计算周期,默认为1m
# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          - alertmanager:9093
rule_files:
  # 告警规则文件存放路径,文件后缀必须是rules,比如 cpu.rules
  - "/usr/local/src/prometheus/prometheus-2.44.0-rc.2.linux-amd64/rules/*.rules"
scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
  - job_name: "node_exporter"
    static_configs:
      - targets: ["localhost:9100"]
  - job_name: "nginx_exporter"
    static_configs:
      - targets: ["localhost:9113"]

告警活动状态查询

ALERTS{alertname="", alertstate="pending|firing", }

样本值为1表示当前告警处于活动状态(pending或者firing),当告警从活动状态转换为非活动状态时,样本值则为0。

展示效果

配置完成后重启Prometheus服务

访问地址: http://localhost:9090/alerts?search=

image-20230526151653888

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论