【问题标题】:Monitor smart power plug with Prometheus / Grafana使用 Prometheus / Grafana 监控智能电源插头
【发布时间】:2021-01-15 20:48:40
【问题描述】:

我几乎无法在我的新 Raspberry Pi(运行 Raspbian)上设置 Prometheus 和 Grafana。现在我想监控一个smart power plug with a REST API。这意味着我可以发送curl 命令并接收一些数据:

$ curl --location --request GET '[Switch IP]/report'

{
  "power": 35.804927825927734,
  "relay": true,
  "temperature": 21.369983673095703
}

但是,我不知道如何让 Prometheus 自动查询和解析这些数据。我的 Google Fu 让我失望了,因为所有结果都说明了如何查询 Prometheus。任何提示将不胜感激。

【问题讨论】:

    标签: rest prometheus grafana


    【解决方案1】:

    不幸的是,这并不重要。

    Prometheus “抓取” HTTP 端点,并希望这些端点使用 Prometheus 的展示格式发布指标。这是一种简单的文本格式,列出了指标及其值。我找不到一个很好的例子。

    您需要有一个“导出器”来与您的设备交互并创建指标(以 Prometheus 格式)并将这些指标发布到 HTTP 端点(而不是 REST,只是一个简单的文本页面)。

    然后,您将 Prometheus 服务器指向此导出器的端点,Prometheus 将定期读取代表您设备的指标并使您能够与结果进行交互。

    【讨论】:

    • 谢谢!很高兴听到这不仅仅是我。我很惊讶这会是一个如此大的挑战。难道我不能编写一个简单的 Python / bash 脚本,以某种方式将数据转储到 Prometheus 数据库中吗?
    • 我认为还有其他选择。设备“开箱即用”发布 Prometheus 指标的情况并不少见。 (1) Ping myStrom 人员,并要求他们向他们的 API 添加一个(默认)/metrics 端点,为您生成设备指标。 (2) 使用优秀的家庭自动化工具之一,例如home-assistant.io/integrations/mystrom。这些(通常,请检查)与 Prometheus 集成,因此您可以为您添加的所有设备获得它。 (3) 查看其他人是否编写了您可以使用的集成(在短暂的 Google 之后无法找到)。
    • (4) 自己编写一个 Python 集成但是我建议你使用 Prometheus SDK (github.com/prometheus/client_python)。这将是一个有趣的项目,你会学到一些好东西。
    猜你喜欢
    • 2020-09-08
    • 1970-01-01
    • 2018-03-21
    • 2023-03-11
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2020-07-03
    相关资源
    最近更新 更多