【问题标题】:how to compare corresponding metrics in prometheus?如何比较prometheus中的相应指标?
【发布时间】:2023-03-09 07:24:02
【问题描述】:

假设我的数据库中有两个对应的表,table1 和 table2,一对一。对于每个表中的每条记录的创建,都有一个指标。现在,是否有可能两个使用这两个指标(一个来自 table1,一个来自 table2)来获取信息,在给定的时刻, table1 中有多少记录在 table2 中有相应的记录?我可以以某种方式将记录的 id 传递给指标吗?

【问题讨论】:

  • 这个问题比较难理解,或许至少加上表架构和你已经尝试过的任何代码。

标签: ruby prometheus


【解决方案1】:

如果您要为每条记录生成指标并且每条记录都有一个唯一标识符(即标签),那么您可以使用 countby 聚合器。例如,count(table_metric{id="foo"}) by (table) 如果它们每个都有一个表格标签就可以工作。

如果指标名称不同,您可能需要使用or 运算符来创建联合。例如,count(table_1_metric or table_2_metric) by (id)

在任何一种情况下,如果您想在两个表中都有一个条目,您需要检查以确保计数为 2。

最后,只是我的两分钱,但我不建议养成将如此高基数数据放入 Prometheus 的习惯。另一种方法是使用 this SQL exporter 之类的东西来根据数据库查询生成指标(例如 SELECT count(*) FROM T1 LEFT JOIN T2 ON T1.ID = T2.ID WHERE T2.ID IS NULL,它会显示有多少不匹配,以便您进一步调查)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 2012-02-23
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    相关资源
    最近更新 更多