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 (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"