====== Nagios3 auf OpenWRT mit SNMP Client ====== Diese Konfiguration soll zukünftig Wlan Accesspoints und sonstige SNMP Geräte überwachen. ===== Vorraussetzungen ===== Man braucht "spezielle" Versionen von OpenWRT Paketen: * nagios * nagios-plugins (wg. check_snmp) * lighttpd-mod-cgi (evtl. nicht vorhanden) ===== Step-by-step ===== - opkg update && opkg install lighttpd lighttpd-mod-cgi nagios nagios-plugins php5-cgi - lighttpd docroot auf /usr/share zeigen lassen - nagios dateien nach /usr/share/nagios schieben - links der CGIs von /usr/sbin nach /usr/share/nagios/cgi-bin erstellen - lighttpd mod-cgi einschalten und folgende Zeilen hinzufügen,um php einzuschalten und die nagios cgis auszuführen: cgi.assign = ( ".php" => "/usr/bin/php-cgi" ) $HTTP["url"] =~ "^/nagios/cgi-bin" { cgi.assign = ( "" => "" ) } - /etc/php.ini : doc_root = /usr/share - nagios start script /etc/init.d/nagios: #!/bin/sh /etc/rc.common # Copyright (C) 2006 OpenWrt.org START=50 BIN=nagios DEFAULT=/etc/default/$BIN PID_F=$RUN_D/$BIN.pid start() { [ -f $DEFAULT ] && . $DEFAULT $BIN $TEST && $BIN $OPTIONS } stop() { [ -f $PID_F ] && kill $(cat $PID_F) } - /etc/default/nagios: CFG="/etc/nagios/nagios.cfg" OPTIONS="-d $CFG" TEST="-v $CFG" - nagios automatisch starten: cd /etc/nagios ln -s ../init.d/nagios S51nagios - nagios braucht noch Verzeichnisse: mkdir -p /var/spool/checkresults mkdir /var/rw - nagios muss auch seine plugins finden, daher muss in der Datei /etc/nagios/resource.cfg folgendes abgeändert werden:$USER1$=/usr/libexec/nagios/ - Nagios Zugang durch passwort schützen: - zu lighttpd.conf hinzufügen: $HTTP["url"] =~ "nagios" { auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/etc/nagios/passwd" auth.require = ( "" => ( "method" => "basic", "realm" => "nagios", "require" => "user=nagiosadmin" ) ) setenv.add-environment = ( "REMOTE_USER" => "user" ) } - htpasswd installieren: opkg install mini-httpd-htpasswd - htpasswd -c /etc/nagios/passwd nagiosadmin - lighttpd auth modul installieren: opkg install lighttpd-mod-auth - lighttpd neustarten ===== Anmerkungen zu OpenWrt Backfire ===== ==== snmpwalk findet MIB Dateien nicht ==== Gibt Sachen aus wie z.B.: Cannot find module.... \\ Lösung: - ntp-snmp source tarball ([[http://sourceforge.net/projects/net-snmp/files/net-snmp/5.5/|hier]]) runterladen und auspacken - dort findet man unter ./mibs dann auch die MIB-Dateien - MIB-Dateien auf Router kopieren (z.B. unter /usr/lib/snmp) - die Datei unter /usr/lib/snmp/snmp.conf mit folgendem Inhalt füllen: mibdirs /usr/lib/snmp ==== nagios-plugins mit check_smnp Kommando ==== - package/feeds/packages/net-snmp/Makefile:253 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/snmp{get,getnext,set,status,test,trap,walk} $(1)/usr/bin/ - package/feeds/packages/nagios-plugins/Makefile:45 --with-nslookup-command="/usr/bin/nslookup" \ --with-snmpget-command="/usr/bin/snmpget" \ --with-snmpgetnext-command="/usr/bin/snmpgetnext"