From 0c3320365970011b963e2a2c9716c97d91403e0b Mon Sep 17 00:00:00 2001
From: OMD site cmk16x <thl-cmk@outlook.com>
Date: Mon, 24 Feb 2020 13:16:08 +0100
Subject: [PATCH] update project

---
 checks/cisco_asa_fan   |  45 +++++++++++++++++------------------------
 cisco_asa_fan.mkp      | Bin 3187 -> 1958 bytes
 packages/cisco_asa_fan |  18 +++++++----------
 3 files changed, 26 insertions(+), 37 deletions(-)

diff --git a/checks/cisco_asa_fan b/checks/cisco_asa_fan
index 9c0b46b..41302d2 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
GIT binary patch
literal 1958
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

literal 3187
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
ZBfIlo{~v6!KCn-GAM#N-k$d9AzW@yHE*<~?

diff --git a/packages/cisco_asa_fan b/packages/cisco_asa_fan
index 65d2e4d..944709f 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
-- 
GitLab