Snmp -> smtp

Servus,

für unseren neuen Serverraum bekommen wir u. a. auch neue Hardware, die diverse Stati (Zutritte, Temperatur und Luftfeuchte, USV-Meldungen etc.) per snmp weiterreichen soll. Heute ruft der Lieferant an und erklärt mir, dass für die Generierung von Mails (oder anderer Benachrichtigungsformen) anhand dieser Meldungen eine eigene Windows-Software zu erwerben sei, die leider im Kostenvoranschlag vergessen worden sei.

Meine Erwiderung, dass ich für die Verarbeitung von sicherheitsrelevanten Meldungen per snmp lieber ein angemessenes Betriebssystem fahren würde, veranlasste ihn zur Rückfrage beim Kollegen von der Linux-Front, der mich nun mit dem nächsten Anruf überrascht, in diesem Falle müsse ich einen Suse-Enterprise-Server einsetzen.

Ich kann mir nicht vorstellen, dass ich eine einfache Sache wie snmp -> smtp (sofern es nicht schon fertige Tools dafür gibt), nicht mit wenigen Zeilen Code (z. B. in Perl) selbst scripten kann. Oder gibt es tatsächlich so exotische Hardware, dass ich ohne detaillierte Offenlegung der snmp-Schnittstelle durch den Hersteller unter Debian auf keinen grünen Zweig komme?

Gruss
Schorsch

Moin,

Ich kann mir nicht vorstellen, dass ich eine einfache Sache
wie snmp -> smtp (sofern es nicht schon fertige Tools dafür
gibt), nicht mit wenigen Zeilen Code (z. B. in Perl) selbst
scripten kann. Oder gibt es tatsächlich so exotische Hardware,
dass ich ohne detaillierte Offenlegung der snmp-Schnittstelle
durch den Hersteller unter Debian auf keinen grünen Zweig
komme?

soll das heißen, dass der Hersteller die MIBs nicht mitliefert?
Das würde ich noch nicht mal „detaillierte Offenlegung“, sondern „Basis-Dokumentation“ nennen. MIBs sind normalerweise ja sogar öffentlich dokumentiert, weil bei der IANA registriert. Ist dem nicht so, missachtet der Hersteller auf gefährliche Art und Weise Standards.

Im Zweifel lass Dir eine Demo der Software geben und sniffe die MIBs mit. Mehr als die MIBs und die SNMP-Communities brauchst Du nicht, Als Protokoll ist SNMP in seiner jew. Version ja offen (und hoffentlich auch so implementiert).

Oder hab ich Dich ganz falsch verstanden?

Gruß,

Malte

Hallo,

Ich kann mir nicht vorstellen, dass ich eine einfache Sache
wie snmp -> smtp (sofern es nicht schon fertige Tools dafür
gibt), nicht mit wenigen Zeilen Code (z. B. in Perl) selbst
scripten kann.

Wie genau bekommst Du die Meldungen? Eventuell hilft ein beherztes „aptitude install snmpd“ und anschließend ein „man snmptrapd.conf“.

Sebastian

Oder hab ich Dich ganz falsch verstanden?

Vielleicht habe ich snmp falsch verstanden. Ich will hier ja nichtmals bidirektional kommunizieren, ich will lediglich Nachrichten entgegennehmen und diese gegebenenfalls mittels irgendeines anderen Protokoll weiterreichen (möglicherweise Meldungen sogar quittieren, dass die Sirene am Heulen aufhört). Und dafür reicht nach meinem Verständnis ein snmp-Empfänger mit beliebiger Schnittstelle zu meinen Scripten aus. Und sollte die MIB nicht offengelegt sein, provoziere ich einfach ein definiertes Ereignis und schau, welche Meldung ich erhalte.

Mich irritiert halt, dass der dedizierte Linux-Spezialist mir Suse Enterprise vorschreiben will und ich als Linux-Rookie und snmp-Autodidakt diese Vorschrift mit meinem Wissen nicht in Übereinstimmung bringen kann.

Nun, ich denke mittlerweise dass ein beherztes „aptitude install snmpd“ morgen dem Spezialisten entgegengeschmettert diesen zu einer Revision seiner Ansicht bewegen wird.

Gruss
Schorsch

Oder hab ich Dich ganz falsch verstanden?

Vielleicht habe ich snmp falsch verstanden. Ich will hier ja
nichtmals bidirektional kommunizieren, ich will lediglich
Nachrichten entgegennehmen und diese gegebenenfalls mittels
irgendeines anderen Protokoll weiterreichen (möglicherweise
Meldungen sogar quittieren, dass die Sirene am Heulen
aufhört). Und dafür reicht nach meinem Verständnis ein
snmp-Empfänger mit beliebiger Schnittstelle zu meinen Scripten
aus. Und sollte die MIB nicht offengelegt sein, provoziere ich
einfach ein definiertes Ereignis und schau, welche Meldung ich
erhalte.

SNMP funktioniert auf zwei Weisen: Du kannst „Traps“ empfangen, wenn ein Gerät diese verschickt, und Du kannst Werte abfragen. push und poll sozusagen. Welches benutzt wird, ist implementationsabhängig. Pollen kannst Du mit net-snmp.sourceforge.net und pushes annehmen mit dem snmpd. Bei beidem benötigst Du die MIBs, um zu confen, welche Werte Du auswerten möchtest. Die MIBs kannst Du bei den Traps („push“) einfach so mitsniffen (evtl. muss die Ziel-IP konfiguriert werden), bei „polls“ brauchst Du im schlimmsten Fall die Software als „Demo“.

Einen technischen Grund, irgendeine bestimmte Software oder ein bestimmtes OS einzusetzen, gibt es definitiv nicht (ausgenommen irgendwelche proprietären Protokoll-Hacks seitens des Herstellers).

Die Weiterverarbeitung dieser Events (wie auch immer die zu Dir kommen) ist simpel und sicher sehr einfach zu scripten. Eine Bezahllösung würde ich mir an Deiner Stelle keinesfalls aufschwatzen lassen. Gerade bei so „einfachen“ Funktionen wie simpler Statusüberwachung ist das nicht notwendig.

Gruß,

Malte