gpt4 book ai didi

apache-spark - 如何获得 2 个不同的普罗米修斯指标之间的差异?

转载 作者:行者123 更新时间:2023-12-04 01:11:32 26 4
gpt4 key购买 nike

考虑指标示例:

increase(application_executor_recordsWritten[20m])
increase(kafka_server_brokertopicmetrics_messagesin_total{topic="my_topic"}[20m])

如果我在普罗米修斯图上单独执行这些指标 - 一切正常。但是当尝试类似的东西时:
increase(application_executor_recordsWritten[20m]) -  increase(kafka_server_brokertopicmetrics_messagesin_total{topic="my_topic"}[20m])

我收到了 No datapoints error .
  • 可能是因为 application_executor_recordsWritten过去 1 小时收到,同时 kafka_server_brokertopicmetrics_messagesin_total收到 6+ 小时。
  • 可能是因为这些指标具有不同的“收集设置”,请考虑 prometheus 控制台输出:

    application_executor_recordsWritten

    {app_name="app-name",exported_instance="application_111111111111111111",exported_job="application_111111111111111111",instance="XX.XXX.X.XX",job="job_name",number="1",role="executor"}

    kafka_server_brokertopicmetrics_messagesin_total

    {instance="XX.XXX.X.XX",job="job_name",topic="my_topic"}

  • 普罗米修斯使用类似 ignore(???) 的东西关键字,但我无法弄清楚它是如何工作的以及如何将其应用于这些指标。

    任何想法如何执行指标差异?什么是正确的语法?

    最佳答案

    在 PromQL 中,两个度量范围(又名向量)之间的算术二元运算符受 vector matching 约束。 :该操作仅应用于具有相同标签集(名称和值)的条目。

    如果存在差异并且没有配对值,则会得到臭名昭著的 No data point错误。

    如果你想让它们匹配,你必须

  • 要么忽略一些不匹配的标签( metric1 - ignoring(a_lone_label) metric2 )
  • 或指示在哪个标签上执行匹配 ( metric1 - on(common_label_name_and_value) metric2 )

  • 在你给出的例子中,不清楚应该匹配什么。我会说 instancejob ;它可能是:
    increase(application_executor_recordsWritten[...]) - on (job,instance) increase(kafka_server_brokertopicmetrics_messagesin_total{topic="my_topic"}[...])

    如果运算符的一侧包含应该与另一侧的多个元素配对的元素(称为一对多匹配),则必须指明运算符的哪一侧(右侧或左侧)有更多条目:使用 group_<side:rigth|left> .

    关于apache-spark - 如何获得 2 个不同的普罗米修斯指标之间的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55353862/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com