diff --git a/checks/cisco_asa_fan b/checks/cisco_asa_fan index 9c0b46ba8a5d176612cd250d8e3252529e98f673..41302d2a9d81e0566fe63f91bd7c9938d071d593 100644 --- a/checks/cisco_asa_fan +++ b/checks/cisco_asa_fan @@ -9,50 +9,41 @@ # 02.07.2016: fixed crit/warn to >= # 09.01.2018: added minimum level # 03.05.2018: fixed inventory for empty sensorname (asa context) -# +# 24.02.2020: rewritten for cmk 1.6.x, includes "temperature.include" +# Note: item has ben changed from "Environment: <sensorname" to "Fan <sensorname> +# Note: wato/metrics changed to use CMK build in template -cisco_asa_fan_default_levels = (6000,7000,2000) +factory_settings['cisco_asa_fan_default_levels'] = { + 'lower': (2000, 1000), + 'upper': (6000, 7000), + 'output_metrics': True, +} def inventory_cisco_asa_fan(info): for sensorname, sensortype, sensorvalue, sensorstatus, sensorunits in info: if sensortype == '10' and sensorstatus == '1' and sensorname != '': - yield sensorname, cisco_asa_fan_default_levels + if sensorname.lower().startswith('fan '): + sensorname = sensorname[4:] + yield sensorname, None -def check_cisco_asa_fan(item, params, info): - warn, crit, minimum = params - infotext = 'item not found(!)' - state = 3 - perfdata = [] +def check_cisco_asa_fan(item, params, info): for sensorname, sensortype, sensorvalue, sensorstatus, sensorunits in info: + if sensorname.lower().startswith('fan '): + sensorname = sensorname[4:] if sensorname == item and sensortype == '10': sensorvalue = int(sensorvalue) - infotext = '%d rpm' % (sensorvalue) - perfdata = [('rpm', sensorvalue, warn, crit)] - if sensorvalue >= crit: - infotext += '(>=%d)(!!)' % crit - return 2, infotext, perfdata - elif sensorvalue >= warn: - infotext += '(>=%d)(!)' % warn - return 1, infotext, perfdata - elif sensorvalue < minimum: - infotext += '(<%d)(!!)' % minimum - return 2, infotext, perfdata - else: - return 0, infotext, perfdata - - return state, infotext, perfdata - + yield check_fan(sensorvalue, params) check_info['cisco_asa_fan'] = { 'check_function' : check_cisco_asa_fan, 'inventory_function' : inventory_cisco_asa_fan, - 'service_description': 'Environment: %s', + 'service_description': 'Fan %s', 'has_perfdata' : True, - 'group' : 'cisco_asa_fan', + 'group' : 'hw_fans', 'snmp_scan_function' : lambda oid: oid('.1.3.6.1.2.1.1.1.0').lower().startswith('cisco adaptive security appliance'), 'snmp_info' : ('.1.3.6.1.2.1', [ '47.1.1.1.1.7', #ENTITY-MIB::entPhysicalName @@ -61,5 +52,7 @@ check_info['cisco_asa_fan'] = { '99.1.1.1.5', #ENTITY-SENSOR-MIB::entPhySensorOperStatus '99.1.1.1.6', #ENTITY-SENSOR-MIB::entPhySensorUnitsDisplay ]), + 'includes': ['fan.include'], + 'default_levels_variable': 'cisco_asa_fan_default_levels', } diff --git a/cisco_asa_fan.mkp b/cisco_asa_fan.mkp index db7ab412dddf0558c5893df239408755d0f4c6c6..4e78f1a56cf55e6ab5e56f351da745992fd257ca 100644 Binary files a/cisco_asa_fan.mkp and b/cisco_asa_fan.mkp differ diff --git a/packages/cisco_asa_fan b/packages/cisco_asa_fan index 65d2e4db33c2f5d24be04e57f27b9b765f705ca3..944709ff6149ac4f5180faa29ef76b18d112ad5c 100644 --- a/packages/cisco_asa_fan +++ b/packages/cisco_asa_fan @@ -1,14 +1,10 @@ -{'author': 'Th.L. (thl-cmk[at]outlook[dot]com)', - 'description': 'monitor Cisco ASA fan sensors\nMinimum/Warning/Critical rpm level can be configured via wato', +{'author': u'Th.L. (thl-cmk[at]outlook[dot]com)', + 'description': u'Monitor Cisco ASA fan sensors\n\nRewrite for CMK 1.6x to include "fan.include"\n\nNOTE: changed item from Environment: <Sensorname> to Fan <Sensorname>\n', 'download_url': 'https://thl-cmk.hopto.org', - 'files': {'checkman': ['cisco_asa_fan'], - 'checks': ['cisco_asa_fan'], - 'pnp-templates': [], - 'web': ['plugins/wato/cisco_asa_fan.py', - 'plugins/metrics/cisco_asa_fan.py']}, + 'files': {'checkman': ['cisco_asa_fan'], 'checks': ['cisco_asa_fan']}, 'name': 'cisco_asa_fan', - 'num_files': 4, - 'title': 'monitor cisco ASA fan sensors', - 'version': '20180503.v03a', - 'version.min_required': '1.2.6p16', + 'num_files': 2, + 'title': u'monitor cisco ASA fan sensors', + 'version': '200224.v04', + 'version.min_required': '1.6.0', 'version.packaged': '1.6.0p8'} \ No newline at end of file