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

Posted

技术标签:

【中文标题】使用 Prometheus 的 InfoMetricFamily 在 Grafana 中进行表格可视化【英文标题】:Make table visualization in Grafana using Prometheus's InfoMetricFamily 【发布时间】:2020-02-25 20:39:29 【问题描述】:

我有以下代码:

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

为 Prometheus 提供以下指标:

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

我想在 Grafana 中构建表格仪表板,其中 namestatusvalue 将是列。我怎么能这样做?

【问题讨论】:

【参考方案1】:

由于 Grafana v4.3,table panel 支持 Prometheus 标签的显示。

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

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

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

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

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

【讨论】:

以上是关于使用 Prometheus 的 InfoMetricFamily 在 Grafana 中进行表格可视化的主要内容,如果未能解决你的问题,请参考以下文章

prometheus-adapter 使用的正确 prometheus URL 是啥

grafana和prometheus系列六:prometheus默认存储

prometheus视频教程

使用插件 metrics-reporter-prometheus 通过 Prometheus 监控 Gerrit 内部

无法使用docker(prom / prometheus)加载prometheus.yml配置文件

如何使用 Helm 更改 Prometheus 配置 scrape_interval 以进行 Prometheus 部署