[Check_mk (deutsch)] eigener SNMP-Check für BACnet

Hallo werte Gemeinschaft!

Ich versuche mich an einem SNMP-Check für einen BACnet-Gateway,
scheitere aber momentan fulminant an der Umsetzung gemäß
<https://mathias-kettner.de/checkmk_devel_snmpbased.html>

Bei meinen bisherigen SNMP-Checks hatte ich immer ein echtes Array,
welches mindestens aus Sensor und Wert bestand.

Am aktuellen Beispiel habe ich jedoch nur Werte. Wie bekomme ich nun
die Sensoren, die zu Fuß eingetragen werden müssen in eine
check_mk-versträgliche Script-Syntax?

Hier ein paar Eckdaten:

Die Ausgabe des kompletten(!) snmpwalk ist recht übersichtlich. Eine
MIB habe ich noch nicht gefunden, hoffe da aber noch ein wenig auf die
"Try'n'Error-Methode":

OMD[jsc]:blush: snmpwalk -v2c -c COMMUNITY -On HOST .1.3.6.1.4.1.36373
.1.3.6.1.4.1.36373.1.1.0 = STRING: "SNMP-Agent internal"
.1.3.6.1.4.1.36373.1.2.0 = STRING: "HHO-Automation, Uwe Hanke"
.1.3.6.1.4.1.36373.1.3.0 = STRING: "http://www.hho-automation.de"
.1.3.6.1.4.1.36373.10.1 = INTEGER: 1
.1.3.6.1.4.1.36373.10.2 = INTEGER: 41
.1.3.6.1.4.1.36373.10.3 = INTEGER: 283
.1.3.6.1.4.1.36373.10.4 = INTEGER: 365
.1.3.6.1.4.1.36373.10.5 = INTEGER: 1997
.1.3.6.1.4.1.36373.10.6 = INTEGER: 1944
.1.3.6.1.4.1.36373.10.7 = INTEGER: 1966
.1.3.6.1.4.1.36373.10.8 = INTEGER: 1920
.1.3.6.1.4.1.36373.10.9 = INTEGER: 391
.1.3.6.1.4.1.36373.10.10 = INTEGER: 2096
.1.3.6.1.4.1.36373.10.11 = INTEGER: 1939
.1.3.6.1.4.1.36373.10.12 = INTEGER: 1948
.1.3.6.1.4.1.36373.10.13 = INTEGER: 1948
.1.3.6.1.4.1.36373.10.14 = INTEGER: 1949
.1.3.6.1.4.1.36373.10.15 = INTEGER: 1948
.1.3.6.1.4.1.36373.10.16 = INTEGER: 1953
.1.3.6.1.4.1.36373.10.17 = INTEGER: 1938
.1.3.6.1.4.1.36373.10.18 = INTEGER: 0
.1.3.6.1.4.1.36373.10.19 = INTEGER: 1716
.1.3.6.1.4.1.36373.10.20 = INTEGER: 1920
.1.3.6.1.4.1.36373.10.21 = INTEGER: 1941
.1.3.6.1.4.1.36373.10.22 = INTEGER: 1885
.1.3.6.1.4.1.36373.10.23 = INTEGER: 1
.1.3.6.1.4.1.36373.10.24 = INTEGER: 7000
.1.3.6.1.4.1.36373.10.25 = INTEGER: 1917
.1.3.6.1.4.1.36373.10.26 = INTEGER: 3529
.1.3.6.1.4.1.36373.10.27 = INTEGER: 3766
.1.3.6.1.4.1.36373.10.28 = INTEGER: 3686
.1.3.6.1.4.1.36373.10.29 = INTEGER: 3701
.1.3.6.1.4.1.36373.10.30 = INTEGER: 4000
.1.3.6.1.4.1.36373.10.31 = INTEGER: 2044
.1.3.6.1.4.1.36373.10.32 = INTEGER: 1971
.1.3.6.1.4.1.36373.10.33 = INTEGER: 51
.1.3.6.1.4.1.36373.10.34 = INTEGER: 10000
.1.3.6.1.4.1.36373.10.35 = INTEGER: 1
.1.3.6.1.4.1.36373.10.36 = INTEGER: 622
.1.3.6.1.4.1.36373.10.37 = INTEGER: 1775
.1.3.6.1.4.1.36373.10.38 = INTEGER: 1255
.1.3.6.1.4.1.36373.10.39 = INTEGER: 1
.1.3.6.1.4.1.36373.10.40 = INTEGER: 1831
.1.3.6.1.4.1.36373.10.41 = INTEGER: 2074
.1.3.6.1.4.1.36373.10.42 = INTEGER: 1
.1.3.6.1.4.1.36373.10.43 = INTEGER: 1915
.1.3.6.1.4.1.36373.10.44 = INTEGER: 2081
.1.3.6.1.4.1.36373.10.45 = INTEGER: 1
.1.3.6.1.4.1.36373.10.46 = INTEGER: 10000
.1.3.6.1.4.1.36373.10.47 = INTEGER: 1
.1.3.6.1.4.1.36373.10.48 = INTEGER: 0
.1.3.6.1.4.1.36373.10.49 = INTEGER: 738
.1.3.6.1.4.1.36373.10.50 = INTEGER: 1984
.1.3.6.1.4.1.36373.10.51 = INTEGER: 1180
.1.3.6.1.4.1.36373.10.52 = INTEGER: 0
.1.3.6.1.4.1.36373.10.53 = INTEGER: 0
.1.3.6.1.4.1.36373.10.54 = INTEGER: 0
.1.3.6.1.4.1.36373.10.55 = INTEGER: 0
.1.3.6.1.4.1.36373.10.56 = INTEGER: 0
.1.3.6.1.4.1.36373.10.57 = INTEGER: 0
.1.3.6.1.4.1.36373.10.58 = INTEGER: 0
.1.3.6.1.4.1.36373.10.59 = INTEGER: 0
.1.3.6.1.4.1.36373.10.60 = INTEGER: 0
.1.3.6.1.4.1.36373.10.61 = INTEGER: 0
.1.3.6.1.4.1.36373.10.62 = INTEGER: 0
.1.3.6.1.4.1.36373.10.63 = INTEGER: 0
.1.3.6.1.4.1.36373.10.64 = INTEGER: 0
.1.3.6.1.4.1.36373.10.65 = INTEGER: 0
.1.3.6.1.4.1.36373.10.66 = INTEGER: 0
.1.3.6.1.4.1.36373.10.67 = INTEGER: 0
.1.3.6.1.4.1.36373.10.68 = INTEGER: 0
.1.3.6.1.4.1.36373.10.69 = INTEGER: 0
.1.3.6.1.4.1.36373.10.70 = INTEGER: 0
.1.3.6.1.4.1.36373.10.71 = INTEGER: 0
.1.3.6.1.4.1.36373.10.72 = INTEGER: 0
.1.3.6.1.4.1.36373.10.73 = INTEGER: 0
.1.3.6.1.4.1.36373.10.74 = INTEGER: 0
.1.3.6.1.4.1.36373.10.75 = INTEGER: 0
.1.3.6.1.4.1.36373.10.76 = INTEGER: 0
.1.3.6.1.4.1.36373.10.77 = INTEGER: 0
.1.3.6.1.4.1.36373.10.78 = INTEGER: 0
.1.3.6.1.4.1.36373.10.79 = INTEGER: 0
.1.3.6.1.4.1.36373.10.80 = INTEGER: 0
.1.3.6.1.4.1.36373.10.81 = INTEGER: 0
.1.3.6.1.4.1.36373.10.82 = INTEGER: 0
.1.3.6.1.4.1.36373.10.83 = INTEGER: 0
.1.3.6.1.4.1.36373.10.84 = INTEGER: 0
.1.3.6.1.4.1.36373.10.85 = INTEGER: 0
.1.3.6.1.4.1.36373.10.86 = INTEGER: 0
.1.3.6.1.4.1.36373.10.87 = INTEGER: 0
.1.3.6.1.4.1.36373.10.88 = INTEGER: 0
.1.3.6.1.4.1.36373.10.89 = INTEGER: 0
.1.3.6.1.4.1.36373.10.90 = INTEGER: 0
.1.3.6.1.4.1.36373.10.91 = INTEGER: 0
.1.3.6.1.4.1.36373.10.92 = INTEGER: 0
.1.3.6.1.4.1.36373.10.93 = INTEGER: 0
.1.3.6.1.4.1.36373.10.94 = INTEGER: 0
.1.3.6.1.4.1.36373.10.95 = INTEGER: 0
.1.3.6.1.4.1.36373.10.96 = INTEGER: 0
.1.3.6.1.4.1.36373.10.97 = INTEGER: 0
.1.3.6.1.4.1.36373.10.98 = INTEGER: 0
.1.3.6.1.4.1.36373.10.99 = INTEGER: 0
.1.3.6.1.4.1.36373.10.100 = INTEGER: 0
.1.3.6.1.4.1.36373.10.100 = No more variables left in this MIB View
(It is past the end of the MIB tree)
OMD[jsc]:blush:

