我在 Windows 8 机器上安装了 nsclient++,并包含了一个自定义 .net exe 来为我进行一些应用程序监控。nsclient++ 可以毫无问题地运行 exe 并将结果发送到我的 nagios 服务器。这部分工作正常。
我还在 Windows 机器上打开了 nsclient 网络服务器,它也能正常工作。我可以通过网络运行 Check_cpu、Check_disk 等,这真是太棒了(Michael Medin 加油!)。
但是,我希望能够通过 Web 服务器运行我的自定义 exe,就像可以运行的其他模块(如 Check_memory、Check_cpu 等)一样。事实上,我的自定义 exe 并未显示在 Web 服务器 UI 上。
我浏览了 nsclient++ 网站,其中有一个 API 文档 nsclient 核心功能,但找不到特定于 Web 服务器部分的 API。由于我是在 .Net 中执行此操作,因此我希望我所要做的就是实现一个接口(或类似的东西)来与 nsclient Web 服务器交互。或者甚至可能更简单。
问题 如何将我的自定义 exe 纳入可执行检查列表的一部分手动通过网络使用 nsclient++?如果有任何代码示例,我会感动得流泪。
谢谢你们。
答案1
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