[Check_mk (deutsch)] perfdata mit low und high

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>

Hallo Alexander,

deine Erzeugung der Performance Date funktioniert so nicht ganz.

Wenn du in der Ausgabe mit unterem und oberem Schwellwert arbeitest dann müssen die Performance Daten immer noch das Format wie folgt haben

‘label’=value[UOM];[warn];[crit];[min];[max]

Bei dir werden also die Werte für ‘warnhigh’ und ‘crithigh’ zu Min und Max Werten umgebaut.

In der Plugin Doku von Nagios steht wie du deine Werte ausgeben musst um auch die min/max warn/crit Werte nutzen zu können.

http://nagiosplug.sourceforge.net/developer-guidelines.html#THRESHOLDFORMAT

Andreas

···

Am 19. Oktober 2012 08:18 schrieb Wilke Alexander Wilke@iabg.de:

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

<ACT>10.2</ACT>
<WARN>3</WARN>
<WARN_MIN></WARN_MIN>
<WARN_MAX></WARN_MAX>
<WARN_RANGE_TYPE></WARN_RANGE_TYPE>
<CRIT>5</CRIT>
<CRIT_MIN></CRIT_MIN>
<CRIT_MAX></CRIT_MAX>
<CRIT_RANGE_TYPE></CRIT_RANGE_TYPE>

IABG mbH

Sitz der Gesellschaft: Ottobrunn, Registergericht: Amtsgericht Muenchen, HRB 5499

Geschaeftsfuehrung: Prof. Dr.-Ing. Rudolf F. Schwarz Vorsitz, Dipl.-Ing. Matthias Spott

Vorsitzender des Aufsichtsrats: RA Engelbert Kupka MdL a.D.


checkmk-de mailing list

checkmk-de@lists.mathias-kettner.de

http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de

Das ist nicht ganz richtig.
Die Developer Guidelines lassen sehr wohl Ranges zu.

http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN318

<quote>
ranges are expressed with colons as in `check_procs -C httpd -w 1:20 -c 1:30` which will warn above 20 instances, and critical at 0 and above 30
</quote>

Warning hätte hier eine Range von 1:20 und dies ist genau so auch in den Performance Daten erlaubt.
PNP wird dann auch entsprechend verarbeiten.

Hier fehlt der Hinweis wie check_mk die Daten denn formatiert hat.
Ein Beispiel würde hier helfen. Bisher habe ich nur das XML gesehen, aber nicht die Daten die dazu geführt haben.

Jörg

···

Am 21.10.2012 um 10:58 schrieb Andreas Döhler <andreas.doehler@gmail.com>:

Hallo Alexander,

deine Erzeugung der Performance Date funktioniert so nicht ganz.
Wenn du in der Ausgabe mit unterem und oberem Schwellwert arbeitest dann müssen die Performance Daten immer noch das Format wie folgt haben
'label'=value[UOM];[warn];[crit];[min];[max]

Bei dir werden also die Werte für 'warnhigh' und 'crithigh' zu Min und Max Werten umgebaut.
In der Plugin Doku von Nagios steht wie du deine Werte ausgeben musst um auch die min/max warn/crit Werte nutzen zu können.
http://nagiosplug.sourceforge.net/developer-guidelines.html#THRESHOLDFORMAT

Andreas

Das wollte ich ja auch damit ausdrücken das hier der Einsatz von Ranges notwendig ist.

Ich habe zwar auf Anhieb keinen Check im MK gefunden welcher hier Ranges einsetzt in den Perfdaten aber das sollte gehn.

MK wandelt einfach das Tuple in einen Performance Daten String.

Würde das ganze dann im Check so schreiben.

warn = “%d:%d”, (warnlow, warnhigh)

crit = “%d:%d”, (critlow, crithigh)

perfdata = [ ( “Eb/N0”, ebno, warn, crit ) ]

···

Am 21. Oktober 2012 12:11 schrieb Joerg Linge pitchfork@pnp4nagios.org:

