从Windows批处理脚本调用NSCA(使用NSClient ++)

我有NSClient ++安装在一些分布式的Windows服务器上,我正在使用Icinga来监视。 我也有一个UPS连接到每个服务器,可以执行一个自定义的命令,然后安排关机。 我想创build一个调用NSCA客户端的批处理脚本来通知我的中央服务器主机正在使用电池供电。 从nsc.ini中可以看出,NSCAClient只能定期检查本地的命令/服务,并将结果提交给中央服务器。 是否有可能做我想做的事情,如果是的话,怎么做?

是的。

你可以从命令行使用NSCA和NRPE(如果你有更新版本的NSClient ++),这意味着你可以随意提交数据。 这将使用0.4.2和0.4.3(也可能是0.4.1)

nscp nsca --command wicked_command --result WARNING --message "Wh000t I am wicked" --host 127.0.0.1 --log debug --source-host MyHost 

对于更多选项运行:

 nscp nsca -- --help # <0.4.2 nscp nsca --help # >0.4.3 

如果你想testing这个,你可以使用下面的configuration:

 [/modules] SimpleFileWriter = enabled NSCAServer = enabled [/settings/default] allowed hosts = 127.0.0.1 [/settings/NSCA/server] inbox = FILE 

然后启动nsclient ++(在testing模式下)并发出上述命令,并且将发送一个文件output.txt,用于发送给NSCA的每个命令(使用上述命令)。

NSClient ++文档非常全面 ,所以你可能想从那里开始。