【发布时间】:2022-12-14 00:38:32
【问题描述】:
我一直在为我的 Prometheus 警报编写单元测试,我刚刚增加了警报的间隔范围,因此我需要修改我当前的测试。这是我修改后的测试:
- interval: 15m
# Series data.
input_series:
- series: 'some_bucket{service_name="some-service", le="1000"}'
values: 6 6 6 6 6 6 6
- series: 'some_bucket{service_name="some-service", le="10000"}'
values: 10 11 12 13 14 14 14
- series: 'some_bucket{service_name="some-service", le="+Inf"}'
values: 10 100 200 300 400 500 600
alert_rule_test:
- eval_time: 5m
alertname: someName
exp_alerts: []
- eval_time: 15m
alertname: someName
exp_alerts:
- exp_labels:
severity: error
service_name: some-service
exp_annotations:
summary: "a summary"
description: "adescription"
我的警报规则是:
histogram_quantile(0.95, sum by(le) (rate(some_bucket{service_name="some-service"}[15m]))) >= 1000
测试工作正常,它不会在 5 分钟的 eval_time 触发,而是在达到正确的间隔时触发。我的问题是关于顶部设置的间隔
- interval: 15m
我的理解是,这应该是抓取间隔,但如果我将其更改为 1,则测试失败。这是为什么?这是否意味着我的时间序列/输入数据需要更改?
谢谢
【问题讨论】:
标签: unit-testing prometheus alert