Am 21.10.2012 um 10:58 schrieb Andreas Döhler andreas.doehler@gmail.com:

Hallo Alexander,

deine Erzeugung der Performance Date funktioniert so nicht ganz.

Wenn du in der Ausgabe mit unterem und oberem Schwellwert arbeitest dann müssen die Performance Daten immer noch das Format wie folgt haben

‘label’=value[UOM];[warn];[crit];[min];[max]

Bei dir werden also die Werte für ‘warnhigh’ und ‘crithigh’ zu Min und Max Werten umgebaut.

In der Plugin Doku von Nagios steht wie du deine Werte ausgeben musst um auch die min/max warn/crit Werte nutzen zu können.

http://nagiosplug.sourceforge.net/developer-guidelines.html#THRESHOLDFORMAT

Andreas

Das ist nicht ganz richtig.

Die Developer Guidelines lassen sehr wohl Ranges zu.

http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN318

ranges are expressed with colons as in check_procs -C httpd -w 1:20 -c 1:30 which will warn above 20 instances, and critical at 0 and above 30

Warning hätte hier eine Range von 1:20 und dies ist genau so auch in den Performance Daten erlaubt.

PNP wird dann auch entsprechend verarbeiten.

Hier fehlt der Hinweis wie check_mk die Daten denn formatiert hat.

Ein Beispiel würde hier helfen. Bisher habe ich nur das XML gesehen, aber nicht die Daten die dazu geführt haben.

Jörg


checkmk-de mailing list

checkmk-de@lists.mathias-kettner.de

http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de

Hi Andreas,
dann sind wir uns einig!

Jörg

···

Am 21.10.2012 um 13:03 schrieb Andreas Döhler <andreas.doehler@gmail.com>:

Das wollte ich ja auch damit ausdrücken das hier der Einsatz von Ranges notwendig ist.
Ich habe zwar auf Anhieb keinen Check im MK gefunden welcher hier Ranges einsetzt in den Perfdaten aber das sollte gehn.
MK wandelt einfach das Tuple in einen Performance Daten String.

Würde das ganze dann im Check so schreiben.
warn = "%d:%d", (warnlow, warnhigh)
crit = "%d:%d", (critlow, crithigh)
perfdata = [ ( "Eb/N0", ebno, warn, crit ) ]

Am 21. Oktober 2012 12:11 schrieb Joerg Linge <pitchfork@pnp4nagios.org>:

Am 21.10.2012 um 10:58 schrieb Andreas Döhler <andreas.doehler@gmail.com>:

> Hallo Alexander,
>
> deine Erzeugung der Performance Date funktioniert so nicht ganz.
> Wenn du in der Ausgabe mit unterem und oberem Schwellwert arbeitest dann müssen die Performance Daten immer noch das Format wie folgt haben
> 'label'=value[UOM];[warn];[crit];[min];[max]
>
> Bei dir werden also die Werte für 'warnhigh' und 'crithigh' zu Min und Max Werten umgebaut.
> In der Plugin Doku von Nagios steht wie du deine Werte ausgeben musst um auch die min/max warn/crit Werte nutzen zu können.
> http://nagiosplug.sourceforge.net/developer-guidelines.html#THRESHOLDFORMAT
>
> Andreas

Das ist nicht ganz richtig.
Die Developer Guidelines lassen sehr wohl Ranges zu.

http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN318

<quote>
ranges are expressed with colons as in `check_procs -C httpd -w 1:20 -c 1:30` which will warn above 20 instances, and critical at 0 and above 30
</quote>

Warning hätte hier eine Range von 1:20 und dies ist genau so auch in den Performance Daten erlaubt.
PNP wird dann auch entsprechend verarbeiten.

Hier fehlt der Hinweis wie check_mk die Daten denn formatiert hat.
Ein Beispiel würde hier helfen. Bisher habe ich nur das XML gesehen, aber nicht die Daten die dazu geführt haben.

Jörg

_______________________________________________
checkmk-de mailing list
checkmk-de@lists.mathias-kettner.de
http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de

