gpt4 book ai didi

monitoring - Prometheus:合并二元运算中缺失标签的值

转载 作者:行者123 更新时间:2023-12-05 02:05:46 24 4
gpt4 key购买 nike

我有两个带有匹配标签的指标,都是计数器:

accounts_created_total{provider="auth0"} 738
accounts_created_total{provider="google} 980

accounts_deleted_total{provider="auth0"} 65

我想根据这两个指标计算现有帐户的数量。我想到了这个:

accounts_created_total - accounts_deleted_total

# which results in

{provider="auth0"} 673

# Note the missing provider="Google"

不幸的是,provider="Google" 没有account_deleted_total,所以我只能得到 provider="auth0" 的结果。

有没有办法告诉普罗米修斯“弥补”缺失的标签?这通常等同于 SQL 中的 coalesce

最佳答案

您可以使用 OR binary operator 完成时间序列:

vector1 or vector2 results in a vector that contains all original elements(label sets + values) of vector1 and additionally all elements of vector2which do not have matching label sets in vector1.

假设您希望将 accounts_deleted_total 默认为 0,以下表达式使用 accounts_created_total 作为第二个向量来提取标签并乘以 0 确保值被重置:

accounts_deleted_total OR (accounts_created_total * 0)

对于autho0,标签存在于accounts_deleted_total中,第二部分不会被使用;相反,对于 google,第二部分将产生

{provider="google"} 0

最后,您可以在表达式中使用它:

accounts_created_total - (accounts_deleted_total OR (accounts_created_total * 0))

在您的特定情况下,由于您使用相同的指标来提取标签,您甚至可以将表达式简化为:

(accounts_created_total - accounts_deleted_total) OR accounts_created_total

关于monitoring - Prometheus:合并二元运算中缺失标签的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63135114/

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