规则的单元测试

您可以使用promtool测试您的规则。

# 单独测试一个文件
./promtool test rules test.yml

# 如果你有多个测试文件, test1.yml,test2.yml,test2.yml
./promtool test rules test1.yml test2.yml test3.yml

测试文件格式

# 要进行测试的规则文件的列表。支持globs。
rule_files:
  [ - <file_name> ]

# 可选的, default = 1m
evaluation_interval: <duration>

# 下面列出的组名的顺序僵尸规则组的执行顺序(在给定的执行时间内)。仅针对以下提及的组保证顺序。不需要体积所有组
group_eval_order:
  [ - <group_name> ]

# 所有测试均在此处列出
tests:
  [ - <test_group> ]

<test_group>

<series>

<alert_test_case>

Prometheus 允许您为不通的告警规则使用相同的告警名称。因此,在此单元测试中,您必须在单个<alert_test_case>下列出警报名称的所有触发告警的并集。

<alert>

<sample>

示例

这是通过测试的单元测试的示例输入文件。test.yml是遵循上述语法的测试文件,alert.yml包含警报规则。

alerts.yml放在同一目录中,运行./promtool test rules test.yml.

test.yml

alert.yml

最后更新于