【问题标题】:AND Operator in PrometheusPrometheus 中的 AND 运算符
【发布时间】:2018-11-21 10:28:57
【问题描述】:

2 节点已启动并正在运行,我希望在两个节点都出现故障时收到警报,因为我正在 Prometheus 中编写查询但收到错误

up{service="brokerA-metrics"} 和 {service="brokerB-metrics"} == 1

我没有得到任何数据点

up({service="brokerA-metrics"} 和 {service="brokerB-metrics"}) == 1

执行查询时出错:在字符 4 处解析错误:名称为“up”的未知函数

解决办法是什么?

【问题讨论】:

    标签: grafana prometheus prometheus-alertmanager


    【解决方案1】:

    你可以这样做

    (up{service="brokerA-metrics"} + 忽略(service) {service="brokerB-metrics"}) == 0

    或者

    ...)

    如果您想在只有一个节点关闭时触发警报

    【讨论】:

    • 感谢您的回复,但仍然出现错误:- Error executing query: many-to-many matching not allowed: matching labels must be unique on one side 如果只有一个节点关闭,我不想触发警报; 如果两者都关闭,我想触发。
    • 这些指标中除了服务之外还有更多的标签吗?这个想法应该行得通,我在我的指标上试过了。如果你有更多标签,添加它们忽略
    猜你喜欢
    • 2020-10-24
    • 1970-01-01
    • 2014-04-22
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    相关资源
    最近更新 更多