jonas.sse
Goto Top

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:
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
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.

Content-Key: 82169693356

Url: https://administrator.de/contentid/82169693356

Printed on: June 12, 2024 at 18:06 o'clock