Hallo
Hab jetzt mal angefangen das SNMP Plugin neu zu schreiben. FInde in der Doku aber den roten Faden in der Anleitung nicht so recht, zB was jetzt noch zum SNMP Plugin gehört, oder dem weiter oben besprochenen anderen Checks… Hier das ich bisher geschrieben habe… EDIT:
Das ist jetzt aus einem Template von hier:
Meine Python Skills sind ja eher begrenzt. Der “Full service scan” sagt das er den Job completed hat, aber es gibt keine neuen Services. Im Catalog der Check Plugins taucht das neue Plugin auch nicht auf… Wo kann ich ansetzen.??
https://github.com/Bastian-Kuhn/Check_MK-Treasures/blob/master/stuff/skeleton/snmp_check.py
#!/usr/bin/python3
from typing import Dict, List, Mapping, Tuple
from .agent_based_api.v1 import (
SNMPTree,
register,
Service,
Result,
State,
any_of,
startswith,
contains,
)
DETECT_FUNCTION = any_of(
contains(".1.3.6.1", "ePowerSwitch"),
startswith(".1.3.6.1", "ePowerSwitch"),
)
def parse_epsm_door_function(string_table):
data = {}
for line in string_table:
data[line[0]] = line[1]
return data
#return {
# line[0]: line[1]
# for line in table
#}
def discovery_epsm_door_function(section):
for item in section:
yield Service(item=item)
#yield from (Serviec(item=item) for item in section)
def check_epsm_door_function(item, section):
if item not in section:
return
data = section[item]
yield Result(
state=State.OK, # State.OK, State.WARN, State.CRIT, State.UNKOWN
summary="Message"
)
register.snmp_section(
name="EPowerswitch",
detect=DETECT_FUNCTION,
parse_function=parse_epsm_door_function,
fetch=[
SNMPTree(
base=".1.3.6.1.4.1.24734.13.6.1.1.3",
oids=[
"1",
"2",
"3",
"4",
],
),
],
)
register.check_plugin(
name="epsm_door",
service_name="EPowerswitch_8XM %s",
discovery_function=discovery_epsm_door_function,
check_function=check_epsm_door_function,
#cluster_check_function=my_cluster_check_function,
)