1
0
This repository has been archived on 2025-03-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
check_mk-plugins/src/lynx_rct5023g/checks/lynx_rct5023g_power
T
2017-11-28 15:02:38 +01:00

65 lines
2.3 KiB
Python

#!/usr/bin/python
# -*- coding: utf-8; py-indent-offset: 4 -*-
# _______ __ _ ____ __
# | | \ | |___ \ / /
# | | \| | __) | / /-,_
# | | |\ |/ __/ /__ _|
# |_______|_| \__|_____| |_|
#
# @author Markus Birth <markus.birth@weltn24.de>
def inventory_lynx_rct5023g_power(info):
inventory = []
for OID_END, name, label, p1name, p1stat, p1volt, p1temp, p2name, p2stat, p2volt, p2temp in info:
inventory.append( (name, None) )
return inventory
def check_lynx_rct5023g_power(item, _no_params, info):
status = 0
for OID_END, name, label, p1name, p1stat, p1volt, p1temp, p2name, p2stat, p2volt, p2temp in info:
if item != name:
continue
p1volt = savefloat(p1volt)/10
p1temp = saveint(p1temp)
p2volt = savefloat(p2volt)/10
p2temp = saveint(p2temp)
if p1stat != "" or p2stat != "":
status = 2
if p1stat == "":
p1stat = "OK"
if p2stat == "":
p2stat = "OK"
message = u"%s, ⚡1:%s (%.1fV, %s℃), ⚡2:%s (%.1fV, %s℃)" % (label, p1stat, p1volt, p1temp, p2stat, p2volt, p2temp)
message += u"\r\n1: %s" % (p1name)
message += u"\r\n2: %s" % (p2name)
return status, message
return 3, "%s not found in SNMP data." % item
check_info["lynx_rct5023g_power"] = {
"check_function" : check_lynx_rct5023g_power,
"inventory_function" : inventory_lynx_rct5023g_power,
"service_description" : "%s PSU",
"snmp_info" : (".1.3.6.1.4.1.14755.2", ["49672.644.1.1", "49673.644.1.1"], [
OID_END,
1, # Device name
2, # Custom name
18, # psu1Name
19, # psu1Status
20, # psu1Voltage
21, # psu1Temp
22, # psu2Name
23, # psu2Status
24, # psu2Voltage
25, # psu2Temp
]),
"snmp_scan_function" : lambda oid: oid(".1.3.6.1.4.1.14755.2.49672.*"),
"has_perfdata" : False
}