使用Prometheus的InfoMetricFamily在Grafana中进行表格可视化

时间:2019-10-30 14:07:50

标签: python grafana prometheus

我有以下代码:

c = InfoMetricFamily("health", "Health Monitoring")
c.add_metric(labels=name, value={"name": name, "status": status, "value": value})

为普罗米修斯提供以下指标:

# HELP health_info Health Monitoring
# TYPE health_info gauge
health_info{name="external",status="danger",value="N\\A"} 1.0

我想在Grafana中构建表仪表板,其中namestatusvalue将成为列。我该怎么办?

1 个答案:

答案 0 :(得分:1)

从Grafana v4.3开始,table panel支持Prometheus标签的显示。

要创建显示,请在仪表板上添加表格面板:

  1. Query标签中
    1. Instant切换为True,并将Format设置为Table;如果您先填写查询,则可能会收到 BIG 响应,冻结窗口
    2. Metrics中写查询:以您的情况health_info
  2. 在可视化选项卡中,您将控制应显示的列并设置其显示格式
    1. 删除Time列(除非您需要它,我个人很少这样做)
    2. 将总体规则/.*/设置为Hidden;它将隐藏您的所有列
    3. 使用Add column style隐藏要显示的列,方法是在Apply to columns named中键入然后输入名称(完成效果很好)
    4. 您可以调整Column Header中的列名并调整显示内容

注意::当前,您无法修改列的顺序。

如果要在同一行上显示多个指标,请注意:

  • 所有标签必须匹配:通过应用聚合函数删除有冲突的标签
  • 指标的名称是标签:您还需要摆脱__name__标签
  • 添加第二个值时,第一个值的列名称更改为Value #A,并且需要调整显示