我在我的
Windows 8机器上安装了nsclient,并且我已经包含了一个自定义的.net exe来为我做一些应用程序监控. nsclient运行exe时没有问题,并将结果发送到我的nagios服务器.那部分有效.
我也打开了Windows机器上的nsclient Web服务器,这也有效.我可以通过网络运行Check_cpu,Check_disk等,这很棒(摇滚迈克尔梅丁!).
但是,我希望能够通过Web服务器运行我的自定义exe,就像你可以运行的其他模块一样,如Check_memory,Check_cpu等.实际上,我的自定义exe没有显示在Web服务器UI上.
我浏览了nsclient网站,并且有一个API文档nsclient核心功能,但找不到特定于Web服务器部分的API.因为我在.Net中这样做,所以我希望我所要做的就是实现一个接口(或类似的东西)来与nsclient web服务器进行交互.或者甚至可能更简单.
题
如何将我的自定义exe包含在可以使用nsclient通过Web手动执行的检查列表中?如果那里有任何代码样本会给我的眼睛带来泪水.
谢谢你们.
解决方法
Web UI并不神奇(并且都不是内置检查),因此如果命令可通过例如NRPE获得,那么它也可通过WEB UI获得.
所以这应该是要走的路:https://docs.nsclient.org/howto/external_scripts.html#adding-a-script
[/modules] CheckExternalScripts=enabled [/settings/external scripts/scripts] foo=scripts\foo.bat