Hello,
i wrote a custom plugins to detect disk status from asustor nas. I get data only if i start via command line.
I have to start it once via
cmk --debug -nvI --detect-plugins asustor_disks NAS
where i get:
SUCCESS - Found 3 services, no new host labels
then i give:
cmk --debug -nv --detect-plugins asustor_disks NAS
and i get:
- PARSE FETCHER RESULTS
Received no piggyback data
Asustor_Disk 1 WDC WD40EFRX-68N32N0 is Healthy.
Asustor_Disk 2 WDC WD40EFRX-68N32N0 is Healthy.
Asustor_Disk 3 WDC WD40EFRX-68WT0N0 is Healthy.
after this, if i perform a full scan in WATO i get no response.
anyone could help me on this?
the script is really basic:
#!/usr/bin/env python3
-- coding: utf-8 --
def check_asustor_disks(item, _no_params, info):
for disk_id, disk_bay, disk_model, disk_type, disk_status, disk_temperature in info[0]:
if disk_id == item:
if disk_status == “Healthy”:
state = 0
elif disk_status == “Normal”:
state = 0
elif disk_status in [ “Risky”, “Dangerous”, “Bad” ]:
state = 2
# Any state we don’t know.
else:
state = 3
msg = “%s is %s.” % (disk_model, disk_status)
return (state, "%s " % (msg))
yield state, "%s " % (msg)
return (3, "UNKW - Error")
def inventory_asustor_disks(info):
inventory = []
for disk_id, disk_bay, disk_model, disk_type, disk_status, disk_temperature in info[0]:
yield disk_id, None
check_info[“asustor_disks”] = {
“inventory_function”: inventory_asustor_disks,
“check_function”: check_asustor_disks,
“service_description”: “Asustor_Disk %s”,
“snmp_scan_function”: lambda oid: oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.44738.4"),
“snmp_info”: [(
“.1.3.6.1.4.1.44738.4.1.1”,
[
“1”, # disk index
“2”, # disk bay
“3”, # disk model
“4”, # disk type
“5”, # disk status
“6”, # disk temperature
])
]
}