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 (一)》的介绍
邮件内容:
告警邮件,告警主题、告警信息详情就是告警描述中的内容
恢复告警邮件提示: