0

我有一个基于 node-exporter 报告的指标的警报 - 每当节点关闭超过 2 分钟时报告。我们在 kubernetes 集群中将 node-exporter 作为 DaemonSet 运行。

问题是有时节点被永久删除,我们继续收到警报。我想知道以自动方式解决这些警报的正确方法是什么。

如果“FOR”子句允许一个范围,比如 FOR 2m 到 24h,那么这可能对我有用,但我不知道是否支持。

供参考,这是我们的规则 -

ALERT InstanceDown
  IF up{job="kubernetes-node-exporter"} == 0
  FOR 2m
  LABELS { 
    severity = "page"
   }
  ANNOTATIONS {
    summary = "Node {{ $labels.instance }} is down",
    description = "Node {{ $labels.instance }} of job {{ $labels.job }} has been down for more than 2 minutes.",
  }

PS:在https://groups.google.com/forum/#!topic/prometheus-developers/iP2k68eUVrM Brian Brazil 的讨论中说如下。它是否也适用于需要在每个节点上运行的节点导出器?

我们认为每台机器一个出口商是一种反模式,因为它在技术和操作上都是一个瓶颈,并且会增加一个出口商失败的影响。

4

1 回答 1

0

这听起来像是 Prometheus 1.x 中的陈旧性,更高的 FOR 子句(例如 10m)将处理它。

它是否也适用于需要在每个节点上运行的节点导出器?

每台机器只有一个出口商可以做所有事情,这是一种反模式。到处运行节点导出器是使用它的预期方式。

于 2018-01-25T12:18:59.430 回答