Perfekt, funktioniert. Vielen Dank.

def check_cdm570_ebno(item, params, info):
        critlow, warnlow, warnhigh, crithigh = params
        warn = "%d:%d" % (warnlow, warnhigh)
        crit = "%d:%d" % (critlow, crithigh)
        for line in info:
                ebno = float(line[0])/10
                perfdata = [ ( "Eb/N0", ebno, warn, crit, 0, 20 ) ]

Gruß
Alex

···

-----Ursprüngliche Nachricht-----
Von: checkmk-de-bounces@lists.mathias-kettner.de [mailto:checkmk-de-
bounces@lists.mathias-kettner.de] Im Auftrag von Joerg Linge
Gesendet: Sonntag, 21. Oktober 2012 18:47
Cc: checkmk-de@lists.mathias-kettner.de Kettner
Betreff: Re: [Check_mk (deutsch)] perfdata mit low und high

Hi Andreas,
dann sind wir uns einig!

Jörg

Am 21.10.2012 um 13:03 schrieb Andreas Döhler ><andreas.doehler@gmail.com>:

Das wollte ich ja auch damit ausdrücken das hier der Einsatz von Ranges

notwendig ist.

Ich habe zwar auf Anhieb keinen Check im MK gefunden welcher hier

Ranges einsetzt in den Perfdaten aber das sollte gehn.

MK wandelt einfach das Tuple in einen Performance Daten String.

Würde das ganze dann im Check so schreiben.
warn = "%d:%d", (warnlow, warnhigh)
crit = "%d:%d", (critlow, crithigh)
perfdata = [ ( "Eb/N0", ebno, warn, crit ) ]

Am 21. Oktober 2012 12:11 schrieb Joerg Linge <pitchfork@pnp4nagios.org>:

Am 21.10.2012 um 10:58 schrieb Andreas Döhler ><andreas.doehler@gmail.com>:

> Hallo Alexander,
>
> deine Erzeugung der Performance Date funktioniert so nicht ganz.
> Wenn du in der Ausgabe mit unterem und oberem Schwellwert arbeitest

dann müssen die Performance Daten immer noch das Format wie folgt haben

> 'label'=value[UOM];[warn];[crit];[min];[max]
>
> Bei dir werden also die Werte für 'warnhigh' und 'crithigh' zu Min und Max

Werten umgebaut.

> In der Plugin Doku von Nagios steht wie du deine Werte ausgeben musst

um auch die min/max warn/crit Werte nutzen zu können.

> http://nagiosplug.sourceforge.net/developer-

guidelines.html#THRESHOLDFORMAT

>
> Andreas

Das ist nicht ganz richtig.
Die Developer Guidelines lassen sehr wohl Ranges zu.

http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN318

<quote>
ranges are expressed with colons as in `check_procs -C httpd -w 1:20 -c 1:30`

which will warn above 20 instances, and critical at 0 and above 30

</quote>

Warning hätte hier eine Range von 1:20 und dies ist genau so auch in den

Performance Daten erlaubt.

PNP wird dann auch entsprechend verarbeiten.

Hier fehlt der Hinweis wie check_mk die Daten denn formatiert hat.
Ein Beispiel würde hier helfen. Bisher habe ich nur das XML gesehen, aber

nicht die Daten die dazu geführt haben.

Jörg

_______________________________________________
checkmk-de mailing list
checkmk-de@lists.mathias-kettner.de
http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de

_______________________________________________
checkmk-de mailing list
checkmk-de@lists.mathias-kettner.de
http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de

-----------------------------------------
IABG mbH
Sitz der Gesellschaft: Ottobrunn, Registergericht: Amtsgericht Muenchen, HRB 5499
Geschaeftsfuehrung: Prof. Dr.-Ing. Rudolf F. Schwarz Vorsitz, Dipl.-Ing. Matthias Spott
Vorsitzender des Aufsichtsrats: RA Engelbert Kupka MdL a.D.