我有自定义的nagios测试,可能需要一段时间才能完成(<1-15分钟)。有时,当测试需要一段时间时,Nagios会在下一个检查周期中重新运行测试。因此,我可以看到其中几个测试同时运行。
我知道我可以增加检查周期时间,但测试通常需要30秒左右,所以我不想增加检查间隔,然后在15分钟内看不到错误。
我也考虑过在测试中杀死现有的进程,但这会导致在nagios中生成警报(我不希望测试/结果出错)。
那么,有没有一个好的方法来处理这个问题?我希望能够告诉nagios,"如果上一个检查还没有完成,就不要运行这个检查。"
您可以在检查开始运行时将文件写入磁盘(确保无论成功/失败状态如何都将其删除)。
如果出现第二次检查,您可以成功退出,或者在文件仍然存在的情况下发出警告。
如果进程参数有一个唯一的标识符,如果进程已经显示在进程表(ps-ef)