prometheus-告警規則


Prometheus 服務正常安裝之后在配置告警規則
1,編輯文件告警規則
編輯文件:/alidata/prometheus/prometheus/rules/cpu_rule.yml (這個文件是配置的cpu使用率的告警文件,由這個文件來介紹告警規則的配置方式)
文件內容如下

[root@webserver2 tmpl]# cat /alidata/prometheus/prometheus/rules/cpu_rule.yml
groups:
- name: general.rules
  rules:
  - alert: GO Warning CPU usage
    expr: (100-(avg(irate(node_cpu_seconds_total{job="go_node_exporter",mode="idle"}[5m]))by (name)) * 100) > 80
    for: 1m
    labels:
      severity: warning
    annotations:
      summary: "CPU使用率過高"
      description: "主機:  {{ $labels.name  }}   CPU使用大於百分之80% (當前值:{{ $value }})"
  - alert: PHP Warning CPU usage
    expr: (100-(avg(irate(node_cpu_seconds_total{job="php_node_exporter",mode="idle"}[5m]))by (name)) * 100) > 80
    for: 1m
    labels:
      severity: warning
    annotations:
      summary: "CPU使用率過高"
      description: "主機:  {{ $labels.name  }}   CPU使用大於百分之80% (當前值:{{ $value }})"

2、配置peometheus的主配置文件,將報警規則添加到配置文件中

[root@webserver2 tmpl]# cat /alidata/prometheus/prometheus/prometheus.yml
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
alerting:
  alertmanagers:
  - static_configs:
    - targets: ['127.0.0.1:9093']
rule_files:
    - "/alidata/prometheus/prometheus/rules/disk_rule.yml"
    - "/alidata/prometheus/prometheus/rules/cpu_rule.yml"
    - "/alidata/prometheus/prometheus/rules/memory_rule.yml"
    - "/alidata/prometheus/prometheus/rules/node_up.yml"
    - "/alidata/prometheus/prometheus/rules/system_load.yml"
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'pushgateway'
    scrape_interval: 30s
    honor_labels: true  #加上此配置exporter節點上傳數據中的一些標簽將不會被pushgateway節點的相同標簽覆蓋
    static_configs:
    - targets: ['34.193.83.103:9091']
      labels:
        instance: pushgateway
............... 省略后面的主配置文件,在prometheus的配置中講解...............

3、檢查並重新加載配置文件

[root@webserver2 prometheus]# pwd 
/alidata/prometheus/prometheus 
[root@webserver2 prometheus]#./promtool check config prometheus.yml

4、啟動prometheus,在控制台查看配置
在界面中點擊 Status -> Rules 查看規則,以及狀態等信息

5、 告警狀態

  • Inactive:這里什么都沒有發生。綠色狀態
  • Pending:已觸發閾值,但未滿足告警持續時間(即rule中的for字段)黃色狀態
  • Firing:已觸發閾值且滿足告警持續時間。警報發送到alertmanager,經過處理,發送給接受者,這樣目的是多次判斷失敗才發告警,減少郵件。紅色狀態
    正常情況如下:

    等待告警如下:

    告警如下:

    告警郵件的發送是有Alertmanager進行發送的,郵件內容如下,Alertmanager的詳細配置請查看 《Prometheus-告警集成Alertmanager (一)》的介紹
    郵件內容:
    告警郵件,告警主題、告警信息詳情就是告警描述中的內容

    恢復告警郵件提示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM