PaloAlto 1410 Temp SNMP Check Icinga
Wir sind von einem HA Cluster bestehend aus zwei PA-820 auf PA-1410 hochgestuft wurden und ich wollte nun das Monitoring ein wenig aufhübschen.
Für das Monitoring benutzen wir Icinga2 mit ein paar nagios plugins.
Ich bediene mich hier bei dem Nagios Plugin check_paloalto und möchte nun z.B. die Temperatur auslesen.
Der Teil für die Temperatur sieht folgendermaßen aus:
Also führe ich das plugin folgendermaßen aus bekomme aber den Wert unknown zurück. Ich weiß leider nicht woran es liegt und schreibe deswegen diesen Post. Bei allen anderen Parts bekomme ich Werte zurück. Ich schätze die OID ist falsch oder ähnliches? Wenn ich einen snmpwalk mache und die beiden OIDs aus dem Code grep, wird nichts gefunden. Wenn ich mir einen snmpwalk ohne grep angucke finde ich drei Zeilen die passen könnten, wenn ich diese aber mit denen im Code austausche bekomme ich auch den Wert unknown zurück.
Bin gerade mal am Anfang von Linux und SNMP, vermutlich merkt man es.
Für das Monitoring benutzen wir Icinga2 mit ein paar nagios plugins.
Ich bediene mich hier bei dem Nagios Plugin check_paloalto und möchte nun z.B. die Temperatur auslesen.
Der Teil für die Temperatur sieht folgendermaßen aus:
elif [ "$strpart" == "temp" ]; then
declare -a tempnames=($(snmpwalk -v 2c -O vqe -c $strCommunity $strHostname 1.3.6.1.2.1.47.1.1.1.1.7 | grep -n "Temperature" | awk -F : '{print $2}' | sed 's/\"//g' | sed 's/\Temperature @ //g' | tr '\n' ' '))
declare -a temps=($(snmpwalk -v 2c -O vqe -c $strCommunity $strHostname 1.3.6.1.2.1.99.1.1.1.4 | sed '1,4d' | tr '\n' ' '))
c=0
for line in ${tempnames[@]}
do
if [[ ${temps[${c}]} -gt 0 ]]
then
perfdata=$perfdata" ${tempnames[$c]}=${temps[${c}]};$strWarning;$strCritical"
if [ ${temps[${c}]} -ge $strCritical ]
then
status="CRIT"
tempcrit=$fancrit"${tempnames[$c]}=${temps[${c}]}"
elif [ ${temps[${c}]} -ge $strWarning ]
then
status="WARN"
tempwarn=$tempwarn"${tempnames[$c]}=${temps[${c}]}"
else
status="OK"
fi
fi
let c++
done
if [ "$status" == "CRIT" ]
then
echo "Critical $tempcrit|$perfdata"
exit 2
elif [ "$status" == "WARN" ]
then
echo "Warning $tempwarn|$perfdata"
exit 1
elif [ "$status" == "OK" ]
then
echo "ok|$perfdata"
exit 0
else
echo "unknown"
exit 3
fi
Also führe ich das plugin folgendermaßen aus
./check_paloalto.py 172.30.1.210 leuchtturm temp 0 100
Bin gerade mal am Anfang von Linux und SNMP, vermutlich merkt man es.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 82169693356
Url: https://administrator.de/contentid/82169693356
Ausgedruckt am: 21.11.2024 um 23:11 Uhr