来自Nagios' Plugin Development Guidelines:
插件的运行时间非常有限-通常为10秒。因此,对于插件来说,如果运行时超过阈值,则保持内部代码退出非常重要。
所有插件都应该优雅地超时,而不仅仅是网络插件。
如何在我的自定义插件中实现超时机制?基本上,我希望我的插件在插件超时时返回状态码3-UNKNOWN而不是默认值1-CRITICAL,以减少误报的产生。
编辑:我的插件是用Bash编写的。
答案 0 :(得分:1)
您可以使用changeMessage
。这是用法示例:
timeout
如果您的命令未在规定的时间内完成timeout 15 ping google.com
if [ $? -eq 124 ]; then
echo "UNKNOWN - Time limit exceeded."
exit 3
if
秒,您将从timeout
获得返回退出状态124。