我正在尝试实现脚本(sh,py ..),如果我在节点上安装的应用程序是最新的,则它将获得mi True(Up)为False(Down)状态。
在此之前,我试图实现在网络(https://wiki.opennms.org/wiki/SystemExecuteMonitor)上找到的简单脚本,只是为了查看脚本是否有效。
OpenNMS已安装在Windows 10上。 这是我到目前为止所做的:
在poller-configuration.xml中
`<service name="Test" interval="300000" user-defined="false" status="on">
<parameter key="script" value="/etc/scripts/test.sh"/>
<parameter key="banner" value="OK"/>
<parameter key="retry" value="3"/>
<parameter key="timeout" value="3000"/>
<parameter key="rrd-repository" value="/opt/opennms/share/rrd/response"/>
<parameter key="ds-name" value="test"/>
</service>`
AND
`<monitor service="Test" class-name="org.opennms.netmgt.poller.monitors.SystemExecuteMonitor"/>`
在default-foreign-source.xml
`<detector name="Test" class="org.opennms.netmgt.poller.monitors.SystemExecuteMonitor">
<parameter key="script" value="/etc/scripts/test.sh"/>
<parameter key="banner" value="OK"/>
<parameter key="retry" value="3"/>
<parameter key="timeout" value="3000"/>
<parameter key="rrd-repository" value="/opt/opennms/share/rrd/response"/>
<parameter key="ds-name" value="test"/>
</detector>`
这就是我所缺少的:snmpd.conf
我在OpenNMS中没有该文件,所以我的问题是我应该在哪里调用该脚本,我是否会错过其他东西才能使它正常工作?
Thnx!
答案 0 :(得分:0)
同时,我已经实现了如下这样的groovy脚本:
在poller-configuration.xml中
<service name="MinGroovy" interval="300000" user-defined="true" status="on">
<parameter key="file-name" value="C:/OpenNMS/etc/scripts/MinimalGroovy.groovy"/>
<parameter key="bsf-engine" value="org.codehaus.groovy.bsf.GroovyEngine"/>
<parameter key="rrd-repository" value="/opt/opennms/share/rrd/response" />
</service>
AND
<monitor service="MinGroovy" class-name="org.opennms.netmgt.poller.monitors.BSFMonitor"/>
这是我的常规脚本:
#!/usr/bin/env groovy\
bsf_monitor.log("ERROR", "Starting MinimalGroovy.groovy", null);
filePath = "//netpath/output/temp.txt"
file = new File(filePath)
if (file.exists()){
return "OK";
}else{
return "NOK";
}
在groovy-starter.conf中,我添加了:
enter #lib for opennms
load ${opennms.home}/lib/*.jar
如果我在groovy控制台中运行脚本,就可以了!
这是我在OpenNMS中的poller.log中遇到的错误:
ERROR [pool-9-thread-27] o.o.n.p.m.BSFMonitor: Starting MinimalGroovy.groovy
有帮助吗?
答案 1 :(得分:0)
您在poller-configuration.xml中的服务定义对我来说可疑:
<service name="MinGroovy" interval="300000" user-defined="true" status="on">
<parameter key="file-name" value="C:/OpenNMS/etc/scripts/MinimalGroovy.groovy"/>
<parameter key="bsf-engine" value="org.codehaus.groovy.bsf.GroovyEngine"/>
<parameter key="rrd-repository" value="/opt/opennms/share/rrd/response" />
</service>
文件名位于“ C:/ ...”上,而您的rrd存储库位于“ / opt / opennms”中。您是否已在Windows或Linux上安装OpenNMS?从OpenNMS流程角度来看,服务定义中的groovy脚本路径。