摘要
配置规则,从被监视服务获取指标上报到告警服务
一、配置Prometheus的rule文件位置
编辑Prometheus的配置文件prometheus.yml,指定rule文件:
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
- "/opt/prometheus-2.47.0.linux-amd64/rules/springboot_exporter_rules.yml"
也可以使用通配:
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
- "/opt/prometheus-2.47.0.linux-amd64/rules/*.yml"
二、取指标配置告警规则
打开Prometheus的UI界面选择指标可以看到相应的几项
这几项在配置中需要用到
新建一个springboot_exporter_rules.yml 放到Prometheus目录的rules目录下
groups:
- name: demo_micro服务监控
rules:
- alert: JVM线程占用cpu #告警名称
expr: system_cpu_usage{job="demo_micro"} > 0.001 # PromQL语法
for: 20s
labels:
level: critical
severity: 严重告警 #告警级别
annotations:
description: "instance:{{$labels.instance}} , cpu usage is too high ! value: {{$value}}" #描述
summary: "cup usage is too high!"
这里需要用到PromQL语法:参考PromQL函数语法
重启Prometheus
三、测试服务告警上报
Prometheus接到指标异常告警
Alertmanager的UI接到告警
告警服务接到的上报告警
四、需要注意的事项:
Prometheus 与 alertmanager 的版本不符的情况
打开Prometheus的status - > Configuration界面
看api_version这个是v1还是v2,如果是v2可以在Prometheus的配置文件中修改
alerting:
alertmanagers:
- follow_redirects: true
enable_http2: true
scheme: http
timeout: 10s
api_version: v1
static_configs:
- targets: #修改配置alertmanager的地址
- 127.0.0.1:9093
至此,springboot 集成 Prometheus 通过alertmanager上报告警已全部完成。