Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenNMS实现脚本以获取任何服务的状态_Opennms - Fatal编程技术网

OpenNMS实现脚本以获取任何服务的状态

OpenNMS实现脚本以获取任何服务的状态,opennms,Opennms,我正在尝试实现脚本(sh,py…),如果我在节点上安装的应用是最新的,则该脚本将获得mi True(Up)或False(Down)状态 在此之前,我尝试实现在net()上找到的简单脚本,只是为了看看脚本是否有效 OpenNMS安装在Windows 10上。 这就是我目前所做的: 在poller-configuration.xml中 `<service name="Test" interval="300000" user-defined="false" status="on">

我正在尝试实现脚本(sh,py…),如果我在节点上安装的应用是最新的,则该脚本将获得mi True(Up)或False(Down)状态

在此之前,我尝试实现在net()上找到的简单脚本,只是为了看看脚本是否有效

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>`
<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>
`
`

``
在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

同时,我实现了如下groovy脚本:

在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>`
<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>
在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

有什么帮助吗?

我觉得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?服务定义中groovy脚本的路径是从OpenNMS进程的角度来看的。

Hello!几天前我找到了一个解决办法。Lib是个问题,错误的版本:)现在一切都正常了。塔克斯!
<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>