【问题标题】:Adding two values in Prometheus在 Prometheus 中添加两个值
【发布时间】:2020-05-02 23:02:53
【问题描述】:

我们需要在 Prometheus 中添加两个查询的结果。片段如下:

(probe_ssl_earliest_cert_expiry{job="SSL-expiry"} - time() < 86400 * 738 )*1000 + (node_time_seconds*1000)

但结果显示没有数据如下图:

【问题讨论】:

  • 请检查查询是否正确。我认为查询不正确。
  • @SachinArote 当我们单独运行时,这两个查询都给出了结果当同时添加它们时没有结果。如果我做错了什么,请提出建议
  • 这部分查询工作正常我刚刚检查了我的普罗米修斯实例(probe_ssl_earliest_cert_expiry{job="SSL-expiry"} - time() &lt; 86400 * 738 )*1000
  • 对于node_time_seconds*1000,您还需要添加作业名称,然后将其乘以 1000
  • 或者使用probe_ssl_earliest_cert_expiry{instance=~"$target"} - time()查询相同的结果。这里的目标你需要添加实例名称或者你可以在grafana中添加变量然后从变量中选择实例。

标签: performance kubernetes monitoring prometheus prometheus-blackbox-exporter


【解决方案1】:

如果指标不匹配,您将得到一个空结果。原因是对于binary operatorvector1 &lt;op&gt; vector2

vector1 和 vector2 生成一个由以下元素组成的向量 vector1 中 vector2 中存在完全匹配的元素 标签集。其他元素被删除。

您必须至少添加一个on()ignoring() vector matching 关键字,指定与(名称和)值匹配的标签(名称)。如果您有一对多匹配,您可能需要添加分组说明。

在以下表达式中填写???,以便标签匹配:

(probe_ssl_earliest_cert_expiry{job="SSL-expiry"} - time() < 86400 * 738 )*1000 + ON(???) (node_time_seconds*1000)

【讨论】:

    猜你喜欢
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    相关资源
    最近更新 更多