Über meine Erfahrungen mit Ubiquiti UniFi Produkten hatte ich bereits früher berichtet: WLAN mit Roaming bezahlbar
Heute mein Versuch eines minimalen Monitorings der UniFi-Produkte mit Nagios:
Da die beiden existierenden Nagios-Plugins, welche über SNMP Detailinformationen des UniFi-Controllers abrufen und auswerten, bei mir nicht zum Laufen zu bekommen sind, habe ich ein minimales Plugin geschrieben, welches lediglich die Erreichbarkeit der Access Points per ping und des Controllers auf tcp Port 8443 prüft. Die Adressen und Bezeichnungen müssen direkt im Code selbst geändert werden. Der Ausfall eines Access Points gibt den Status WARNING zurück, der Ausfall mehrerer Access Points den Status CRITICAL. Der Ausfall des Controllers gilt ebenfalls als CRITICAL.
#!/bin/bash ping="/bin/ping" nc="/bin/nc" failures=0 output="" docheck(){ if ! $ping -c 1 -w 1 $1 > /dev/null; then ((failures++)) output+="AP $2 DOWN; " else output+="AP $2 UP; " fi; } docheck-ctrl(){ if ! $nc -z -w1 $1 8443 > /dev/null; then # Wertung als Doppelfehler, da kritisch ((failures++)) ((failures++)) output+="Controller $2 DOWN; " else output+="Controller $2 UP; " fi; } # Pruefung der Access Points (nur ping) docheck "192.168.1.50" "Erdgeschoss" docheck "192.168.1.51" "Trakt A" docheck "192.168.1.52" "Trakt B" docheck "192.168.1.53" "Keller" docheck "192.168.1.54" "Empfang" docheck "192.168.1.55" "Halle" docheck "192.168.1.56" "Hof" # Pruefung des Controllers (tcp 8443) docheck-ctrl "192.168.1.5" "unifi-Controller" if [ $failures -lt 1 ] then echo "OK- $output" exit 0 elif [ $failures -eq 1 ] then echo "WARNING- $output" exit 1 elif [ $failures -gt 1 ] then echo "CRITICAL- $output" exit 2 else echo "UNKNOWN- $output" exit 3 fi