Nagios 检测 Flapping 的算法

查看原文

在 Nagios 对 Service 或者 Host 做可用性检测的时候,可能会出现 Flapping 现象。Flapping 是指服务或节点状态变更太频繁,一会儿好,一会儿不好。它可能是因为服务负载太高,也有可能是网络问题。Nagios 的检测算法是:

  • 存最近 21 次的检测结果
  • 检测状态变更了 N 次
  • 算 N / 21 = m %
  • 把 m 跟设定的最高和最低的两个阈值比对,比 high 阈值高的话就是开始 flapping,比 low 阈值低的话 flapping 就认为停止了。

例如,21 次变更,丢了一次,变更了 7 次,那结果就是 7 / 20 = 35%, 如果设定 31% 是开始 flapping 的阈值,那这时就认定服务或节点开始 flapping 了。