DevOps

SNMP und seine Umgebungsvariablen – ein Debugging-Trip

Vor Kurzem liefen die SNMP Nagios-Checks einiger unserer Hosts in einen Timeout. Die NRPE-Checks auf den gleichen Hosts waren alle OK, es konnte sich also nicht um ein allgemeineres (Netzwerk-)Problem handeln. Also habe ich mir einen der betroffenen Hosts im Detail angesehen.

Die anfängliche Untersuchung hat keine Probleme gezeigt:

  • SNMPd lief, der Port war geöffnet
  • Das Logfile zeigte keine Fehler
  • Auch ein Neustart des Daemons lief erfolgreich durch und hat keine offensichtlichen Fehler produziert

Was dann jedoch aufgefallen ist, waren folgende Logfile-Einträge:

Diese kamen mir bekannt vor, gehörten sie doch zu den Einträgen, die bei jeder SNMP-Verbindung geloggt wurden. Wenn ein Monitoring-System alle 5 Minuten Checks ausführt, ist das Logfile voll mit diesen Einträgen.

Aus genau diesem Grund habe ich jedoch folgende Option in der snmpd.conf gesetzt:

Diese sorgt normalerweise dafür, dass die Connection-Logeinträge nicht mehr geschrieben werden. Anscheinend wurde aber die snmpd.confnicht geladen, in der die Verbindungsparameter vom Nagios-Server stehen!

Also habe ich einen Blick in die Manpage von snmpd geworfen und bin auf folgenden Abschnitt gestoßen:

Der letzte Teil ist der wichtige. Wird eine Umgebungsvariable SNMPCONFPATH genutzt, wird in dem in ihr angegeben Pfad nach einer SNMP-Konfiguration gesucht. Ein set| grep -i snmp hat auch schnell einen Treffer gefunden.

Es hat sich herausgestellt, dass eine 3rd-Party-Einheit in einem ihrer Installations-Scripte die Umgebungsvariable gesetzt hat. Beim nächsten Neustart des SNMP-Daemons wurde die Variable angezogen, der Daemon hat in dem Pfad nach einer Konfiguration gesucht, aber keine gefunden. Also hat er seine “Standard-Konfiguration” genutzt, in der weder Verbindungsparameter noch dontLogTCPWrappersConnectsgestanden haben.

Nach Entfernen der Umgebungsvariablen und Neustarten des Daemons konnte Nagios sich wieder verbinden und der Debugging-Trip abgeschlossen.

Beitragsbild: CC BY 2.0, via flickr/Jeffery Scism

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.