From 69a9c9a57d2f1109bb611a0e216ebb76310d769a Mon Sep 17 00:00:00 2001 From: OMD site cmk16x <thl-cmk@outlook.com> Date: Thu, 14 May 2020 13:13:39 +0200 Subject: [PATCH] update project --- checks/cisco_asyncos_update | 66 +++++------------------ cisco_asyncos.mkp | Bin 11498 -> 11332 bytes packages/cisco_asyncos | 4 +- web/plugins/wato/cisco_asyncos_update.py | 16 +++--- 4 files changed, 22 insertions(+), 64 deletions(-) diff --git a/checks/cisco_asyncos_update b/checks/cisco_asyncos_update index 35bfda0..5c597db 100644 --- a/checks/cisco_asyncos_update +++ b/checks/cisco_asyncos_update @@ -4,6 +4,7 @@ # Rewriten by: Th.L. # Date: 19-02-2020 # +# 2020-05-14: added wato oprion to ignore items # # check_mk is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +16,7 @@ # License along with GNU Make; see the file COPYING. If not, write # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, # Boston, MA 02110-1301 USA. - +# # # sample snmpwalk # @@ -164,7 +165,8 @@ # factory_settings['cisco_asyncos_update_default_levels'] = { - 'failedLevel': (5, 10) + 'failedLevel': (5, 10), + 'features_ignore': [] } @@ -181,6 +183,7 @@ def check_cisco_asyncos_update(_no_item, params, info): failedItemsWarn = [] failedItemsCrit = [] failedWarn, failedCrit = params.get('failedLevel') + features_ignore = params['features_ignore'] lastState = 1 for line in info: @@ -190,31 +193,18 @@ def check_cisco_asyncos_update(_no_item, params, info): passedLast = get_item_state('cisco_asyncos_update_%s_passedLast' % name) failedLast = get_item_state('cisco_asyncos_update_%s_failedLast' % name) failedAttempts = get_item_state('cisco_asyncos_update_%s_failedAttempts' % name) - # lastState = get_item_state('cisco_asyncos_update_%s_lastState' % name) - - # lastState = 0 - # set_item_state('cisco_asyncos_update_%s_lastState' % name, lastState) - - # print 'cisco_asyncos_update_%s_passedLast: %s' % (name, passedLast) - # print 'cisco_asyncos_update_%s_failedLast: %s' % (name, failedLast) - # print 'cisco_asyncos_update_%s_failedAttempts: %s' % (name, failedAttempts) - # print 'cisco_asyncos_update_%s_lastState: %s' % (name, lastState) if (passedLast == None) or (failedLast == None) or (failedAttempts == None): # or (lastState == None): # init counters - # print ' init counters' set_item_state('cisco_asyncos_update_%s_passedLast' % name, passed) set_item_state('cisco_asyncos_update_%s_failedLast' % name, failed) set_item_state('cisco_asyncos_update_%s_failedAttempts' % name, 0) - # lastState = 0 - # set_item_state('cisco_asyncos_update_%s_lastState' % name, lastState) else: set_item_state('cisco_asyncos_update_%s_passedLast' % name, passed) set_item_state('cisco_asyncos_update_%s_failedLast' % name, failed) passedLast = int(passedLast) failedLast = int(failedLast) failedAttempts = int(failedAttempts) - # lastState = int(lastState) failed = int(failed) passed = int(passed) # reset counter if overrun @@ -231,54 +221,22 @@ def check_cisco_asyncos_update(_no_item, params, info): else: failedAttempts = failedAttempts + failed - failedLast set_item_state('cisco_asyncos_update_%s_failedAttempts' % name, failedAttempts) - if failedAttempts >= failedCrit: - failedItemsCrit.append(name) - lastState = -1 - elif failedAttempts >= failedWarn: - failedItemsWarn.append(name) - lastState = -1 - - # if passed == passedLast and failed == failedLast: - # # no attempt since last check - # if lastState == 2: - # failedItemsCrit.append(name) - # elif lastState == 1: - # failedItemsWarn.append(name) - # elif failed > failedLast: - # # failed attempts since last check - # failedAttempts = failedAttempts + failed - failedLast - # set_item_state('cisco_asyncos_update_%s_failedAttempts' % name, failedAttempts) - # if failedAttempts >= failedCrit: - # failedItemsCrit.append(name) - # lastState = 2 - # elif failedAttempts >= failedWarn: - # failedItemsWarn.append(name) - # lastState = 1 - # elif passed > passedLast: - # # rest error counter and state - # lastState = 0 - # set_item_state('cisco_asyncos_update_%s_failedAttempts' % name, 0) - - # set_item_state('cisco_asyncos_update_%s_lastState' % name, lastState) - # - # if lastState == 0: - # lastState = 1 - # else: - # lastState = -1 + if name not in features_ignore: + if failedAttempts >= failedCrit: + failedItemsCrit.append(name) + lastState = -1 + elif failedAttempts >= failedWarn: + failedItemsWarn.append(name) + lastState = -1 perfdata.append((name.replace(' ', '_'), lastState, None, None, -1, 1)) - # print failedItemsCrit - # print failedListWarn - infotext += '%d item(s) found' % len(info) if len(failedItemsCrit) > 0: yield 2, '%d failed item(s) (%s), failed attempts >= %d' % (len(failedItemsCrit), ', '.join(failedItemsCrit), failedCrit) if len(failedItemsWarn) > 0: yield 1, '%d failed item(s) (%s), failed attempts >= %d' % (len(failedItemsWarn), ', '.join(failedItemsWarn), failedWarn) - # print perfdata - yield 0, infotext + longoutput, perfdata diff --git a/cisco_asyncos.mkp b/cisco_asyncos.mkp index 7558c56841d440ef2c73a0e3011ebe8e97582629..6851723518c4cb1a2f918ebb03ccc0fe9c1828eb 100644 GIT binary patch literal 11332 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 literal 11498 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 diff --git a/packages/cisco_asyncos b/packages/cisco_asyncos index 4d3fa87..c62480e 100644 --- a/packages/cisco_asyncos +++ b/packages/cisco_asyncos @@ -1,5 +1,5 @@ {'author': u'Th.L. (thl-cmk[at]outlook[dot]com)', - 'description': u'Cisco AsyncOS (IronPort) checks\n\n- fixed inventory function\n- changed scan function, to look for "AsyncOS"\n- cisco_asyncos_queue: added wato\n\n- cisco_asyncos_fan, cisco_asyncos_power, cisco_asyncos_raid, cisco_asyncos_license, cisco_asyncos_update and cisco_asyncos_temp rewriten by Th.L. all other checks by A.Doehler\n\n- cisco_asyncos_fan uses fan.include\n- cisco_asyncos_temp uses temperature.include\n\n- 08.03.2020: added cisco_asyncos_dns, cisco_asyncos_resources, cisco_asyncos_messageage\n', + 'description': u'Cisco AsyncOS (IronPort) checks\n\n- fixed inventory function\n- changed scan function, to look for "AsyncOS"\n- cisco_asyncos_queue: added wato\n\n- cisco_asyncos_fan, cisco_asyncos_power, cisco_asyncos_raid, cisco_asyncos_license, cisco_asyncos_update and cisco_asyncos_temp rewriten by Th.L. all other checks by A.Doehler\n\n- cisco_asyncos_fan uses fan.include\n- cisco_asyncos_temp uses temperature.include\n\n- 2020-03-08: added cisco_asyncos_dns, cisco_asyncos_resources, cisco_asyncos_messageage\n- 2020-05-14: added wato option to cisco_asyncos_update to ignore features\n', 'download_url': 'https://thl-cmk.hopto.org', 'files': {'checks': ['cisco_asyncos_bandwidth', 'cisco_asyncos_cache', @@ -24,6 +24,6 @@ 'name': 'cisco_asyncos', 'num_files': 20, 'title': u'Cisco AsyncOS (IronPort) checks', - 'version': '2020308_v0.1.3', + 'version': '20200514_v0.1.4', 'version.min_required': '1.6.0p6', 'version.packaged': '1.6.0p8'} \ No newline at end of file diff --git a/web/plugins/wato/cisco_asyncos_update.py b/web/plugins/wato/cisco_asyncos_update.py index d370a72..19456b1 100644 --- a/web/plugins/wato/cisco_asyncos_update.py +++ b/web/plugins/wato/cisco_asyncos_update.py @@ -9,14 +9,14 @@ register_check_parameters( Dictionary( # help=_(''), elements=[ - # ('features_ignore', - # ListOfStrings( - # title=_('update features to ignore'), - # orientation='horizontal', - # help=_('there will be no warning/critical if this features are expired' - # 'Examples: McAfee, IronPort Email Encryption, Data Loss Prevention, etc.'), - # ) - # ), + ('features_ignore', + ListOfStrings( + title=_('update features to ignore'), + orientation='horizontal', + help=_('there will be no warning/critical if this features are not updated' + 'Examples: geo_countries, timezones, etc.'), + ) + ), ('failedLevel', Tuple( title=_('Levels for failed attempts'), -- GitLab