【问题标题】:Can I use lists in Prometheus / Prometheues in Grafana?我可以在 Grafana 的 Prometheus / Prometheus 中使用列表吗?
【发布时间】:2021-07-30 11:21:53
【问题描述】:

我正在通过 Grafana 中的 up{instance='$mac'} 从 Prometheus 数据源中选择源/设备。 Grafana 变量$mac 是一个代表主机名等的字符串,我根据来自(Postgre)SQL 数据库的用户输入生成它。 这行得通。现在我想做两件事:

  1. 使用自设标签(例如设备的位置而不是其 MAC 地址)
  2. instance 使用 MAC 地址列表/数组,并为图例中的标签使用另一个变量。

https://prometheus.io/docs/prometheus/latest/querying/basics/ 中提到的vectors 似乎仅适用于时间值。基本上我在 SQL 中搜索相当于IN 的东西。

【问题讨论】:

    标签: prometheus grafana


    【解决方案1】:

    如果我理解正确,您正试图从给定的指标up 中检索一些值数组。这就是您与 SQL 中的 IN 运算符进行的一些类比。 从docs,您可以使用=~: Select labels that regex-match the provided string。例如,下面的查询使用它here

    up{job=~"(prometheus|alertmanager)"}
    

    或者你可以使用NOT IN的类比:!~: Select labels that do not regex-match the provided string

    up{job!~"(prometheus)"}
    

    那么我认为你可以用 Grafana 上的 $mac 变量替换这些值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 2020-02-25
      • 1970-01-01
      • 1970-01-01
      • 2019-12-30
      • 2019-03-24
      • 2020-02-25
      相关资源
      最近更新 更多