Monitoring 为Nagios插件写入优雅超时

Monitoring 为Nagios插件写入优雅超时,monitoring,nagios,Monitoring,Nagios,发件人: 插件的运行时间非常有限,通常为10秒。因此,插件维护内部代码以在运行时超过阈值时退出是非常重要的 所有插件都应该正常超时,而不仅仅是网络插件 如何在自定义插件中实现超时机制?基本上,我希望我的插件在超时时返回一个状态代码3-未知,而不是默认的1-严重,以减少产生的误报数量 编辑:我的插件是用Bash编写的。您可以使用timeout。以下是示例用法: timeout 15 ping google.com if [ $? -eq 124 ]; then echo "UNKNOWN

发件人:

插件的运行时间非常有限,通常为10秒。因此,插件维护内部代码以在运行时超过阈值时退出是非常重要的

所有插件都应该正常超时,而不仅仅是网络插件

如何在自定义插件中实现超时机制?基本上,我希望我的插件在超时时返回一个状态代码3-未知,而不是默认的1-严重,以减少产生的误报数量


编辑:我的插件是用Bash编写的。

您可以使用
timeout
。以下是示例用法:

timeout 15 ping google.com
if [ $? -eq 124 ]; then
    echo "UNKNOWN - Time limit exceeded."
    exit 3
if

当您的命令未在定义的时间内完成时,您将从
timeout
获得返回退出状态124-
15
秒。

这里似乎有很多建议: