使用 Prometheus 的 InfoMetricFamily 在 Grafana 中制作 table 可视化
Make table visualization in Grafana using Prometheus's InfoMetricFamily
我有以下代码:
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_info{name="external",status="danger",value="N\A"} 1.0
我想在 Grafana 中构建 table 仪表板,其中 name
、status
、value
将是列。我该怎么做?
由于Grafanav4.3, the table panel支持Prometheus标签的显示
要创建显示,请在仪表板中添加一个 table 面板:
- 在
Query
选项卡中
- 将
Instant
切换为True并将Format
设置为Table
;如果您从填写查询开始,您可能会收到 BIG 响应冻结您的 window
- 在
Metrics
中写下您的查询:在您的情况下 health_info
- 在可视化选项卡中,您将控制应显示的列并设置其显示格式
- 删除
Time
列(除非你需要它,我个人很少这样做)
- 将包罗万象的规则
/.*/
设置为类型 Hidden
;它会隐藏你所有的列
- 使用
Add column style
隐藏要显示的列,方法是在 Apply to columns named
中键入名称然后显示(完成效果很好)
- 您可以调整
Column Header
中的列名称并调整显示
注意:目前,您无法修改列的顺序。
如果您想在同一行显示多个指标,请注意:
- 所有标签必须匹配:通过应用聚合函数删除冲突的标签
- 度量的名称是一个标签:您还需要去掉
__name__
标签
- 添加第二个值时,第一个值的列名称变为
Value #A
,需要调整显示
我有以下代码:
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_info{name="external",status="danger",value="N\A"} 1.0
我想在 Grafana 中构建 table 仪表板,其中 name
、status
、value
将是列。我该怎么做?
由于Grafanav4.3, the table panel支持Prometheus标签的显示
要创建显示,请在仪表板中添加一个 table 面板:
- 在
Query
选项卡中- 将
Instant
切换为True并将Format
设置为Table
;如果您从填写查询开始,您可能会收到 BIG 响应冻结您的 window - 在
Metrics
中写下您的查询:在您的情况下health_info
- 将
- 在可视化选项卡中,您将控制应显示的列并设置其显示格式
- 删除
Time
列(除非你需要它,我个人很少这样做) - 将包罗万象的规则
/.*/
设置为类型Hidden
;它会隐藏你所有的列 - 使用
Add column style
隐藏要显示的列,方法是在Apply to columns named
中键入名称然后显示(完成效果很好) - 您可以调整
Column Header
中的列名称并调整显示
- 删除
注意:目前,您无法修改列的顺序。
如果您想在同一行显示多个指标,请注意:
- 所有标签必须匹配:通过应用聚合函数删除冲突的标签
- 度量的名称是一个标签:您还需要去掉
__name__
标签 - 添加第二个值时,第一个值的列名称变为
Value #A
,需要调整显示