随着Prometheus 2.0的到来,一种新的格式可以用来编写recording记录和alerting告警 rules规则。
这里可以推荐使用Promtool将规则自动更新为新格式,并避免从头开始重写它们。
首先获取并解压缩Prometheus的最新2.0版本二进制文件:
wget https://github.com/prometheus/prometheus/releases/download/v2.0.0-rc.1/prometheus-2.0.0-rc.1.linux-amd64.tar.gz
tar -xzf prometheus-2*
让我们更新当前的规则文件。假设我们有以下内容alert.rules
ALERT HighErrorRate
IF job:request_latency_seconds:mean5m{job="myjob"} > 0.5
FOR 10m
ANNOTATIONS {
summary = "High request latency",
}
ALERT DailyTest
IF vector(1)
FOR 1m
ANNOTATIONS {
summary = "Daily alert test",
}
我们使用Promtool来更新我们在alert.rules
里的当前规则
./promtool update rules alert.rules
这将生成一个新文件名字为 alert.rules.yml
,这个文件会包含所有新版本2.x格式的所有规则。
在这个例子里,两条rules规则最终如下:
groups:
- name: alert.rules
rules:
- alert: HighErrorRate
expr: job:request_latency_seconds:mean5m{job="myjob"} > 0.5
for: 10m
annotations:
summary: High request latency
- alert: DailyTest
expr: vector(1)
for: 1m
annotations:
summary: Daily alert test
现在,用户就可以用上述新规则文件 alert.rules.yml
更新Prometheus 2.0的配置,并验证它们是否按预期工作。
请注意!旧格式仅适用于Prometheus 1.x,而新格式仅适用于 2.x。
数据库及数据库连接池领域的新书推荐,京东、淘宝、当当有售:

你点的每个“在看”,我都认真当成了喜欢
文章转载自工匠人生,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





