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