Stephan Glotzbach
2015-04-27 12:51:26 UTC
Hallo zusammen,
ich bin noch relativ neu im Bereich OpenNMS und bin nun dabei, für unser Unternehmen das System erst einmal grundlegend aufzusetzen. Dazu möchte ich nun unter anderem auch den Status verschiedener Windows-Dienste abfragen. Per snmpwalk habe ich alle Dienste vom Windows Server 2012 R2 Server abgefragt, dort wird z.b. der Dienst "Microsoft Exchange-Einschränkungen" folgendermaßen angezeigt:
.3.6.1.4.1.77.1.2.3.1.1.35.77.105.99.114.111.115.111.102.116.32.69.120.99.104.97.110.103.101.45.69.105.110.115.99.104.114.195.164.110.107.117.110.103.101.110 = Hex-STRING: 4D 69 63 72 6F 73 6F 66 74 20 45 78 63 68 61 6E
67 65 2D 45 69 6E 73 63 68 72 C3 A4 6E 6B 75 6E
67 65 6E
Wie kann ich diesen Dienst nun abfragen? Den Exchange-Dienst "Microsoft Exchange-Dateiverteilung" sieht über snmpwalk so aus:
.3.6.1.4.1.77.1.2.3.1.1.34.77.105.99.114.111.115.111.102.116.32.69.120.99.104.97.110.103.101.45.68.97.116.101.105.118.101.114.116.101.105.108.117.110.103 = STRING: "Microsoft Exchange-Dateiverteilung"
Die Dienstabfrage selbst sieht wie folgt aus:
<<default-foreign-source.xml>>
-------------------------------------------------------------
<detector name="Microsoft Exchange-Dateiverteilung (Windows-Dienst)" class="org.opennms.netmgt.provision.detector.snmp.Win32ServiceDetector">
<parameter key="win32ServiceName" value="Microsoft Exchange-Dateiverteilung"/>
<parameter key="serviceName" value="Microsoft Exchange-Dateiverteilung"/>
<parameter key="retries" value="1"/>
<parameter key="timeout" value="2000"/>
</detector>
-------------------------------------------------------------
<<poller-configuration.xml>>
-------------------------------------------------------------
<service name="Microsoft Exchange-Dateiverteilung (Windows-Dienst)" interval="300000" user-defined="false" status="on">
<parameter key="retry" value="6" />
<parameter key="timeout" value="4950" />
<parameter key="port" value="161" />
<parameter key="service-name" value="Microsoft Exchange-Dateiverteilung" />
</service>
....
<monitor service="Microsoft Exchange-Dateiverteilung (Windows-Dienst)" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor" />
-------------------------------------------------------------
Diese Vorgehensweise funktioniert auch, der Dienst wird erkannt.
Wie kann ich einen HEX-String einsetzen? Das Prozedere wird im OpenNMS-Wiki nicht näher erläutert.
ich bin noch relativ neu im Bereich OpenNMS und bin nun dabei, für unser Unternehmen das System erst einmal grundlegend aufzusetzen. Dazu möchte ich nun unter anderem auch den Status verschiedener Windows-Dienste abfragen. Per snmpwalk habe ich alle Dienste vom Windows Server 2012 R2 Server abgefragt, dort wird z.b. der Dienst "Microsoft Exchange-Einschränkungen" folgendermaßen angezeigt:
.3.6.1.4.1.77.1.2.3.1.1.35.77.105.99.114.111.115.111.102.116.32.69.120.99.104.97.110.103.101.45.69.105.110.115.99.104.114.195.164.110.107.117.110.103.101.110 = Hex-STRING: 4D 69 63 72 6F 73 6F 66 74 20 45 78 63 68 61 6E
67 65 2D 45 69 6E 73 63 68 72 C3 A4 6E 6B 75 6E
67 65 6E
Wie kann ich diesen Dienst nun abfragen? Den Exchange-Dienst "Microsoft Exchange-Dateiverteilung" sieht über snmpwalk so aus:
.3.6.1.4.1.77.1.2.3.1.1.34.77.105.99.114.111.115.111.102.116.32.69.120.99.104.97.110.103.101.45.68.97.116.101.105.118.101.114.116.101.105.108.117.110.103 = STRING: "Microsoft Exchange-Dateiverteilung"
Die Dienstabfrage selbst sieht wie folgt aus:
<<default-foreign-source.xml>>
-------------------------------------------------------------
<detector name="Microsoft Exchange-Dateiverteilung (Windows-Dienst)" class="org.opennms.netmgt.provision.detector.snmp.Win32ServiceDetector">
<parameter key="win32ServiceName" value="Microsoft Exchange-Dateiverteilung"/>
<parameter key="serviceName" value="Microsoft Exchange-Dateiverteilung"/>
<parameter key="retries" value="1"/>
<parameter key="timeout" value="2000"/>
</detector>
-------------------------------------------------------------
<<poller-configuration.xml>>
-------------------------------------------------------------
<service name="Microsoft Exchange-Dateiverteilung (Windows-Dienst)" interval="300000" user-defined="false" status="on">
<parameter key="retry" value="6" />
<parameter key="timeout" value="4950" />
<parameter key="port" value="161" />
<parameter key="service-name" value="Microsoft Exchange-Dateiverteilung" />
</service>
....
<monitor service="Microsoft Exchange-Dateiverteilung (Windows-Dienst)" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor" />
-------------------------------------------------------------
Diese Vorgehensweise funktioniert auch, der Dienst wird erkannt.
Wie kann ich einen HEX-String einsetzen? Das Prozedere wird im OpenNMS-Wiki nicht näher erläutert.