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 (一)》的介紹
郵件內容:
告警郵件,告警主題、告警信息詳情就是告警描述中的內容
恢復告警郵件提示: