Nagios Mobile Webinterface

Um es ganz zu Anfang zu sagen: Es gibt kein „schoenes“ mobile Webinterface fuer Nagios. Das, was gut aussieht heisst iNagios, ist jedoch wie der Name bereits vermuten laesst fuers iPhone bzw. iPod Touch only.

Es gibt jedoch ein WAP-Interface das Nagios bereits mitbringt. Das sieht zwar nicht schoen aus, aber es funktioniert ohne Probleme und gibt alle Informationen aus die benoetigt werden. Die gewuenschte Datei heisst statuswml.cgi. Die Datei liegt im cgi-bin Ordner. Um das ganze einfach zugaenglich zu machen am besten mod-rewrite nehmen:

1
2
3
4
5
6
<IfModule mod_rewrite.c>
  <Location /nagmob>
    RewriteEngine on
    RewriteRule . http://ww.example.net/nagios2/cgi-bin/statuswml.cgi [L]
  </Location>
</IfModule>

Wer das ganze ausprobiert und sich wundert, dass wenn man die URL aufruft der Browser einem dann die statuswml.cgi zum Download anbietet, dem sollte gesagt sein, dass das daran liegt, dass der Browser dann kein WAP unterstuetzt. Einfach vom Handy aus aufrufen und schon ist alles gut ;-)

Howto: export xdm via vnc / x11vnc

Maaaan… immer wieder das gleiche. Oft bin ich nicht mit der Fragestellung konfrontiert wie ich auf einem Rechner auf den ich _nur_ ssh Zugriff habe einen xserver installiere und den dann via vnc exportiere ohne das ich die Session bereits gestartet habe, aber es kommt doch immer mal wieder vor und ich aerger mich jedes mal tot, dass ich mir das nicht vom vorherigen mal aufgeschrieben habe wie ich es gemacht habe. Also hier fix der Weg:

  • aptitude install xdm fluxbox x11vnc
  • x11vnc -storepasswd /etc/.vncpasswd
  • echo „x11vnc -rfbauth /etc/.vncpasswd -rfbport 5900 -shared -forever -bg -o /var/tmp/x11vnc.log“ >> /etc/X11/xdm/Xsetup
  • /etc/init.d/xdm restart
  • in ~/.x[session|initrc] die Zeile exec startfluxbox einfuegen
  • via VNC verbinden und anmelden.

Bei Fluxbox noch zum merken:

  • mit fbsetbg /path/to/wallper.jpg wird Hintergrundbild gesetzt
  • in der ~/.fluxbox/init die Zeile session.screen0.rootCommand:    fbsetbg -l setzt beim starten von fluxbox immer das letzte Hintergrundbild
  • die Zeilen
    menu.roundCorners: TopRight TopLeft BottomRight BottomLeft
    window.roundCorners: TopRight TopLeft BottomRight BottomLeft
    toolbar.shaped: true
    in der /usr/share/fluxbox/styles/MYSTYLE machen die schoenen runden Ecken
  • Der Eintrag Mod4 t :ToggleDecor in der ~/.fluxbox/keys erstellt die Tastenkombination Windows+t bei der beim aktuellen Fenster die WindowDecoration ausgemacht wird
  • iptables -A INPUT -p tcp -m tcp -s 123.123.123.123 –dport 5900 -j ACCEPT
    iptables -A INPUT -p tcp -m tcp –dport 5900 -j LOG –log-prefix FIREWALL:VNC_BLOCKED

    iptables -A INPUT -p tcp -m tcp -s 0/0 –dport 5900 -j DROP

Noch was vergessen? Ich glaube nicht… Ach so, ich mag Conky… und Screenshot natuerlich:

Nagios zur Druckerueberwachung

Drucker sind mit eines der Leidwesen eines jeden Administrators. Steckengebliebene Druckauftraege kann man oft noch leicht remote aus der Queue loeschen. Aber dann wird es auch schon haerter. Sie fressen Papier das umstaendlich wieder irgendwo herausgesucht werden muss, leere Papierfaecher fuehren zu endlosen Supportanfragen, genau wie leerer Toner oder nicht ganz geschlossene Abdeckklappen. Viele User schaffen es auch nicht aus den Lampen und Symbolen auf den Druckern schlau zu werden, so dass oft nur ein Abstecher vor Ort uebrig bleibt. Wie gut ist es dann, wenn der Admin schnell und uebersichtlich einen Status des Druckers geliefert bekommt, bzw. noch viel besser bei auftretenden Problemen schon gleich frueher gewarnt wird.

Fuer alle Administratoren die Nagios als Monitoringsystem verwenden, gibt es ein wundervolles Plugin von der Firma Ciphron zur Verfuegung gestellt: check_printer, dass es erlaubt Drucker sehr gut mit Nagios zu monitoren. Das Plugin ist auf dem CIPHRONs CORPORATE BLOG genauer vorgestellt.

In Nagios ist es sehr schnell installiert und eingerichtet. Ich gehe im folgenden von einem Debian System aus.

Das Plugin herunterladen und in /usr/lib/nagios/plugins/ abspeichern. Da es in PHP geschrieben ist und SNMP braucht muessen entsprechende Pakete installiert sein, aptitude install php5-cli php5-snmp hilft bei Bedarf weiter. Dann muss ein ein checkcommand definiert werden:

define command{
     command_name    check_printer
     command_line    /usr/bin/php $USER1$/check_printer $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$
     }

und schon kann es losgehen. Wenn ein Drucker bereits als Host definiert ist, kann es losgehen mit dem definieren von entsprechenden Services. Um Tonerinformationen herauszubekommen reicht schon ein einfaches:

define service{
    use                              generic-service
    host_name                        MeinDrucker
    service_description              TONER
    contact_groups                   drucker-admins
    check_command                   check_printer!123.123.123.123!public!toner!1!0.1
    }

Die Syntax ist !IP!SNMP-Community!Welche Info!Wert!Warnlevel!. Das Beispiel gibt fuer einen Drucker MeinDrucker eine Warnung, wenn der Fuellstand des ersten Toners (meistens Schwarz) unter 10% faellt.

Das Plugin erklaert seine Funktionen selber sehr gut, schmeisst ueber fast alles Informationen aus und kann Warnungen beim Unterschreiten verschiedener Level etc. ausgeben. Echt superklasse und superpraktisch!!