如何从命令行手动运行 nagios 检查?

cwd*_*cwd 26 linux unix monitoring command-line-interface nagios

在 nagios 中定义和测试新服务时,我一直在重新启动 nagios,然后单击该服务,并尽快重新安排检查,然后等待检查发生。

有没有更有效的方法来做到这一点?我想使用命令行运行该特定检查并获取输出。

Zor*_*che 31

有时我发现弄清楚插件在做什么很棘手。为了解决这个问题,我使用这样的配置将 nagios 设置为调试模式。 debug_level=2048 在调试模式下的 nagios 中,我只是拖尾debug_log文件debug_file=/var/log/nagios3/nagios.debug。强制检查,您将确切地看到命令是如何运行的。不过,我通常不会保留此设置,它非常冗长,并且会以快速的速度填充您的日志文件。

  • 我还将提醒新用户使用 `tail -f` 将允许您继续实时查看文件的更新,而 `control+c` 将取消此操作。 (2认同)
  • debug_levels 是二进制的 - 2048 只打开来自宏的消息。要打开您想要设置的所有内容 debug_level=4095。(1 + 2 + ... + 2048) (2认同)

Dav*_*d W 19

这很简单。只需 cd(或不)进入 plugins 目录(此目录位置会有所不同,具体取决于您的安装方式,但请检查 /usr/local/nagios 或 /usr/lib/nagios)。

找到您想要运行的插件(如果您不确定,请将您在 Linux 机器上的 plugins 目录中看到的内容与位于此处的插件进行比较:http : //exchange.nagios.org/directory/Plugins,或者尝试运行“./plugin-name -h”以获取有关插件的帮助信息)。

从命令行使用这些“插件”中的任何一个的方法与任何其他 Linux 脚本相同:只需运行“./plugin-name”并带有您想要检查的适当标志,瞧!

  • 请记住,始终使用 `nagios` 用户 `su - nagios -s /bin/bash` 执行此操作。 (5认同)

Sea*_*der 5

我采取比@Zoredache 稍微强一点的暴力方向,我登录到 nagios 服务器并执行“while true; do ps awwlx | grep NAGIOS_CHECK_NAME; done”,同时我强制重新检查服务,其中 NAGIOS_CHECK_NAME 是我要查找的服务器的检查名称或 IP 的一部分。通常在几秒钟内弹出完整的检查命令,然后我终止 while 循环并运行检查命令。

是的,这完全是蛮力,但 <shrug> 对我有用。