【问题标题】:PROMQL Joining more metricsPROMQL 加入更多指标
【发布时间】:2022-11-03 23:35:31
【问题描述】:

我在 IBM Cloud 中使用 SYSDIG 监控。 我有这两个指标

第一的:

sum by(container_image_repo,container_image_tag) (sysdig_container_cpu_cores_used)

通过 repo 返回并标记总使用的 cpu(在 Value_A 中)

第二:

count by(container_image_repo,container_image_tag)(sysdig_container_info)

通过 repo 返回并标记容器总数(在 Value_B 中)

我的问题是我希望有一个请求通过 repo 和 tag 同时返回两个指标,即:

回购标签 Value_A Value_B

有什么提示吗?

我尝试加入这两个请求,

sum by(container_image_repo,container_image_tag) (sysdig_container_cpu_cores_used) *on (container_image_repo,container_image_tag) (count by(
container_image_repo,container_image_tag)(sysdig_container_info))

但我仍然得到一个值(这是两个值 A*B 的乘积,按 repo 和 tag 分组。确实不足为奇......)

谢谢

【问题讨论】:

    标签: metrics promql sysdig


    【解决方案1】:

    这与 Sysdig 无关,而与 PromQL 的设计方式有关。在 PromQL 中,当您在向量上应用函数时,生成的向量或标量不包含度量名称(因为这不再是同一个度量,而是它的导数)。

    在您的示例中,您使用的这两个指标表示两个不同的事物:

    • sysdig_container_cpu_cores_used: 是特定容器占用的核心数
    • sysdig_container_info :每个容器的一组附加标签。为了不将所有容器信息添加到每个容器度量中(例如代理 id、容器 id、容器中图像的 id、图像摘要值等),当您需要它时,您可以将该容器度量与sysdig_container_info 用这些额外的标签来丰富它。

    在我看来,您的查询为您提供了所有相关信息:

    例如

    Repo                                  Tag     Value (CPU used)
    k8s.gcr.io/kops/kops-controller       1.22.3  0.00148
    

    披露: 我在 Sysdig 担任工程师,但我的答案/cmets 完全是我自己的。

    【讨论】:

      猜你喜欢
      • 2018-12-22
      • 2017-12-13
      • 1970-01-01
      • 2022-11-01
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 2022-08-14
      • 2022-01-11
      相关资源
      最近更新 更多