我有一台nagios服务器监控多个主机和服务。现在我被要求实施nagiosgraph。我已经按照文档说明了这一切,除了鼠标功能外,一切正常。
我使用此代码
创建了一个common-header.ssi文件<script type="text/javascript" src="/nagiosgraph/nagiosgraph.js"></script>
我已将此文件放入我的nagios路径/ usr / local / nagios / share / ssi
我已经定义了一项服务,可以使用鼠标来完成这样的功能:
define service{
use local-service,graphed-service
host_name TOMCAT-DESARROLLO
service_description Tomcat heap memory
check_command check_nrpe!check_jmx_heap
notifications_enabled 0
action_url /nagiosgraph/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$' onMouseOver="showGraphPopup(this)" onMouseOut="hideGraphPopup()" rel='/nagiosgraph/cgi-bin/showgraph.cgi?host=$HOSTNAME$&service=$SERVICEDESC$
}
Nagiosgraphs工作正常,我可以点击图标访问服务的图表。当我将鼠标悬停在图标上时,弹出窗口应该显示图形而无需点击任何地方,但我在控制台中收到此错误消息:
Uncaught ReferenceError: showGraphPopup is not defined
onmouseover @ status.cgi?host=all:893
在我看来,nagiosgraph正在使用错误的cgi,因为命令行声明它将使用&#34; showgraph.cgi&#34;但错误来自于nagios&#39; &#34; status.cgi&#34;
关于为什么会发生这种情况以及如何解决它的任何想法?
非常感谢
答案 0 :(得分:0)
我不知道它是否与U有关,我现在和同样的问题争斗了2天,最后得到了它。
来自Nagios:You can include custom headers and footers in the output of the CGIs by dropping some appropriately named HTML files in the ssi/ subdirectory of the Nagios HTML directory (i.e. /usr/local/nagios/share/ssi).
不对! ssi文件的格式应该是bash而不是HTML。意思是你应该回应输出。示例common-header.ssi:
#!/bin/bash
echo "<script type=\"text/javascript\" src=\"/nagiosgraph/nagiosgraph.js\"></script>"