csv 格拉法娜·普罗米修斯|使用键值对的静态列表连接度量

vmjh9lq9  于 2023-10-13  发布在  其他
关注(0)|答案(1)|浏览(107)

Prometheus有一个指标,可以返回特定数据中心中每个应用程序示例所消耗的内存。

memory_metric{appid="12354"}

因此,上面的查询将给予每个数据中心上该appid所消耗的内存,如

{dc: datacenter1, value: 20000}, {dc: datacenter2, value: 30000}

每个数据中心都有一个与之关联的编号,以csv的形式存储:

datacenter1: 12, datacenter2: 9, ...

我需要将每个数据中心的指标乘以上面CSV中特定数据中心的数字,然后在饼图或表格中显示每个数据中心的新值。
我还想创建另一个面板,对上面记录的数字进行求和。
我已经尝试使用grafana变量来存储和使用csv,但它实际上并不起作用

bq3bfh9z

bq3bfh9z1#

使用Prometheus记录规则将CSV转换为指标(https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/):

groups:
  - name: example
    rules:
    - record: give_this_metric_a_name
      expr: 1
      labels:
        dc: datacenter1
    - record: give_this_metric_a_name
      expr: 2
      labels:
        dc: datacenter2
    ...
    - record: give_this_metric_a_name
      expr: N
      labels:
        dc: datacenterN

然后你可以在查询中使用它:

memory_metric{appid="12354"} * on(dc) group_left give_this_metric_a_name

相关问题