Guten Morgen miteinander,
ich versuche einen Check zu bauen, der je einen oberen und unteren Grenzwert für WARN und CRIT hat. Der Check funktioniert auch gut, aber ich kann nicht finden, wie ich in der Rückgabe des Checks die perfdata mit mehreren werden übergeben
kann. In der pnp-xml werden die Felder für WARN_MIN,… nicht befüllt. Vielleicht kann mir jemand den entscheinenen Tip geben.
Vielen Dank.
Alexander Wilke
Der Check:
cdm570_ebno_default_levels = (3,5,10,13) # critlow, warnlow, warnhigh, crithigh
def check_cdm570_ebno(item, params, info):
critlow, warnlow, warnhigh, crithigh = params
for line in info:
ebno = float(line[0])/10
perfdata = [ ( “Eb/N0”, ebno, critlow, warnlow, warnhigh, crithigh ) ]
infotext = " - Receive Lock %.1fdBm (warn/crit at %.1f/%.1f or %.1f/%.1f)" % \
(ebno, critlow, warnlow, warnhigh, crithigh)
if int(line[0]) == 999:
return (2, “CRIT No Receive Lock” )
elif ebno >= crithigh or ebno <= critlow:
return (2, “CRIT” + infotext , perfdata)
elif ebno >= warnhigh or ebno <= warnlow:
return (1, “WARN” + infotext , perfdata)
else:
return (0, "OK" + infotext , perfdata)
return (3, “UNKNOWN - Value not received”)
Ausschnitt: /opt/omd/sites/testing/var/pnp4nagios/perfdata/Modem02/Eb_N0.xml
<NAME>Eb_N0</NAME>
Eb/N0
10.2
3
<WARN_MIN></WARN_MIN>
<WARN_MAX></WARN_MAX>
<WARN_RANGE_TYPE></WARN_RANGE_TYPE>
5
<CRIT_MIN></CRIT_MIN>
<CRIT_MAX></CRIT_MAX>
<CRIT_RANGE_TYPE></CRIT_RANGE_TYPE>