0

我试图从插件中捕获“nrpe 无法读取输出”输出,并在发生这种情况时发送一封电子邮件,我有点卡住了:)。当这个错误发生在不同的插件上时,会有不同的返回码:

返回码 服务状态

0 好

1 警告

2 关键

3 未知

有没有办法统一我使用的所有插件的返回码(发生此问题时总会有 2[CRITICAL]),或者有任何其他方法来捕获这些警报?我想按原样保留不同情况的返回代码(即文件系统 /home 将警告(返回代码 1)为 95% 和关键(返回代码 2)为 98%

4

2 回答 2

0

好的,我想我已经找到了解决问题的方法——我将尝试检查每个节点上的 nagios.log 是否存在这些错误。

于 2016-08-19T06:53:15.080 回答
0

大多数人宁愿不要让这个错误发送警报电子邮件,因为它并不代表实际的失败检查。基本上它的意思不外乎:

  • 命令/插件(本地或远程)由 NRPE 运行,但是
  • 未能将任何可用状态和/或文本返回给 nrpe。

这通常意味着命令/插件出现问题并且它没有完成预期执行的工作。您不希望在实际未执行检查时发出警报以进行检查 - 因为这将非常具有误导性。同样重要的是要注意返回代码甚至不是来自命令/插件。

根据我的经验,导致此错误的第一大原因是检查错误。并且作为 NPRE 状态的文档,您应该运行检查(及其所有选项!)以确保它正确运行。帮自己一个忙,测试工作和不工作状态。大约 75% 的情况发生这种情况是因为检查只有在结果正常时才能正常工作,而当必须报告不正常的情况时就会崩溃。

导致这些问题的另一个问题是网络故障。NRPE连接并运行检查;但在看到任何响应之前连接已关闭。再一次,不是真正的检查结果。

对于生产 Nagios 监控系统,这些应该是非常罕见的错误。如果它们经常发生,那么您可能还有其他需要解决的问题。

据我所知,所有内置的 Nagios 插件都使用完全相同的一组返回码。你确定这不是“自定义”检查吗?

于 2016-08-17T05:15:04.380 回答