Simon Szustkowski

Ein Blog über alles, was mir gerade so durch den Kopf geht

Mar 12, 2013

Nagios: Check Hostnames

Auf der Arbeit entstand die Tage das Bedürfnis, Hostnamen im Netzwerk auf Veränderungen zu überwachen, und bei einer Veränderung eine entsprechende Nachricht rauszuhauen.

Grund: Unser Upstream-Provider wechselt ab und an mal die Router, die von ihm bei uns stehen, und wir brauchen die neuen Hostnamen für eventuelle Servicecalls.

Da wir bereits eine laufende Nagios-Instanz haben, habe ich dafür mal geschwind ein Plugin geschrieben. Auf der Arbeit wird der Wert von Open Source geschätzt, und daher möchte ich das Plugin der Öffentlichkeit bereitstellen.

Das Plugin selbst ist in Ruby geschrieben, genauer gesagt auf 1.9.3, sollte aber auch auf anderen Versionen laufen. Welche gems benötigt werden, steht in der Readme auf Github.

Zur Funktionsweise: Das Plugin bekommt eine IP und die öffentliche SNMP-Community übergeben. Es liest dann den Hostnamen per SNMP aus, und cached ihn in einer SQLite-Database. Sollte bei einem erneuten Check der aktuelle Wert anders sein, als der Wert im Cache, wechselt das Plugin auf Warning, und der Nagios sollte eine Notification raushauen. Der neue Hostname wird nun in den Cache übernommen, sodass er beim nächsten Check benutzt werden kann.

Nicht allzu kompliziert, aber vielleicht nützt es einem von euch ja was. ;) Wie auch immer, ich würd mich freuen, wenn ihr mir Bescheid sagt, wenns bei euch läuft, oder auch nicht.

Die URL zum Plugin: https://github.com/simonszu/check-hostname.rb