Naja das ganze Teil ist für Nagios, Check-MK und so sieht es aus :
Code: Alles auswählen
#!/usr/bin/python
# -*- encoding: utf-8; py-indent-offset: 4 -*-
def inventory_mist(info):
#print(info)
#import pprint ; pprint.pprint(info)
for int_index, interface, cat in info[0]:
if cat == '131':
yield interface, None
def check_mist(item, _no_params, info):
from itertools import chain
inter = info[0]
alive = info[1]
print(inter)
ids = set(chain.from_iterable(alive))
for element in inter:
print(element)
if element[2] == '131':
if element[0] in ids:
return (0, "OK")
else:
return (2, "Not found")
return (3, "UNKNOWN - not yet implemented")
mist_info = [
( ".1.3.6.1.2.1.2.2.1", ["1", "2", "3"]
),
( ".1.3.6.1.4.1.9.9.449.1.4.1.1", ["4"]
)
]
check_info["mist"] = {
"check_function" : check_mist,
"inventory_function" : inventory_mist,
"service_description" : "Status of %s",
"snmp_info" : mist_info
Ganz interessant finde ich gerade, das meine Schleife einen Teil "Verschluckt" Deswegen wird hier nichts grün.
Das habe ich auf der Konsole.
[['1', 'GigabitEthernet1', '6'], ['2', 'GigabitEthernet2', '6'], ['3', 'GigabitEthernet3', '6'], ['4', 'Null0', '1'], ['5', 'Loopback10', '24'], ['6', 'Tunnel25', '131'], ['7', 'Tunnel5025', '131']]
['1', 'GigabitEthernet1', '6']
['2', 'GigabitEthernet2', '6']
['3', 'GigabitEthernet3', '6']
['4', 'Null0', '1']
['5', 'Loopback10', '24']
['6', 'Tunnel25', '131']
Status of Tunnel25 CRIT - Not found
[['1', 'GigabitEthernet1', '6'], ['2', 'GigabitEthernet2', '6'], ['3', 'GigabitEthernet3', '6'], ['4', 'Null0', '1'], ['5', 'Loopback10', '24'], ['6', 'Tunnel25', '131'], ['7', 'Tunnel5025', '131']]
['1', 'GigabitEthernet1', '6']
['2', 'GigabitEthernet2', '6']
['3', 'GigabitEthernet3', '6']
['4', 'Null0', '1']
['5', 'Loopback10', '24']
['6', 'Tunnel25', '131']
Status of Tunnel5025 CRIT - Not found
Wie man ganz oben sieht, gibt es in der SNMP Abfrage der info einen index der mit 7 beginnt.
Später aber fehlt dieser dann auf einmal. Das macht mich ja jetzt ganz verrückt. Dummerweise ist die 7 normalerweise alive, die 6 down und die 3 wird aufgrund des Filters Ignoriert
