OpenNMS: DRBD überwachen

5. März 2010

opennmsDas nette an den vielen Nagios-Scripten ist, dass diese sich relativ einfach remote über SNMP überwachen lassen. Nagios verarbeitet nämlich am besten einzeilige Statusmeldungen. OpenNMS bzw. SNMP profitiert auch davon. Folgend eine Kurzanleitung für das Script check_drbd

Vorbereitung Client
Nach der Installation des check_drbd Scripts genügt eine weitere Zeile in der snmpd.conf:

# snmpd.conf
extend drbd-status /etc/snmp/check_drbd -d All

Nach einem reload des SNMP-Dienstes sollte auf dem Management-Server folgendes Kommando u.A. auch die Ausgabe des drbd-Kommandos zeigen:

~ snmpwalk -c password -v 1 example.com NET-SNMP-EXTEND-MIB::nsExtendOutputFull
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."drbd-status" = STRING: DRBD OK: Dev 0 ConUpT, Dev 1 ConUpT

Nur am Rande: Das “extend” Statement in der snmpd.conf erweitert die Net-SNMP-Extend-MIB (OID: .1.3.6.1.4.1.8072.1.3). Dabei wird der vergebene Name des “Abschnitts” (hier: drbd-status) in ASCII-Werten umgewandelt an die OID angehängt. Die für OpenNMS wichtige numerische OID bekommt man am einfachsten durch die Option “-O n” beim snmpwalk. z.B.:

~ snmpwalk -O n -c password -v 1 example.com NET-SNMP-EXTEND-MIB::nsExtendOutputFull
.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.100.114.98.100.45.115.116.97.116.117.115 = STRING: DRBD OK: Dev 0 ConUpT, Dev 1 ConUpT

OpenNMS Konfiguration
capsd-configuration.xml

<protocol-plugin protocol="DRBD-status" class-name="org.opennms.netmgt.capsd.plugins.SnmpPlugin" scan="on">
    <property key="vbname" value=".1.3.6.1.4.1.8072.1.3.2.3.1.2.11.100.114.98.100.45.115.116.97.116.117.115" />
    <property key="timeout" value="2000" />
    <property key="retry" value="1" />
</protocol-plugin>

poller-configuration.xml

<service name="DRBD-status" interval="300000" user-defined="false" status="on">
  <parameter key="retry" value="4" />
  <parameter key="timeout" value="5000" />
  <parameter key="port" value="161" />   
  <parameter key="oid" value=".1.3.6.1.4.1.8072.1.3.2.3.1.2.11.100.114.98.100.45.115.116.97.116.117.115" />
  <parameter key="operator" value="~" />
  <parameter key="operand" value="^DRBD OK." />
</service>
 
<monitor service="DRBD-status" class-name="org.opennms.netmgt.poller.monitors.SnmpMonitor" />

Nach einem Neustart von OpenNMS wird der DRBD Dienst erkannt und überwacht.

2 Antworten to “OpenNMS: DRBD überwachen”

  1. Gerd sagt:

    die OID findet man am besten so raus:

    snmptranslate NET-SNMP-EXTEND-MIB::nsExtendOutputFull.\”drbd-status\” -On

    .1.3.6.1.4.1.8072.1.3.2.3.1.2.11.100.114.98.100.45.115.116.97.116.117.115

  2. otto sagt:

    kannte ich noch nicht ;)

Antwort hinterlassen