使用 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 中构建表格仪表板,其中 name
、status
、value
将是列。我怎么能这样做?
【问题讨论】:
【参考方案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默认存储
使用插件 metrics-reporter-prometheus 通过 Prometheus 监控 Gerrit 内部
无法使用docker(prom / prometheus)加载prometheus.yml配置文件
如何使用 Helm 更改 Prometheus 配置 scrape_interval 以进行 Prometheus 部署