PROMQL加入更多的指标



我在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和标签同时返回两个指标,即:

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和标签分组。一点也不奇怪……)

谢谢

这与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的一名工程师,但我的回答/评论完全是我自己的。

相关内容

  • 没有找到相关文章

最新更新