感谢您花时间阅读这篇文章。
基本上我让 Nagios 从我的 LAN 中的工作站接收状态更新,我在工作站上运行一个简单的 .vbs 脚本,它从某些 .exe 获取文件版本号,然后将其发送到 Nagios,这样我就可以在软件的 Nagios 中看到文件版本像 Skype、Firefox、Thunderbird、Java、Adobe。
它们是静态的,因为它们总是设置为绿色,但这不是问题所在。
如果我检查状态更新,它会显示“OK”,但如果我在 /var/log/messages 上使用 tail -f 在终端窗口中检查状态更新,我可以看到程序版本号正常。那么为什么网页界面只显示“OK”
当使用 NSCE 和相同的脚本时,我没有问题,所以它必须与 NSCA 有关。
有任何想法吗?我提供了一些图像以使其更容易。
再次感谢您阅读这篇文章,感谢您的帮助。
山姆
首先,Nagios/NSCA 将在文本中的第一个回车符和/或换行符处停止解析返回的文本。因此,如果没有一些技巧,输出中的多行通常是行不通的。
其次,如果 CGI 在返回的文本中作为性能数据(在竖线“|”字符之后)发送,则 CGI 也不会显示此信息(无论如何在该视图上)。
第三,在该 CGI 视图中,该框中显示的字符数有限制。您可能必须单击链接才能查看 LONGSERVICEOUTPUT 和 SERVICEPERFDATA,具体取决于您尝试将这些行插入到哪个位置?
最后,NSCA(同样,除非被黑客入侵)将截断任何超过 1023 个字符的文本。
您应该编辑 vbs 脚本,使其将数据作为一行返回,并确保在它之前没有放置竖线字符。请记住,您可以“输出”多少是非常有限的。你总是可以破解 NSCA,我的支持 16K 的返回文本。