Dez 142017
 

Ü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

 

 Leave a Reply