我有一个执行计数的简单PromQL查询:
sum(up{container_name="my-container",environment_name="$env"})这是Grafana仪表板的一部分,允许从下拉菜单中选择${env}。
我想根据环境执行不同的查询。
我如何在PromQL中构造类似这样的东西:
if ${env} == 'dev' or ${env} == 'integration':
if sum(up{container_name="my-container",environment_name="$env"}) == 1:
sum(up{container_name="my-container",environment_name="$env"}) + 1
else:
sum(up{container_name="my-container",environment_name="$env"})
else:
sum(up{container_name="my-container",environment_name="$env"})其目的是在运行单个容器的环境中错误地夸大计数以触发RAG状态面板中的健康阈值。
发布于 2021-03-08 18:16:04
您可以像这样查询:
(
sum(up{container_name="my-container", environment_name=~"dev|integration", environment_name="$env"}) + 1
AND
(sum(up{container_name="my-container", environment_name=~"dev|integration", environment_name="$env"} == 1)
)
OR
sum(up{container_name="my-container", environment_name=~"dev|integration", environment_name="$env"}) != 1
OR
sum(up{container_name="my-container", environment_name="prod", environment_name="$env"})
OR
on() vector(0)当实例数量是1(这就是and所做的),并且用户选择了开发或集成环境时,这将返回实例数量增加1。or将一次包含三个指标,但由于查询和用户选择,只能返回一个指标。
https://stackoverflow.com/questions/66493087
复制相似问题