我是grafana和prometheus的新手。我使用这篇文章https://github.com/vegasbrianc/prometheus
中的docker-compose.yml设置了普罗米修斯,格拉法纳,alertmanager,nodeexporter和cadvisor。并从https://grafana.com/dashboards/893导入了grafana仪表板#893
但是仪表板无法正常工作,因为我可以在某些面板中看到N / A。例如,下面是面板使用的查询,我无法弄清楚如何在查询中获取模板变量的值。我查看了http://node-exporter:9100/metrics,但没有看到变量'$ server'的值
Query1: time() - node_boot_time{instance=~"$server:.*"}
Query2:min((node_filesystem_size_bytes{fstype=~"xfs|ext4",instance=~"$server:.*"} - node_filesystem_free_bytes{fstype=~"xfs|ext4",instance=~"$server:.*"} )/ node_filesystem_size_bytes{fstype=~"xfs|ext4",instance=~"$server:.*"})
我应该为node-exporter和prometheus配置什么以评估查询中的模板变量$ server?
答案 0 :(得分:0)
$server
是Grafana template variable。这些通常以下拉列表的形式显示在Grafana仪表板的顶部。
label_values
是应用于Prometheus查询的Prometheus-specific Grafana function。您的特定示例label_values(node_boot_time, instance)
将返回Prometheus收集的所有instance
指标(即Prometheus监视的所有节点导出器目标)的node_boot_time
标签的所有值。
我对您正在使用的特定仪表板(或节点导出器)没有经验,但是通常某些面板显示“ N / A”或没有值而其他面板正常工作的原因是底层指标名称可能已更改。您可以单击Grafana中有问题的面板的标题,选择 Edit ,然后单击 Metrics 标签以尝试使用不同的度量标准名称。对于“灵感”,请检查节点导出器的/metrics
端点。如果您不知道如何使用它,请在Prometheus Web界面上导航到状态> 目标,然后单击节点导出器的URL。
答案 1 :(得分:0)
一个老问题,但对我来说仍然无效。 原因是,获取所有具有node_boot_time指标的实例名称时,label_values(...)可以正常工作。
问题出在表达式后的正则表达式中(下一行)。就我而言,这有点棘手,类似于“ /([^:].*):/”。我的实例名称以“ i-”开头,不包含冒号,因此未选择任何内容。我只是使用ProductCode找出正确的实例。