Prometheus Grafana:监视主机状态

Prometheus Grafana:监视主机状态,prometheus,grafana,Prometheus,Grafana,我想设置一个Grafana仪表板。我从节点导出器接收我的度量,并将查询发送到Prometheus 在这个仪表板上,我想监控主机是否停机。目前我正在使用以下查询: up{instance="host:port", job="node-exporter"} 我的假设是,如果节点导出器不可用,那么整个主机就会停机,或者至少有一个严重的问题需要我们研究。此查询返回1或0,具体取决于给定作业是否正常工作。我可以为此或表或Polystat设置单值框。无论如何:主机的表示应该从绿色变为红色 但是,在某些情况

我想设置一个Grafana仪表板。我从节点导出器接收我的度量,并将查询发送到Prometheus

在这个仪表板上,我想监控主机是否停机。目前我正在使用以下查询:

up{instance="host:port", job="node-exporter"}
我的假设是,如果节点导出器不可用,那么整个主机就会停机,或者至少有一个严重的问题需要我们研究。此查询返回
1
0
,具体取决于给定作业是否正常工作。我可以为此或表或Polystat设置单值框。无论如何:主机的表示应该从绿色变为红色

但是,在某些情况下,我没有得到
0
值,而是得到
未找到数据点。
。这显然意味着有些地方不对劲,我们应该尽快采取行动,但是在这种情况下,主机的可视表示将从仪表板上消失。这是一件很难注意到并且很烦人的事情

有没有办法为这些情况设置某种默认值?因此,如果
没有找到数据点。
只需返回
0

例如:

在理想情况下,我看到这么多主机(正如您所看到的,其中一台主机停机,我得到的是正确的
0
,而不是
No data points
):

但是,如果对于某些主机,我发现
未找到任何数据点。
错误,我只看到这么多,这是不正确的:

我希望看到丢失的节点变成红色,而不是消失


我该怎么做呢?

您可以在{instance=“host:port”,job=“node exporter”}或on()向量(0)上执行
操作,当LHS为空时,将放入一个没有标签的0

不过,我不确定这是否是处理服务发现问题的好方法,因为这是一种与机器停机截然不同的问题