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