【问题标题】:How to deal with STATE using Prometheus如何使用 Prometheus 处理 STATE
【发布时间】:2021-07-07 15:55:17
【问题描述】:

我有一个需要观察状态的用例,例如 MQTT 状态。 (假设我有一个发送连接或断开状态的休息端点)。当状态变为断开连接时,我需要创建一个警报,然后在 Prometheus 中相应地发送电子邮件。我用谷歌搜索了很多,但我只找到与指标相关的信息,而不是任何与状态相关的信息。使用 Prometheus 工具可以实现这种用例吗?如果是这样,有人可以向我解释一下相同的查询吗?

提前致谢。

【问题讨论】:

  • 首先您必须创建自己的指标。如果您使用的是 spring-boot,请查看stackoverflow.com/a/67638736/2096986。然后在 alertmanager 上为该指标创建一个规则
  • @Felipe..这不是我想要的。我知道这些指标等等。我的用例不同,我要求根据状态发生一些事情。就像我提到的,如果我的 mqtt 状态为已断开连接,那么我只需要发生一些警报。我不想要任何指标,如计数器、仪表或计时器等。
  • 状态保存在 prometheus 时间序列数据库中。您只需将您的指标发送到那里。例如,您每 15 秒发送一次连接或断开连接。但在此之前,您必须创建指标。获得指标后,我们可以帮助您在警报管理器中创建警报规则。

标签: prometheus prometheus-alertmanager


【解决方案1】:

您不能将字符串作为指标值。更多信息this issue

如果您想使用“已连接”/“已断开连接”状态,则必须将它们用作指标标签。
由于只有两个可能的值,那么使用标签应该是可以的。但是,使用随机字符串作为标签时要小心,因为它会增加度量基数。

这里是good introduction 基数及其对性能的影响

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    相关资源
    最近更新 更多