Gemäß der check_mk-Doku mit dem Script angefangen. Logischer Weise
fehlen mir die Namen im Array (siehe snmp_info):

OMD[jsc]:~/local/share/check_mk/checks$ cat bacnetgw
def inventory_bacnetgw(info):
   # Debug: lets see how the data we get looks like
   print (info)
   return []

def check_bacnetgw(item, params, info):
   return (3, "UNKNOWN - not yet implemented")

check_info["bacnetgw"] = \
      (check_bacnetgw, "Sensor %s", 0, inventory_bacnetgw)

snmp_info["bacnetgw"] = ( ".1.3.6.1.4.1.36373", [ "10" ] )
OMD[jsc]:blush:

Wie man bei der Abfrage sieht:
OMD[jsc]:blush: check_mk --checks bacnetgw -I HOST
[['1'], ['41'], ['284'], ['367'], ['1975'], ['1947'], ['1937'],
['1921'], ['392'], ['2084'], ['1941'], ['1945'], ['1938'], ['1945'],
['1936'], ['1931'], ['1939'], ['0'], ['1716'], ['1921'], ['1941'],
['1886'], ['1'], ['7000'], ['1921'], ['3516'], ['3760'], ['3692'],
['3683'], ['4000'], ['2047'], ['1955'], ['51'], ['10000'], ['1'],
['622'], ['1775'], ['1255'], ['1'], ['1831'], ['2074'], ['1'],
['1915'], ['2081'], ['1'], ['10000'], ['1'], ['0'], ['737'], ['1984'],
['1173'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0']]
OMD[jsc]:~%

Wie bekomme ich den Check also so geschrieben, das ich intern Namen zu
den Werten vergeben kann? Ich stehe da scheinbar ein wenig auf dem
Schlauch...

Danke euch für einen Schubser in die richtige Richtung,
Georg
- --
Georg Schilling
Technologie-Support-Team
Juelich Supercomputing Centre (JSC)

Phone: 02461-61-96530 Mobile: 0172-5295475
Fax: 02461-61-2810 Skype: georg_schilling
WWW: http://www.fz-juelich.de/jsc

···

------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Hi Georg,

du koenntest etwas wie folgt machen (inventory und check):

···

###########

for item, value in enumerate(info):

(mache irgendwas)

###########

…das item ist dann jeweils die Positionsnummer im Array…

Ansonsten wuerde ich auf jeden Fall mal bei http://www.hho-automation.de wegen der MIB anfragen.

Hoffe das hilft,

Marcel

Georg Schilling g.schilling@fz-juelich.de schrieb am Fri Dec 05 2014 at 08:30:43: > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1

Hallo werte Gemeinschaft!

Ich versuche mich an einem SNMP-Check für einen BACnet-Gateway,

scheitere aber momentan fulminant an der Umsetzung gemäß

<https://mathias-kettner.de/checkmk_devel_snmpbased.html>

Bei meinen bisherigen SNMP-Checks hatte ich immer ein echtes Array,

welches mindestens aus Sensor und Wert bestand.

Am aktuellen Beispiel habe ich jedoch nur Werte. Wie bekomme ich nun

die Sensoren, die zu Fuß eingetragen werden müssen in eine

check_mk-versträgliche Script-Syntax?

Hier ein paar Eckdaten:

Die Ausgabe des kompletten(!) snmpwalk ist recht übersichtlich. Eine

MIB habe ich noch nicht gefunden, hoffe da aber noch ein wenig auf die

“Try’n’Error-Methode”:

OMD[jsc]:blush: snmpwalk -v2c -c COMMUNITY -On HOST .1.3.6.1.4.1.36373

.1.3.6.1.4.1.36373.1.1.0 = STRING: “SNMP-Agent internal”

.1.3.6.1.4.1.36373.1.2.0 = STRING: “HHO-Automation, Uwe Hanke”

.1.3.6.1.4.1.36373.1.3.0 = STRING: “http://www.hho-automation.de

.1.3.6.1.4.1.36373.10.1 = INTEGER: 1

.1.3.6.1.4.1.36373.10.2 = INTEGER: 41

.1.3.6.1.4.1.36373.10.3 = INTEGER: 283

.1.3.6.1.4.1.36373.10.4 = INTEGER: 365

.1.3.6.1.4.1.36373.10.5 = INTEGER: 1997

.1.3.6.1.4.1.36373.10.6 = INTEGER: 1944

.1.3.6.1.4.1.36373.10.7 = INTEGER: 1966

.1.3.6.1.4.1.36373.10.8 = INTEGER: 1920

.1.3.6.1.4.1.36373.10.9 = INTEGER: 391

.1.3.6.1.4.1.36373.10.10 = INTEGER: 2096

.1.3.6.1.4.1.36373.10.11 = INTEGER: 1939

.1.3.6.1.4.1.36373.10.12 = INTEGER: 1948

.1.3.6.1.4.1.36373.10.13 = INTEGER: 1948

.1.3.6.1.4.1.36373.10.14 = INTEGER: 1949

.1.3.6.1.4.1.36373.10.15 = INTEGER: 1948

.1.3.6.1.4.1.36373.10.16 = INTEGER: 1953

.1.3.6.1.4.1.36373.10.17 = INTEGER: 1938

.1.3.6.1.4.1.36373.10.18 = INTEGER: 0

.1.3.6.1.4.1.36373.10.19 = INTEGER: 1716

.1.3.6.1.4.1.36373.10.20 = INTEGER: 1920

.1.3.6.1.4.1.36373.10.21 = INTEGER: 1941

.1.3.6.1.4.1.36373.10.22 = INTEGER: 1885

.1.3.6.1.4.1.36373.10.23 = INTEGER: 1

.1.3.6.1.4.1.36373.10.24 = INTEGER: 7000

.1.3.6.1.4.1.36373.10.25 = INTEGER: 1917

.1.3.6.1.4.1.36373.10.26 = INTEGER: 3529

.1.3.6.1.4.1.36373.10.27 = INTEGER: 3766

.1.3.6.1.4.1.36373.10.28 = INTEGER: 3686

.1.3.6.1.4.1.36373.10.29 = INTEGER: 3701

.1.3.6.1.4.1.36373.10.30 = INTEGER: 4000

.1.3.6.1.4.1.36373.10.31 = INTEGER: 2044

.1.3.6.1.4.1.36373.10.32 = INTEGER: 1971

.1.3.6.1.4.1.36373.10.33 = INTEGER: 51

.1.3.6.1.4.1.36373.10.34 = INTEGER: 10000

.1.3.6.1.4.1.36373.10.35 = INTEGER: 1

.1.3.6.1.4.1.36373.10.36 = INTEGER: 622

.1.3.6.1.4.1.36373.10.37 = INTEGER: 1775

.1.3.6.1.4.1.36373.10.38 = INTEGER: 1255

.1.3.6.1.4.1.36373.10.39 = INTEGER: 1

.1.3.6.1.4.1.36373.10.40 = INTEGER: 1831

.1.3.6.1.4.1.36373.10.41 = INTEGER: 2074

.1.3.6.1.4.1.36373.10.42 = INTEGER: 1

.1.3.6.1.4.1.36373.10.43 = INTEGER: 1915

.1.3.6.1.4.1.36373.10.44 = INTEGER: 2081

.1.3.6.1.4.1.36373.10.45 = INTEGER: 1

.1.3.6.1.4.1.36373.10.46 = INTEGER: 10000

.1.3.6.1.4.1.36373.10.47 = INTEGER: 1

.1.3.6.1.4.1.36373.10.48 = INTEGER: 0

.1.3.6.1.4.1.36373.10.49 = INTEGER: 738

.1.3.6.1.4.1.36373.10.50 = INTEGER: 1984

.1.3.6.1.4.1.36373.10.51 = INTEGER: 1180

.1.3.6.1.4.1.36373.10.52 = INTEGER: 0

.1.3.6.1.4.1.36373.10.53 = INTEGER: 0

.1.3.6.1.4.1.36373.10.54 = INTEGER: 0

.1.3.6.1.4.1.36373.10.55 = INTEGER: 0

.1.3.6.1.4.1.36373.10.56 = INTEGER: 0

.1.3.6.1.4.1.36373.10.57 = INTEGER: 0

.1.3.6.1.4.1.36373.10.58 = INTEGER: 0

.1.3.6.1.4.1.36373.10.59 = INTEGER: 0

.1.3.6.1.4.1.36373.10.60 = INTEGER: 0

.1.3.6.1.4.1.36373.10.61 = INTEGER: 0

.1.3.6.1.4.1.36373.10.62 = INTEGER: 0

.1.3.6.1.4.1.36373.10.63 = INTEGER: 0

.1.3.6.1.4.1.36373.10.64 = INTEGER: 0

.1.3.6.1.4.1.36373.10.65 = INTEGER: 0

.1.3.6.1.4.1.36373.10.66 = INTEGER: 0

.1.3.6.1.4.1.36373.10.67 = INTEGER: 0

.1.3.6.1.4.1.36373.10.68 = INTEGER: 0

.1.3.6.1.4.1.36373.10.69 = INTEGER: 0

.1.3.6.1.4.1.36373.10.70 = INTEGER: 0

.1.3.6.1.4.1.36373.10.71 = INTEGER: 0

.1.3.6.1.4.1.36373.10.72 = INTEGER: 0

.1.3.6.1.4.1.36373.10.73 = INTEGER: 0

.1.3.6.1.4.1.36373.10.74 = INTEGER: 0

.1.3.6.1.4.1.36373.10.75 = INTEGER: 0

.1.3.6.1.4.1.36373.10.76 = INTEGER: 0

.1.3.6.1.4.1.36373.10.77 = INTEGER: 0

.1.3.6.1.4.1.36373.10.78 = INTEGER: 0

.1.3.6.1.4.1.36373.10.79 = INTEGER: 0

.1.3.6.1.4.1.36373.10.80 = INTEGER: 0

.1.3.6.1.4.1.36373.10.81 = INTEGER: 0

.1.3.6.1.4.1.36373.10.82 = INTEGER: 0

.1.3.6.1.4.1.36373.10.83 = INTEGER: 0

.1.3.6.1.4.1.36373.10.84 = INTEGER: 0

.1.3.6.1.4.1.36373.10.85 = INTEGER: 0

.1.3.6.1.4.1.36373.10.86 = INTEGER: 0

.1.3.6.1.4.1.36373.10.87 = INTEGER: 0

.1.3.6.1.4.1.36373.10.88 = INTEGER: 0

.1.3.6.1.4.1.36373.10.89 = INTEGER: 0

.1.3.6.1.4.1.36373.10.90 = INTEGER: 0

.1.3.6.1.4.1.36373.10.91 = INTEGER: 0

.1.3.6.1.4.1.36373.10.92 = INTEGER: 0

.1.3.6.1.4.1.36373.10.93 = INTEGER: 0

.1.3.6.1.4.1.36373.10.94 = INTEGER: 0

.1.3.6.1.4.1.36373.10.95 = INTEGER: 0

.1.3.6.1.4.1.36373.10.96 = INTEGER: 0

.1.3.6.1.4.1.36373.10.97 = INTEGER: 0

.1.3.6.1.4.1.36373.10.98 = INTEGER: 0

.1.3.6.1.4.1.36373.10.99 = INTEGER: 0

.1.3.6.1.4.1.36373.10.100 = INTEGER: 0

.1.3.6.1.4.1.36373.10.100 = No more variables left in this MIB View

(It is past the end of the MIB tree)

OMD[jsc]:blush:

Gemäß der check_mk-Doku mit dem Script angefangen. Logischer Weise

fehlen mir die Namen im Array (siehe snmp_info):

OMD[jsc]:~/local/share/check_mk/checks$ cat bacnetgw

def inventory_bacnetgw(info):

Debug: lets see how the data we get looks like

print (info)

return

def check_bacnetgw(item, params, info):

return (3, “UNKNOWN - not yet implemented”)

check_info[“bacnetgw”] = \

  (check_bacnetgw, "Sensor %s", 0, inventory_bacnetgw)

snmp_info[“bacnetgw”] = ( “.1.3.6.1.4.1.36373”, [ “10” ] )

OMD[jsc]:blush:

Wie man bei der Abfrage sieht:

OMD[jsc]:blush: check_mk --checks bacnetgw -I HOST

[[‘1’], [‘41’], [‘284’], [‘367’], [‘1975’], [‘1947’], [‘1937’],

[‘1921’], [‘392’], [‘2084’], [‘1941’], [‘1945’], [‘1938’], [‘1945’],

[‘1936’], [‘1931’], [‘1939’], [‘0’], [‘1716’], [‘1921’], [‘1941’],

[‘1886’], [‘1’], [‘7000’], [‘1921’], [‘3516’], [‘3760’], [‘3692’],

[‘3683’], [‘4000’], [‘2047’], [‘1955’], [‘51’], [‘10000’], [‘1’],

[‘622’], [‘1775’], [‘1255’], [‘1’], [‘1831’], [‘2074’], [‘1’],

[‘1915’], [‘2081’], [‘1’], [‘10000’], [‘1’], [‘0’], [‘737’], [‘1984’],

[‘1173’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’],

[‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’],

[‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’],

[‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’],

[‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’],

[‘0’]]

OMD[jsc]:~%

Wie bekomme ich den Check also so geschrieben, das ich intern Namen zu

den Werten vergeben kann? Ich stehe da scheinbar ein wenig auf dem

Schlauch…

Danke euch für einen Schubser in die richtige Richtung,

Georg


Georg Schilling

Technologie-Support-Team

Juelich Supercomputing Centre (JSC)

Phone: 02461-61-96530 Mobile: 0172-5295475

Fax: 02461-61-2810 Skype: georg_schilling

WWW: http://www.fz-juelich.de/jsc

-----BEGIN PGP SIGNATURE-----

Version: GnuPG v1

iQEcBAEBAgAGBQJUgV7zAAoJEMzlu35tSWc75wcH/3gqW+e24WevpMDWgWbryKkM

IrRU6z0DP9//q0zl6nA3WdNt1P2tBNSlVjkS2YMvOWFQMk60S4rwEdrCN6eRHJro

rgFdrm+YlcyUwTLyCjb3Zev6tUbhmPxxjlQtfj65KUbMM3fLYUqet/roc4UFuCH7

+bOg05JWkd7hdjwW7AMw9RDOLUQ+PQECwnDIeIGuTJHNrEGf/k+QbgDpjXd9dyc0

PKk5RaHwm+YTKFrfxTTR9Yxv17hL2naCcfUcJo4ettKxynxUV9hLn2eaJvm9R/9v

Dj87qVsLrbNM5dl+lrEe4uY101gmQcHnr6BaXex0K+8vu5A28rxXDU+Dor554XM=

=5xLF

-----END PGP SIGNATURE-----



Forschungszentrum Juelich GmbH

52425 Juelich

Sitz der Gesellschaft: Juelich

Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498

Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher

Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),

Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,

Prof. Dr. Sebastian M. Schmidt




checkmk-de mailing list

checkmk-de@lists.mathias-kettner.de

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

Hi Georg,

Hallo Marcel,
hallo Listinge,

du koenntest etwas wie folgt machen (inventory und check):
########### for item, value in enumerate(info): (mache irgendwas)
###########

...das item ist dann jeweils die Positionsnummer im Array...

klasse, vielen Dank! So bin ich einen großen Schritt voran gekommen:

def inventory_bacnetgw(info):
   inventory =
   for item, value in enumerate(info):
       if item is not "":
           inventory.append( (item, None) )
   return inventory

OMD[jsc]:~$ cmk -nv HOST
Check_mk version 1.2.2p3
...
Sensor 0 UNKNOWN - not yet implemented
Sensor 1 UNKNOWN - not yet implemented
Sensor 10 UNKNOWN - not yet implemented
Sensor 100 UNKNOWN - not yet implemented
Sensor 11 UNKNOWN - not yet implemented
Sensor 12 UNKNOWN - not yet implemented
...

Allerdings kommt nun das neue Problem:

Sensor 0 lautet in echt "Trockenkühler 300kW Störung 19M1". Und dies
dann aktuell für knapp 50 Sensoren in unterschiedlichsten
Begrifflichkeiten.

Ein item.replace( "0", "Trockenkuehler 300kW Stoerung 19M1") brint
mich ja jetzt nicht zum Erfolg in der Schleife.

Hast du dazu auch noch eine Idee?

Ansonsten wuerde ich auf jeden Fall mal bei
http://www.hho-automation.de wegen der MIB anfragen.

Da dies wohl mehr "Freitextfelder" für die lokalen Anpassungen sind,
wird dies schwer. Eine Übersetzung dazu habe ich jetzt, was es
allerdings nicht schöner macht (siehe oben). :wink:

Hoffe das hilft,

Definitiv, ja,
Georg

···

Am 05.12.2014 um 09:53 schrieb Marcel Schulte:

Georg Schilling <g.schilling@fz-juelich.de
<mailto:g.schilling@fz-juelich.de>> schrieb am Fri Dec 05 2014 at > 08:30:43:

Hallo werte Gemeinschaft!

Ich versuche mich an einem SNMP-Check für einen BACnet-Gateway,
scheitere aber momentan fulminant an der Umsetzung gemäß
<https://mathias-kettner.de/__checkmk_devel_snmpbased.html
<https://mathias-kettner.de/checkmk_devel_snmpbased.html&gt;&gt;

Bei meinen bisherigen SNMP-Checks hatte ich immer ein echtes
Array, welches mindestens aus Sensor und Wert bestand.

Am aktuellen Beispiel habe ich jedoch nur Werte. Wie bekomme ich
nun die Sensoren, die zu Fuß eingetragen werden müssen in eine
check_mk-versträgliche Script-Syntax?

Hier ein paar Eckdaten:

Die Ausgabe des kompletten(!) snmpwalk ist recht übersichtlich.
Eine MIB habe ich noch nicht gefunden, hoffe da aber noch ein wenig
auf die "Try'n'Error-Methode":

OMD[jsc]:blush: snmpwalk -v2c -c COMMUNITY -On HOST .1.3.6.1.4.1.36373
.1.3.6.1.4.1.36373.1.1.0 = STRING: "SNMP-Agent internal"
.1.3.6.1.4.1.36373.1.2.0 = STRING: "HHO-Automation, Uwe Hanke"
.1.3.6.1.4.1.36373.1.3.0 = STRING: "http://www.hho-automation.de"
.1.3.6.1.4.1.36373.10.1 = INTEGER: 1 .1.3.6.1.4.1.36373.10.2 =
INTEGER: 41 .1.3.6.1.4.1.36373.10.3 = INTEGER: 283
.1.3.6.1.4.1.36373.10.4 = INTEGER: 365 .1.3.6.1.4.1.36373.10.5 =
INTEGER: 1997 .1.3.6.1.4.1.36373.10.6 = INTEGER: 1944
.1.3.6.1.4.1.36373.10.7 = INTEGER: 1966 .1.3.6.1.4.1.36373.10.8 =
INTEGER: 1920 .1.3.6.1.4.1.36373.10.9 = INTEGER: 391
.1.3.6.1.4.1.36373.10.10 = INTEGER: 2096 .1.3.6.1.4.1.36373.10.11 =
INTEGER: 1939 .1.3.6.1.4.1.36373.10.12 = INTEGER: 1948
.1.3.6.1.4.1.36373.10.13 = INTEGER: 1948 .1.3.6.1.4.1.36373.10.14 =
INTEGER: 1949 .1.3.6.1.4.1.36373.10.15 = INTEGER: 1948
.1.3.6.1.4.1.36373.10.16 = INTEGER: 1953 .1.3.6.1.4.1.36373.10.17 =
INTEGER: 1938 .1.3.6.1.4.1.36373.10.18 = INTEGER: 0
.1.3.6.1.4.1.36373.10.19 = INTEGER: 1716 .1.3.6.1.4.1.36373.10.20 =
INTEGER: 1920 .1.3.6.1.4.1.36373.10.21 = INTEGER: 1941
.1.3.6.1.4.1.36373.10.22 = INTEGER: 1885 .1.3.6.1.4.1.36373.10.23 =
INTEGER: 1 .1.3.6.1.4.1.36373.10.24 = INTEGER: 7000
.1.3.6.1.4.1.36373.10.25 = INTEGER: 1917 .1.3.6.1.4.1.36373.10.26 =
INTEGER: 3529 .1.3.6.1.4.1.36373.10.27 = INTEGER: 3766
.1.3.6.1.4.1.36373.10.28 = INTEGER: 3686 .1.3.6.1.4.1.36373.10.29 =
INTEGER: 3701 .1.3.6.1.4.1.36373.10.30 = INTEGER: 4000
.1.3.6.1.4.1.36373.10.31 = INTEGER: 2044 .1.3.6.1.4.1.36373.10.32 =
INTEGER: 1971 .1.3.6.1.4.1.36373.10.33 = INTEGER: 51
.1.3.6.1.4.1.36373.10.34 = INTEGER: 10000 .1.3.6.1.4.1.36373.10.35
= INTEGER: 1 .1.3.6.1.4.1.36373.10.36 = INTEGER: 622
.1.3.6.1.4.1.36373.10.37 = INTEGER: 1775 .1.3.6.1.4.1.36373.10.38 =
INTEGER: 1255 .1.3.6.1.4.1.36373.10.39 = INTEGER: 1
.1.3.6.1.4.1.36373.10.40 = INTEGER: 1831 .1.3.6.1.4.1.36373.10.41 =
INTEGER: 2074 .1.3.6.1.4.1.36373.10.42 = INTEGER: 1
.1.3.6.1.4.1.36373.10.43 = INTEGER: 1915 .1.3.6.1.4.1.36373.10.44 =
INTEGER: 2081 .1.3.6.1.4.1.36373.10.45 = INTEGER: 1
.1.3.6.1.4.1.36373.10.46 = INTEGER: 10000 .1.3.6.1.4.1.36373.10.47
= INTEGER: 1 .1.3.6.1.4.1.36373.10.48 = INTEGER: 0
.1.3.6.1.4.1.36373.10.49 = INTEGER: 738 .1.3.6.1.4.1.36373.10.50 =
INTEGER: 1984 .1.3.6.1.4.1.36373.10.51 = INTEGER: 1180
.1.3.6.1.4.1.36373.10.52 = INTEGER: 0 .1.3.6.1.4.1.36373.10.53 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.54 = INTEGER: 0
.1.3.6.1.4.1.36373.10.55 = INTEGER: 0 .1.3.6.1.4.1.36373.10.56 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.57 = INTEGER: 0
.1.3.6.1.4.1.36373.10.58 = INTEGER: 0 .1.3.6.1.4.1.36373.10.59 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.60 = INTEGER: 0
.1.3.6.1.4.1.36373.10.61 = INTEGER: 0 .1.3.6.1.4.1.36373.10.62 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.63 = INTEGER: 0
.1.3.6.1.4.1.36373.10.64 = INTEGER: 0 .1.3.6.1.4.1.36373.10.65 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.66 = INTEGER: 0
.1.3.6.1.4.1.36373.10.67 = INTEGER: 0 .1.3.6.1.4.1.36373.10.68 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.69 = INTEGER: 0
.1.3.6.1.4.1.36373.10.70 = INTEGER: 0 .1.3.6.1.4.1.36373.10.71 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.72 = INTEGER: 0
.1.3.6.1.4.1.36373.10.73 = INTEGER: 0 .1.3.6.1.4.1.36373.10.74 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.75 = INTEGER: 0
.1.3.6.1.4.1.36373.10.76 = INTEGER: 0 .1.3.6.1.4.1.36373.10.77 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.78 = INTEGER: 0
.1.3.6.1.4.1.36373.10.79 = INTEGER: 0 .1.3.6.1.4.1.36373.10.80 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.81 = INTEGER: 0
.1.3.6.1.4.1.36373.10.82 = INTEGER: 0 .1.3.6.1.4.1.36373.10.83 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.84 = INTEGER: 0
.1.3.6.1.4.1.36373.10.85 = INTEGER: 0 .1.3.6.1.4.1.36373.10.86 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.87 = INTEGER: 0
.1.3.6.1.4.1.36373.10.88 = INTEGER: 0 .1.3.6.1.4.1.36373.10.89 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.90 = INTEGER: 0
.1.3.6.1.4.1.36373.10.91 = INTEGER: 0 .1.3.6.1.4.1.36373.10.92 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.93 = INTEGER: 0
.1.3.6.1.4.1.36373.10.94 = INTEGER: 0 .1.3.6.1.4.1.36373.10.95 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.96 = INTEGER: 0
.1.3.6.1.4.1.36373.10.97 = INTEGER: 0 .1.3.6.1.4.1.36373.10.98 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.99 = INTEGER: 0
.1.3.6.1.4.1.36373.10.100 = INTEGER: 0 .1.3.6.1.4.1.36373.10.100 =
No more variables left in this MIB View (It is past the end of the
MIB tree) OMD[jsc]:blush:

Gemäß der check_mk-Doku mit dem Script angefangen. Logischer Weise
fehlen mir die Namen im Array (siehe snmp_info):

OMD[jsc]:~/local/share/check___mk/checks$ cat bacnetgw def
inventory_bacnetgw(info): # Debug: lets see how the data we get
looks like print (info) return

def check_bacnetgw(item, params, info): return (3, "UNKNOWN - not
yet implemented")

check_info["bacnetgw"] = \ (check_bacnetgw, "Sensor %s", 0,
inventory_bacnetgw)

snmp_info["bacnetgw"] = ( ".1.3.6.1.4.1.36373", [ "10" ] )
OMD[jsc]:blush:

Wie man bei der Abfrage sieht: OMD[jsc]:blush: check_mk --checks
bacnetgw -I HOST [['1'], ['41'], ['284'], ['367'], ['1975'],
['1947'], ['1937'], ['1921'], ['392'], ['2084'], ['1941'],
['1945'], ['1938'], ['1945'], ['1936'], ['1931'], ['1939'], ['0'],
['1716'], ['1921'], ['1941'], ['1886'], ['1'], ['7000'], ['1921'],
['3516'], ['3760'], ['3692'], ['3683'], ['4000'], ['2047'],
['1955'], ['51'], ['10000'], ['1'], ['622'], ['1775'], ['1255'],
['1'], ['1831'], ['2074'], ['1'], ['1915'], ['2081'], ['1'],
['10000'], ['1'], ['0'], ['737'], ['1984'], ['1173'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0']] OMD[jsc]:~%

Wie bekomme ich den Check also so geschrieben, das ich intern Namen
zu den Werten vergeben kann? Ich stehe da scheinbar ein wenig auf
dem Schlauch...

Danke euch für einen Schubser in die richtige Richtung, Georg

------------------------------__------------------------------__------------------------------__------

-
------------------------------__------------------------------__------------------------------__------

Forschungszentrum Juelich GmbH 52425 Juelich Sitz der Gesellschaft:
Juelich Eingetragen im Handelsregister des Amtsgerichts Dueren Nr.
HR B 3498 Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen
Huthmacher Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt
(Vorsitzender), Karsten Beneke (stellv. Vorsitzender), Prof.
Dr.-Ing. Harald Bolt, Prof. Dr. Sebastian M. Schmidt
------------------------------__------------------------------__------------------------------__------

-
------------------------------__------------------------------__------------------------------__------

_________________________________________________ checkmk-de
mailing list checkmk-de@lists.mathias-__kettner.de
<mailto:checkmk-de@lists.mathias-kettner.de>
http://lists.mathias-kettner.__de/mailman/listinfo/checkmk-de
<http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de&gt;

- --
Georg Schilling
Technologie-Support-Team
Juelich Supercomputing Centre (JSC)

Phone: 02461-61-96530 Mobile: 0172-5295475
Fax: 02461-61-2810 Skype: georg_schilling
WWW: http://www.fz-juelich.de/jsc

------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Hi Georg,

Die MIB muss definitiv von hho-automation kommen, denn 36373 ist deren Enterprise Number (kannst du hier pruefen: http://www.iana.org/assignments/enterprise-numbers/enterprise-numbers).

Solange der konfigurierte Name nicht per SNMP auslesbar ist bleibt dir wenig mehr als alle 100 Sensoren in deinem Checkfile als dict zu konfigurieren und dann wie folgt darauf zuzugreifen:

···

############

bacnet_sensor_name = {

0: “Georg”,

1: “Marcel”,

(…)

100: “Fritz”,

}

def inventory_bacnet_sensor(info):

inventory =

if info is not None:

for i, value in enumerate(info):

item = bacnet_sensor_name[i]

inventory.append((item, None))

return inventory

def check_bacnet_sensor(item, params, info):

if info is not None:

    state = 0

for i, value in enumerate(info):

if item == bacnet_sensor_name[i]:

(mache was mit den Daten, ggf. state-Aenderung)

return(state, msg)

else:

return(3, “sensor not found in snmp data”)

(…check_info…)

############

Gruesse,

Marcel

Georg Schilling g.schilling@fz-juelich.de schrieb am Fri Dec 05 2014 at 11:47:10: > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1

Am 05.12.2014 um 09:53 schrieb Marcel Schulte:

Hi Georg,

Hallo Marcel,

hallo Listinge,

du koenntest etwas wie folgt machen (inventory und check):

########### for item, value in enumerate(info): (mache irgendwas)

###########

…das item ist dann jeweils die Positionsnummer im Array…

klasse, vielen Dank! So bin ich einen großen Schritt voran gekommen:

def inventory_bacnetgw(info):

inventory =

for item, value in enumerate(info):

   if item is not "":

       inventory.append( (item, None) )

return inventory

OMD[jsc]:~$ cmk -nv HOST

Check_mk version 1.2.2p3

Sensor 0 UNKNOWN - not yet implemented

Sensor 1 UNKNOWN - not yet implemented

Sensor 10 UNKNOWN - not yet implemented

Sensor 100 UNKNOWN - not yet implemented

Sensor 11 UNKNOWN - not yet implemented

Sensor 12 UNKNOWN - not yet implemented

Allerdings kommt nun das neue Problem:

Sensor 0 lautet in echt “Trockenkühler 300kW Störung 19M1”. Und dies

dann aktuell für knapp 50 Sensoren in unterschiedlichsten

Begrifflichkeiten.

Ein item.replace( “0”, “Trockenkuehler 300kW Stoerung 19M1”) brint

mich ja jetzt nicht zum Erfolg in der Schleife.

Hast du dazu auch noch eine Idee?

Ansonsten wuerde ich auf jeden Fall mal bei

http://www.hho-automation.de wegen der MIB anfragen.

Da dies wohl mehr “Freitextfelder” für die lokalen Anpassungen sind,

wird dies schwer. Eine Übersetzung dazu habe ich jetzt, was es

allerdings nicht schöner macht (siehe oben). :wink:

Hoffe das hilft,

Definitiv, ja,

Georg

Georg Schilling <g.schilling@fz-juelich.de

mailto:g.schilling@fz-juelich.de> schrieb am Fri Dec 05 2014 at > > > 08:30:43:

Hallo werte Gemeinschaft!

Ich versuche mich an einem SNMP-Check für einen BACnet-Gateway,

scheitere aber momentan fulminant an der Umsetzung gemäß

<https://mathias-kettner.de/__checkmk_devel_snmpbased.html

<https://mathias-kettner.de/checkmk_devel_snmpbased.html>>

Bei meinen bisherigen SNMP-Checks hatte ich immer ein echtes

Array, welches mindestens aus Sensor und Wert bestand.

Am aktuellen Beispiel habe ich jedoch nur Werte. Wie bekomme ich

nun die Sensoren, die zu Fuß eingetragen werden müssen in eine

check_mk-versträgliche Script-Syntax?

Hier ein paar Eckdaten:

Die Ausgabe des kompletten(!) snmpwalk ist recht übersichtlich.

Eine MIB habe ich noch nicht gefunden, hoffe da aber noch ein wenig

auf die “Try’n’Error-Methode”:

OMD[jsc]:blush: snmpwalk -v2c -c COMMUNITY -On HOST .1.3.6.1.4.1.36373

.1.3.6.1.4.1.36373.1.1.0 = STRING: “SNMP-Agent internal”

.1.3.6.1.4.1.36373.1.2.0 = STRING: “HHO-Automation, Uwe Hanke”

.1.3.6.1.4.1.36373.1.3.0 = STRING: “http://www.hho-automation.de

.1.3.6.1.4.1.36373.10.1 = INTEGER: 1 .1.3.6.1.4.1.36373.10.2 =

INTEGER: 41 .1.3.6.1.4.1.36373.10.3 = INTEGER: 283

.1.3.6.1.4.1.36373.10.4 = INTEGER: 365 .1.3.6.1.4.1.36373.10.5 =

INTEGER: 1997 .1.3.6.1.4.1.36373.10.6 = INTEGER: 1944

.1.3.6.1.4.1.36373.10.7 = INTEGER: 1966 .1.3.6.1.4.1.36373.10.8 =

INTEGER: 1920 .1.3.6.1.4.1.36373.10.9 = INTEGER: 391

.1.3.6.1.4.1.36373.10.10 = INTEGER: 2096 .1.3.6.1.4.1.36373.10.11 =

INTEGER: 1939 .1.3.6.1.4.1.36373.10.12 = INTEGER: 1948

.1.3.6.1.4.1.36373.10.13 = INTEGER: 1948 .1.3.6.1.4.1.36373.10.14 =

INTEGER: 1949 .1.3.6.1.4.1.36373.10.15 = INTEGER: 1948

.1.3.6.1.4.1.36373.10.16 = INTEGER: 1953 .1.3.6.1.4.1.36373.10.17 =

INTEGER: 1938 .1.3.6.1.4.1.36373.10.18 = INTEGER: 0

.1.3.6.1.4.1.36373.10.19 = INTEGER: 1716 .1.3.6.1.4.1.36373.10.20 =

INTEGER: 1920 .1.3.6.1.4.1.36373.10.21 = INTEGER: 1941

.1.3.6.1.4.1.36373.10.22 = INTEGER: 1885 .1.3.6.1.4.1.36373.10.23 =

INTEGER: 1 .1.3.6.1.4.1.36373.10.24 = INTEGER: 7000

.1.3.6.1.4.1.36373.10.25 = INTEGER: 1917 .1.3.6.1.4.1.36373.10.26 =

INTEGER: 3529 .1.3.6.1.4.1.36373.10.27 = INTEGER: 3766

.1.3.6.1.4.1.36373.10.28 = INTEGER: 3686 .1.3.6.1.4.1.36373.10.29 =

INTEGER: 3701 .1.3.6.1.4.1.36373.10.30 = INTEGER: 4000

.1.3.6.1.4.1.36373.10.31 = INTEGER: 2044 .1.3.6.1.4.1.36373.10.32 =

INTEGER: 1971 .1.3.6.1.4.1.36373.10.33 = INTEGER: 51

.1.3.6.1.4.1.36373.10.34 = INTEGER: 10000 .1.3.6.1.4.1.36373.10.35

= INTEGER: 1 .1.3.6.1.4.1.36373.10.36 = INTEGER: 622

.1.3.6.1.4.1.36373.10.37 = INTEGER: 1775 .1.3.6.1.4.1.36373.10.38 =

INTEGER: 1255 .1.3.6.1.4.1.36373.10.39 = INTEGER: 1

.1.3.6.1.4.1.36373.10.40 = INTEGER: 1831 .1.3.6.1.4.1.36373.10.41 =

INTEGER: 2074 .1.3.6.1.4.1.36373.10.42 = INTEGER: 1

.1.3.6.1.4.1.36373.10.43 = INTEGER: 1915 .1.3.6.1.4.1.36373.10.44 =

INTEGER: 2081 .1.3.6.1.4.1.36373.10.45 = INTEGER: 1

.1.3.6.1.4.1.36373.10.46 = INTEGER: 10000 .1.3.6.1.4.1.36373.10.47

= INTEGER: 1 .1.3.6.1.4.1.36373.10.48 = INTEGER: 0

.1.3.6.1.4.1.36373.10.49 = INTEGER: 738 .1.3.6.1.4.1.36373.10.50 =

INTEGER: 1984 .1.3.6.1.4.1.36373.10.51 = INTEGER: 1180

.1.3.6.1.4.1.36373.10.52 = INTEGER: 0 .1.3.6.1.4.1.36373.10.53 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.54 = INTEGER: 0

.1.3.6.1.4.1.36373.10.55 = INTEGER: 0 .1.3.6.1.4.1.36373.10.56 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.57 = INTEGER: 0

.1.3.6.1.4.1.36373.10.58 = INTEGER: 0 .1.3.6.1.4.1.36373.10.59 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.60 = INTEGER: 0

.1.3.6.1.4.1.36373.10.61 = INTEGER: 0 .1.3.6.1.4.1.36373.10.62 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.63 = INTEGER: 0

.1.3.6.1.4.1.36373.10.64 = INTEGER: 0 .1.3.6.1.4.1.36373.10.65 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.66 = INTEGER: 0

.1.3.6.1.4.1.36373.10.67 = INTEGER: 0 .1.3.6.1.4.1.36373.10.68 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.69 = INTEGER: 0

.1.3.6.1.4.1.36373.10.70 = INTEGER: 0 .1.3.6.1.4.1.36373.10.71 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.72 = INTEGER: 0

.1.3.6.1.4.1.36373.10.73 = INTEGER: 0 .1.3.6.1.4.1.36373.10.74 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.75 = INTEGER: 0

.1.3.6.1.4.1.36373.10.76 = INTEGER: 0 .1.3.6.1.4.1.36373.10.77 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.78 = INTEGER: 0

.1.3.6.1.4.1.36373.10.79 = INTEGER: 0 .1.3.6.1.4.1.36373.10.80 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.81 = INTEGER: 0

.1.3.6.1.4.1.36373.10.82 = INTEGER: 0 .1.3.6.1.4.1.36373.10.83 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.84 = INTEGER: 0

.1.3.6.1.4.1.36373.10.85 = INTEGER: 0 .1.3.6.1.4.1.36373.10.86 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.87 = INTEGER: 0

.1.3.6.1.4.1.36373.10.88 = INTEGER: 0 .1.3.6.1.4.1.36373.10.89 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.90 = INTEGER: 0

.1.3.6.1.4.1.36373.10.91 = INTEGER: 0 .1.3.6.1.4.1.36373.10.92 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.93 = INTEGER: 0

.1.3.6.1.4.1.36373.10.94 = INTEGER: 0 .1.3.6.1.4.1.36373.10.95 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.96 = INTEGER: 0

.1.3.6.1.4.1.36373.10.97 = INTEGER: 0 .1.3.6.1.4.1.36373.10.98 =

INTEGER: 0 .1.3.6.1.4.1.36373.10.99 = INTEGER: 0

.1.3.6.1.4.1.36373.10.100 = INTEGER: 0 .1.3.6.1.4.1.36373.10.100 =

No more variables left in this MIB View (It is past the end of the

MIB tree) OMD[jsc]:blush:

Gemäß der check_mk-Doku mit dem Script angefangen. Logischer Weise

fehlen mir die Namen im Array (siehe snmp_info):

OMD[jsc]:~/local/share/check___mk/checks$ cat bacnetgw def

inventory_bacnetgw(info): # Debug: lets see how the data we get

looks like print (info) return

def check_bacnetgw(item, params, info): return (3, "UNKNOWN - not

yet implemented")

check_info[“bacnetgw”] = \ (check_bacnetgw, “Sensor %s”, 0,

inventory_bacnetgw)

snmp_info[“bacnetgw”] = ( “.1.3.6.1.4.1.36373”, [ “10” ] )

OMD[jsc]:blush:

Wie man bei der Abfrage sieht: OMD[jsc]:blush: check_mk --checks

bacnetgw -I HOST [[‘1’], [‘41’], [‘284’], [‘367’], [‘1975’],

[‘1947’], [‘1937’], [‘1921’], [‘392’], [‘2084’], [‘1941’],

[‘1945’], [‘1938’], [‘1945’], [‘1936’], [‘1931’], [‘1939’], [‘0’],

[‘1716’], [‘1921’], [‘1941’], [‘1886’], [‘1’], [‘7000’], [‘1921’],

[‘3516’], [‘3760’], [‘3692’], [‘3683’], [‘4000’], [‘2047’],

[‘1955’], [‘51’], [‘10000’], [‘1’], [‘622’], [‘1775’], [‘1255’],

[‘1’], [‘1831’], [‘2074’], [‘1’], [‘1915’], [‘2081’], [‘1’],

[‘10000’], [‘1’], [‘0’], [‘737’], [‘1984’], [‘1173’], [‘0’], [‘0’],

[‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’],

[‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’],

[‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’],

[‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’],

[‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’], [‘0’],

[‘0’], [‘0’]] OMD[jsc]:~%

Wie bekomme ich den Check also so geschrieben, das ich intern Namen

zu den Werten vergeben kann? Ich stehe da scheinbar ein wenig auf

dem Schlauch…

Danke euch für einen Schubser in die richtige Richtung, Georg

------------------------------------------------------------------------------------------__------

------------------------------------------------------------------------------------------__------

Forschungszentrum Juelich GmbH 52425 Juelich Sitz der Gesellschaft:

Juelich Eingetragen im Handelsregister des Amtsgerichts Dueren Nr.

HR B 3498 Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen

Huthmacher Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt

(Vorsitzender), Karsten Beneke (stellv. Vorsitzender), Prof.

Dr.-Ing. Harald Bolt, Prof. Dr. Sebastian M. Schmidt

------------------------------------------------------------------------------------------__------

------------------------------------------------------------------------------------------__------

_________________________________________________ checkmk-de

mailing list checkmk-de@lists.mathias-__kettner.de

mailto:checkmk-de@lists.mathias-kettner.de

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

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


Georg Schilling

Technologie-Support-Team

Juelich Supercomputing Centre (JSC)

Phone: 02461-61-96530 Mobile: 0172-5295475

Fax: 02461-61-2810 Skype: georg_schilling

WWW: http://www.fz-juelich.de/jsc

-----BEGIN PGP SIGNATURE-----

Version: GnuPG v1

iQEcBAEBAgAGBQJUgY0BAAoJEMzlu35tSWc7KssH/3VDUCFnvJ/maYDKfn2RhlXK

vkfcqnb5JWvmfaPgE86rYL3dhFe7SMv3a7LZCT3nDh+nsmbu73rVK1uwJkHBE5xv

9aZqWQZh9BlrNcakWH0qat3PO2cAvVLI2iM2Vzq4kKW/vbcLgtPjcmXwYsu/pWZw

KYyTlcTFsH30P+Hjg9U57kIjJnjjcszzy8Mt/AIFXyMVsqEjiaQGP4jCXIpYArEy

zPR5mjQnzissWF2WODyDNXxrPEgrYzNzxNdNIljxBD/yMuRUfGQnWNMauOKZAtIX

/IBD2BZuJu0NRp39QAhm7S4VWcsuXz1lVNRGSwgPT4Af+0xT/G+wcdH48GOxr2o=

=h1Va

-----END PGP SIGNATURE-----



Forschungszentrum Juelich GmbH

52425 Juelich

Sitz der Gesellschaft: Juelich

Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498

Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher

Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),

Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,

Prof. Dr. Sebastian M. Schmidt




checkmk-de mailing list

checkmk-de@lists.mathias-kettner.de

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

Hi Georg,

Hej Marcel,

sehr geil, ein Träumchen! Das Inventarisieren klappt wunderbarst!
Meinen besten Dank für deine Mühe!

Die MIB muss definitiv von hho-automation kommen, denn 36373 ist
deren Enterprise Number (kannst du hier pruefen:
http://www.iana.org/assignments/enterprise-numbers/enterprise-numbers).

Jein,

da für (oder mit) jeden/m Sensor, der neu eingerichtet wird, das
MIB-File neu geschrieben werden müsste.

"Sensor 0" ist beim nächsten Kunden "Drehzahl Torantrieb".

Solange der konfigurierte Name nicht per SNMP auslesbar ist bleibt
dir wenig mehr als alle 100 Sensoren in deinem Checkfile als dict
zu konfigurieren und dann wie folgt darauf zuzugreifen:

Hier habe ich beim check noch Probleme, glaube aber das es an der
organischen Tastaturerweiterung liegt.

############

bacnet_sensor_name = { 0: "Georg", 1: "Marcel", (...) 100:
"Fritz", }

def inventory_bacnet_sensor(info): inventory = if info is not
None: for i, value in enumerate(info): item =
bacnet_sensor_name[i] inventory.append((item, None)) return
inventory

def check_bacnet_sensor(item, params, info): if info is not None:
state = 0 for i, value in enumerate(info): if item ==
bacnet_sensor_name[i]: (mache was mit den Daten, ggf.
state-Aenderung) return(state, msg) else: return(3, "sensor not
found in snmp data")

def check_bacnetgw(item, params, info):
    for i, value in enumerate(info):
        item = bacnet_sensor_name[i]
        if "Allgemein Aussentemperatur" in item:
            if value == "1":
                return (0, "OK - Alles gut" + value, perfdata)
            else:
                return (2, "CRITICAL - kapott" + value)
        else:
            return (3, "UNKNOWN - total unbekannt")

Ich hatte jetzt schon (gefühlt) jede Konstellation getestet und die
allerwildesten Fehlermeldungen erhalten. Allerdings ist das Fazit
recht einfach:

OMD[jsc]:~$ cmk -nv HOST
Check_mk version 1.2.2p3
Allgemein Aussentemperatur UNKNOWN - total unbekannt

Welchen Lattenzaun übersehe ich hier?

Danke,
Georg

Georg Schilling <g.schilling@fz-juelich.de

Hi Georg,

Hallo Marcel, hallo Listinge,

du koenntest etwas wie folgt machen (inventory und check):
########### for item, value in enumerate(info): (mache
irgendwas) ###########

...das item ist dann jeweils die Positionsnummer im Array...

klasse, vielen Dank! So bin ich einen großen Schritt voran
gekommen:

def inventory_bacnetgw(info): inventory = for item, value in
enumerate(info): if item is not "": inventory.append( (item, None)
) return inventory

OMD[jsc]:~$ cmk -nv HOST Check_mk version 1.2.2p3 ... Sensor 0
UNKNOWN - not yet implemented Sensor 1 UNKNOWN - not yet
implemented Sensor 10 UNKNOWN - not yet implemented Sensor
100 UNKNOWN - not yet implemented Sensor 11 UNKNOWN -
not yet implemented Sensor 12 UNKNOWN - not yet implemented
...

Allerdings kommt nun das neue Problem:

Sensor 0 lautet in echt "Trockenkühler 300kW Störung 19M1". Und
dies dann aktuell für knapp 50 Sensoren in unterschiedlichsten
Begrifflichkeiten.

Ein item.replace( "0", "Trockenkuehler 300kW Stoerung 19M1") brint
mich ja jetzt nicht zum Erfolg in der Schleife.

Hast du dazu auch noch eine Idee?

Ansonsten wuerde ich auf jeden Fall mal bei
http://www.hho-automation.de wegen der MIB anfragen.

Da dies wohl mehr "Freitextfelder" für die lokalen Anpassungen
sind, wird dies schwer. Eine Übersetzung dazu habe ich jetzt, was
es allerdings nicht schöner macht (siehe oben). :wink:

Hoffe das hilft,

Definitiv, ja, Georg

Georg Schilling <g.schilling@fz-juelich.de

<mailto:g.schilling@fz-juelich.de>

<mailto:g.schilling@fz-__juelich.de

Hallo werte Gemeinschaft!

Ich versuche mich an einem SNMP-Check für einen BACnet-Gateway,
scheitere aber momentan fulminant an der Umsetzung gemäß
<https://mathias-kettner.de/____checkmk_devel_snmpbased.html

<https://mathias-kettner.de/__checkmk_devel_snmpbased.html&gt;

<https://mathias-kettner.de/__checkmk_devel_snmpbased.html

<https://mathias-kettner.de/checkmk_devel_snmpbased.html&gt;&gt;&gt;

Bei meinen bisherigen SNMP-Checks hatte ich immer ein echtes
Array, welches mindestens aus Sensor und Wert bestand.

Am aktuellen Beispiel habe ich jedoch nur Werte. Wie bekomme ich
nun die Sensoren, die zu Fuß eingetragen werden müssen in eine
check_mk-versträgliche Script-Syntax?

Hier ein paar Eckdaten:

Die Ausgabe des kompletten(!) snmpwalk ist recht übersichtlich.
Eine MIB habe ich noch nicht gefunden, hoffe da aber noch ein
wenig auf die "Try'n'Error-Methode":

OMD[jsc]:blush: snmpwalk -v2c -c COMMUNITY -On HOST
.1.3.6.1.4.1.36373 .1.3.6.1.4.1.36373.1.1.0 = STRING: "SNMP-Agent
internal" .1.3.6.1.4.1.36373.1.2.0 = STRING: "HHO-Automation, Uwe
Hanke" .1.3.6.1.4.1.36373.1.3.0 = STRING:
"http://www.hho-automation.de" .1.3.6.1.4.1.36373.10.1 = INTEGER:
1 .1.3.6.1.4.1.36373.10.2 = INTEGER: 41 .1.3.6.1.4.1.36373.10.3 =
INTEGER: 283 .1.3.6.1.4.1.36373.10.4 = INTEGER: 365
.1.3.6.1.4.1.36373.10.5 = INTEGER: 1997 .1.3.6.1.4.1.36373.10.6 =
INTEGER: 1944 .1.3.6.1.4.1.36373.10.7 = INTEGER: 1966
.1.3.6.1.4.1.36373.10.8 = INTEGER: 1920 .1.3.6.1.4.1.36373.10.9 =
INTEGER: 391 .1.3.6.1.4.1.36373.10.10 = INTEGER: 2096
.1.3.6.1.4.1.36373.10.11 = INTEGER: 1939 .1.3.6.1.4.1.36373.10.12
= INTEGER: 1948 .1.3.6.1.4.1.36373.10.13 = INTEGER: 1948
.1.3.6.1.4.1.36373.10.14 = INTEGER: 1949 .1.3.6.1.4.1.36373.10.15
= INTEGER: 1948 .1.3.6.1.4.1.36373.10.16 = INTEGER: 1953
.1.3.6.1.4.1.36373.10.17 = INTEGER: 1938 .1.3.6.1.4.1.36373.10.18
= INTEGER: 0 .1.3.6.1.4.1.36373.10.19 = INTEGER: 1716
.1.3.6.1.4.1.36373.10.20 = INTEGER: 1920 .1.3.6.1.4.1.36373.10.21
= INTEGER: 1941 .1.3.6.1.4.1.36373.10.22 = INTEGER: 1885
.1.3.6.1.4.1.36373.10.23 = INTEGER: 1 .1.3.6.1.4.1.36373.10.24 =
INTEGER: 7000 .1.3.6.1.4.1.36373.10.25 = INTEGER: 1917
.1.3.6.1.4.1.36373.10.26 = INTEGER: 3529 .1.3.6.1.4.1.36373.10.27
= INTEGER: 3766 .1.3.6.1.4.1.36373.10.28 = INTEGER: 3686
.1.3.6.1.4.1.36373.10.29 = INTEGER: 3701 .1.3.6.1.4.1.36373.10.30
= INTEGER: 4000 .1.3.6.1.4.1.36373.10.31 = INTEGER: 2044
.1.3.6.1.4.1.36373.10.32 = INTEGER: 1971 .1.3.6.1.4.1.36373.10.33
= INTEGER: 51 .1.3.6.1.4.1.36373.10.34 = INTEGER: 10000
.1.3.6.1.4.1.36373.10.35 = INTEGER: 1 .1.3.6.1.4.1.36373.10.36 =
INTEGER: 622 .1.3.6.1.4.1.36373.10.37 = INTEGER: 1775
.1.3.6.1.4.1.36373.10.38 = INTEGER: 1255 .1.3.6.1.4.1.36373.10.39
= INTEGER: 1 .1.3.6.1.4.1.36373.10.40 = INTEGER: 1831
.1.3.6.1.4.1.36373.10.41 = INTEGER: 2074 .1.3.6.1.4.1.36373.10.42
= INTEGER: 1 .1.3.6.1.4.1.36373.10.43 = INTEGER: 1915
.1.3.6.1.4.1.36373.10.44 = INTEGER: 2081 .1.3.6.1.4.1.36373.10.45
= INTEGER: 1 .1.3.6.1.4.1.36373.10.46 = INTEGER: 10000
.1.3.6.1.4.1.36373.10.47 = INTEGER: 1 .1.3.6.1.4.1.36373.10.48 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.49 = INTEGER: 738
.1.3.6.1.4.1.36373.10.50 = INTEGER: 1984 .1.3.6.1.4.1.36373.10.51
= INTEGER: 1180 .1.3.6.1.4.1.36373.10.52 = INTEGER: 0
.1.3.6.1.4.1.36373.10.53 = INTEGER: 0 .1.3.6.1.4.1.36373.10.54 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.55 = INTEGER: 0
.1.3.6.1.4.1.36373.10.56 = INTEGER: 0 .1.3.6.1.4.1.36373.10.57 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.58 = INTEGER: 0
.1.3.6.1.4.1.36373.10.59 = INTEGER: 0 .1.3.6.1.4.1.36373.10.60 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.61 = INTEGER: 0
.1.3.6.1.4.1.36373.10.62 = INTEGER: 0 .1.3.6.1.4.1.36373.10.63 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.64 = INTEGER: 0
.1.3.6.1.4.1.36373.10.65 = INTEGER: 0 .1.3.6.1.4.1.36373.10.66 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.67 = INTEGER: 0
.1.3.6.1.4.1.36373.10.68 = INTEGER: 0 .1.3.6.1.4.1.36373.10.69 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.70 = INTEGER: 0
.1.3.6.1.4.1.36373.10.71 = INTEGER: 0 .1.3.6.1.4.1.36373.10.72 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.73 = INTEGER: 0
.1.3.6.1.4.1.36373.10.74 = INTEGER: 0 .1.3.6.1.4.1.36373.10.75 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.76 = INTEGER: 0
.1.3.6.1.4.1.36373.10.77 = INTEGER: 0 .1.3.6.1.4.1.36373.10.78 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.79 = INTEGER: 0
.1.3.6.1.4.1.36373.10.80 = INTEGER: 0 .1.3.6.1.4.1.36373.10.81 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.82 = INTEGER: 0
.1.3.6.1.4.1.36373.10.83 = INTEGER: 0 .1.3.6.1.4.1.36373.10.84 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.85 = INTEGER: 0
.1.3.6.1.4.1.36373.10.86 = INTEGER: 0 .1.3.6.1.4.1.36373.10.87 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.88 = INTEGER: 0
.1.3.6.1.4.1.36373.10.89 = INTEGER: 0 .1.3.6.1.4.1.36373.10.90 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.91 = INTEGER: 0
.1.3.6.1.4.1.36373.10.92 = INTEGER: 0 .1.3.6.1.4.1.36373.10.93 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.94 = INTEGER: 0
.1.3.6.1.4.1.36373.10.95 = INTEGER: 0 .1.3.6.1.4.1.36373.10.96 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.97 = INTEGER: 0
.1.3.6.1.4.1.36373.10.98 = INTEGER: 0 .1.3.6.1.4.1.36373.10.99 =
INTEGER: 0 .1.3.6.1.4.1.36373.10.100 = INTEGER: 0
.1.3.6.1.4.1.36373.10.100 = No more variables left in this MIB
View (It is past the end of the MIB tree) OMD[jsc]:blush:

Gemäß der check_mk-Doku mit dem Script angefangen. Logischer
Weise fehlen mir die Namen im Array (siehe snmp_info):

OMD[jsc]:~/local/share/check_____mk/checks$ cat bacnetgw def
inventory_bacnetgw(info): # Debug: lets see how the data we get
looks like print (info) return

def check_bacnetgw(item, params, info): return (3, "UNKNOWN -
not yet implemented")

check_info["bacnetgw"] = \ (check_bacnetgw, "Sensor %s", 0,
inventory_bacnetgw)

snmp_info["bacnetgw"] = ( ".1.3.6.1.4.1.36373", [ "10" ] )
OMD[jsc]:blush:

Wie man bei der Abfrage sieht: OMD[jsc]:blush: check_mk --checks
bacnetgw -I HOST [['1'], ['41'], ['284'], ['367'], ['1975'],
['1947'], ['1937'], ['1921'], ['392'], ['2084'], ['1941'],
['1945'], ['1938'], ['1945'], ['1936'], ['1931'], ['1939'],
['0'], ['1716'], ['1921'], ['1941'], ['1886'], ['1'], ['7000'],
['1921'], ['3516'], ['3760'], ['3692'], ['3683'], ['4000'],
['2047'], ['1955'], ['51'], ['10000'], ['1'], ['622'], ['1775'],
['1255'], ['1'], ['1831'], ['2074'], ['1'], ['1915'], ['2081'],
['1'], ['10000'], ['1'], ['0'], ['737'], ['1984'], ['1173'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'],
['0'], ['0'], ['0'], ['0']] OMD[jsc]:~%

Wie bekomme ich den Check also so geschrieben, das ich intern
Namen zu den Werten vergeben kann? Ich stehe da scheinbar ein
wenig auf dem Schlauch...

Danke euch für einen Schubser in die richtige Richtung, Georg

------------------------------____----------------------------__--__--------------------------__----__------

-
------------------------------____----------------------------__--__--------------------------__----__------

Forschungszentrum Juelich GmbH 52425 Juelich Sitz der Gesellschaft:

Juelich Eingetragen im Handelsregister des Amtsgerichts Dueren
Nr. HR B 3498 Vorsitzender des Aufsichtsrats: MinDir Dr. Karl
Eugen Huthmacher Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang
Marquardt (Vorsitzender), Karsten Beneke (stellv. Vorsitzender),
Prof. Dr.-Ing. Harald Bolt, Prof. Dr. Sebastian M. Schmidt

------------------------------____----------------------------__--__--------------------------__----__------

-
------------------------------____----------------------------__--__--------------------------__----__------

___________________________________________________ checkmk-de
mailing list checkmk-de@lists.mathias-____kettner.de

<mailto:checkmk-de@lists.mathias-__kettner.de>

<mailto:checkmk-de@lists.__mathias-kettner.de

<mailto:checkmk-de@lists.mathias-kettner.de>>

http://lists.mathias-kettner.____de/mailman/listinfo/checkmk-__de

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

···

Am 05.12.2014 um 12:05 schrieb Marcel Schulte:

<mailto:g.schilling@fz-juelich.de>> schrieb am Fri Dec 05 2014 at > 11:47:10:
Am 05.12.2014 um 09:53 schrieb Marcel Schulte:
<mailto:g.schilling@fz-juelich.de>>> schrieb am Fri Dec 05 2014 at >> 08:30:43:
<http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de&gt;\_\_&gt;

------------------------------__------------------------------__------------------------------__------

-
------------------------------__------------------------------__------------------------------__------

Forschungszentrum Juelich GmbH 52425 Juelich Sitz der Gesellschaft:
Juelich Eingetragen im Handelsregister des Amtsgerichts Dueren Nr.
HR B 3498 Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen
Huthmacher Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt
(Vorsitzender), Karsten Beneke (stellv. Vorsitzender), Prof.
Dr.-Ing. Harald Bolt, Prof. Dr. Sebastian M. Schmidt
------------------------------__------------------------------__------------------------------__------

-
------------------------------__------------------------------__------------------------------__------

_________________________________________________ checkmk-de
mailing list checkmk-de@lists.mathias-__kettner.de
<mailto:checkmk-de@lists.mathias-kettner.de>
http://lists.mathias-kettner.__de/mailman/listinfo/checkmk-de
<http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de&gt;

- --
Georg Schilling
Technologie-Support-Team
Juelich Supercomputing Centre (JSC)

Phone: 02461-61-96530 Mobile: 0172-5295475
Fax: 02461-61-2810 Skype: georg_schilling
WWW: http://www.fz-juelich.de/jsc

------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------