Nagios计算某些目录中的文件

我试图监视一个服务器上的目录,文件的数量可以每天都有所不同。 这个服务器本身在Nagios3上监控得很好。 但是,如果我要计算一个目录中的文件数,例如d:\david\ ,它们都是XML文件。

纳吉奥斯能做到这一点,如果是的话,我会怎么做呢? 对纳吉奥斯来说,我很新鲜,但我仍然对此深感自豪。

您可以使用nrpe守护程序(在nagios服务器上)在远程主机上启动一个命令。 在您的Nagios services.cfg您可能会添加一个如下所示的节(将admins联系人组更改为系统上的真实联系人组或将其留下注释掉):

 define service { service_description count files in directory d:\david\ check_command count_david_files! host_name my.windows.host check_period 24x7 notification_period 24x7 # contact_groups +admins event_handler_enabled 0 use generic-service } 

然后,在my.windows.host你将不得不findnrpe.cfg文件,并添加一行像这样(注意:这是从一个Linux客户端,但Windows的configuration是非常相似的)

 command[count_david_files]=/usr/local/nagios/myplugins/check_david_files 

check_david_files文件需要是某种可执行文件( batch file显然工作 ),打印出“OK”,“WARNING”,“CRITICAL”或“UNKNOWN”,然后退出并显示相应的退出代码:

  OK (0), WARNING (1), CRITCAL (2) and UNKNOWN (3). 

在nagios中触发警戒状态的这些出口coes发信号给服务器是不对的。 这是在这个batch file,你可以做这样的事情:

 @echo "OK: Files less than 10" @exit 0 

或者发出警告:

 @echo "WARNING: Files > than 10!" @exit 1 

首先,您可能只想使用这两行来testing您的设置。 祝你好运。

您需要用您熟悉/喜欢的任何语言编写脚本来计算目录中文件的数量。 在这个脚本中,你可以根据你是否想将当前状态视为OK,WARNING或CRITICAL来使用nagios条件返回特定的退出状态。

然后,可以使用NSClient ++或Winrpe等工具从nagios调用脚本。