lists.checkmk.com
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
List overview
Download
Checkmk git commits
October 2018
----- 2024 -----
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
checkmk-commits@lists.checkmk.com
15 participants
308 discussions
Start a n
N
ew thread
Fix integration test after redirect changes (#6773, c353146d6)
by Lars Michelsen
Module: check_mk Branch: master Commit: 1edebdb57fa7572bc10beda69d2f90792a480a61 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=1edebdb57fa757…
Author: Lars Michelsen <lm(a)mathias-kettner.de> Date: Mon Oct 8 20:47:12 2018 +0200 Fix integration test after redirect changes (#6773, c353146d6) Change-Id: I6d3a61568bb29b726c3278e4bbbe8c7b682dedbb --- tests/integration/omd/test_web_access.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/integration/omd/test_web_access.py b/tests/integration/omd/test_web_access.py index 3e4a171..06d8cd4 100644 --- a/tests/integration/omd/test_web_access.py +++ b/tests/integration/omd/test_web_access.py @@ -18,7 +18,8 @@ def test_www_dir(site): def test_base_path_redirects(site): web = CMKWebSession(site) - expected_target = '%s://%s/%s/check_mk/' % (site.http_proto, site.http_address, site.id) + expected_target = '%s://%s:%d/%s/check_mk/' % \ + (site.http_proto, site.http_address, site.apache_port, site.id) web.check_redirect("/%s" % site.id, expected_target=expected_target) web.check_redirect("/%s/" % site.id, expected_target=expected_target)
5 years, 8 months
1
0
0
0
Added debug code for current integration test problems.
by Sven Panne
Module: check_mk Branch: master Commit: 55a73798330639641a6308a0484bc92bde82bcaa URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=55a73798330639…
Author: Sven Panne <sp(a)mathias-kettner.de> Date: Mon Oct 8 15:43:57 2018 +0200 Added debug code for current integration test problems. Change-Id: I257b020b551d8cef7e1fc8d3e25163aa15d2e1d1 --- tests/testlib/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/testlib/__init__.py b/tests/testlib/__init__.py index 935613c..c5adeca 100644 --- a/tests/testlib/__init__.py +++ b/tests/testlib/__init__.py @@ -966,6 +966,8 @@ class WebSession(requests.Session): response = self.get(path, expected_code=expected_code, allow_redirects=False) if expected_target: + if response.headers['Location'] != expected_target: + raise AssertionError("REDIRECT FAILED: '%s' != '%s'" % (response.headers['Location'], expected_target)) assert response.headers['Location'] == expected_target
5 years, 8 months
1
0
0
0
Reserved 20 Werk IDS
by Simon Betz
Module: check_mk Branch: master Commit: 3df7598df06ef60007a516db819787af44ff1975 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=3df7598df06ef6…
Author: Simon Betz <si(a)mathias-kettner.de> Date: Mon Oct 8 14:40:26 2018 +0200 Reserved 20 Werk IDS Change-Id: I63854698e9af9ae736ad79fd3afe44173efc0131 --- .werks/first_free | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.werks/first_free b/.werks/first_free index 9c6100d8..b8e076a 100644 --- a/.werks/first_free +++ b/.werks/first_free @@ -1 +1 @@ -6809 +6829
5 years, 8 months
1
0
0
0
Regenerate Pipfile.lock.
by Sven Panne
Module: check_mk Branch: master Commit: 003f7ef5d44077c91b5b8f6a601b72da7011b87b URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=003f7ef5d44077…
Author: Sven Panne <sp(a)mathias-kettner.de> Date: Mon Oct 8 11:19:33 2018 +0200 Regenerate Pipfile.lock. Change-Id: Ic58b51ade7aa35b7a5812984c6d81e33fef010bb --- Pipfile.lock | 89 ++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 53 insertions(+), 36 deletions(-) Diff:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commitdiff;h=003f7ef5d4…
5 years, 8 months
1
0
0
0
We should better use the right home directory during pip install.
by Sven Panne
Module: check_mk Branch: master Commit: 0214b144d0aeb7330a62ae8a48aa9e09c501f994 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0214b144d0aeb7…
Author: Sven Panne <sp(a)mathias-kettner.de> Date: Mon Oct 8 10:57:36 2018 +0200 We should better use the right home directory during pip install. Change-Id: I3e77ced5362070917a5ce611e1ed6231347b3ad8 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8bd5f7d..330a7df 100644 --- a/Makefile +++ b/Makefile @@ -368,7 +368,7 @@ setup: chrpath \ enchant \ p7zip-full - sudo pip install -U pipenv + sudo -H pip install -U pipenv $(MAKE) -C omd setup $(MAKE) -C omd/packages/openhardwaremonitor setup $(MAKE) -C docker setup
5 years, 8 months
1
0
0
0
6642 Performance data for mknotify
by Óscar Nájera
Module: check_mk Branch: master Commit: f31669d226ad35d39d416b1b0e0b6166e87f8472 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f31669d226ad35…
Author: Óscar Nájera <on(a)mathias-kettner.de> Date: Tue Oct 2 11:02:30 2018 +0200 6642 Performance data for mknotify The OMD Notification Spooler now includes performance data. Graphs about the last instant the spool was refreshed and how many new files are in the queue are shown. In case there are corrupted files in the spool or they have been deferred corresponding graphs will be included. CMK-906 Change-Id: I7182d730ac13b06fa1b2cf5c588d2e587245a677 --- .werks/6642 | 13 +++++++ checks/mknotifyd | 73 ++++++++++++++++++++++--------------- cmk/gui/plugins/metrics/check_mk.py | 46 +++++++++++++++++++++++ 3 files changed, 103 insertions(+), 29 deletions(-) diff --git a/.werks/6642 b/.werks/6642 new file mode 100644 index 0000000..c691e72 --- /dev/null +++ b/.werks/6642 @@ -0,0 +1,13 @@ +Title: Performance data for mknotify +Level: 1 +Component: nagvis +Compatible: compat +Edition: c1e +Version: 1.6.0i1 +Date: 1538662417 +Class: feature + +The OMD Notification Spooler now includes performance data. Graphs about +the last instant the spool was refreshed and how many new files are in the +queue are shown. In case there are corrupted files in the spool or they +have been deferred corresponding graphs will be included. diff --git a/checks/mknotifyd b/checks/mknotifyd index 825af50..9601903 100644 --- a/checks/mknotifyd +++ b/checks/mknotifyd @@ -55,15 +55,16 @@ # InputBuffer: 0 Bytes # OutputBuffer: 0 Bytes + def parse_mknotifyd(info): parsed = {} for line in info: if line[0].startswith('['): site = line[0][1:-1] site_entry = { - "spools" : {}, - "connections" : {}, - "queues" : {} + "spools": {}, + "connections": {}, + "queues": {}, } sub_entry = site_entry parsed[site] = site_entry @@ -87,8 +88,13 @@ def parse_mknotifyd(info): if value == "None": value = None elif value and varname not in [ - "Type", "State", "Version", "Status Message", - "Pending Acknowledgements", "Connect Time" ]: + "Type", + "State", + "Version", + "Status Message", + "Pending Acknowledgements", + "Connect Time", + ]: value = int(value.split()[0]) elif varname == "Connect Time": value = float(value.split()[0]) @@ -111,12 +117,11 @@ def parse_mknotifyd(info): stats["connections"][address] = connections[0] else: for nr, connection in enumerate(connections): - stats["connections"][address + "/" + str(nr+1)] = connection + stats["connections"][address + "/" + str(nr + 1)] = connection return parsed -#. # .--Spooler Status------------------------------------------------------. # | ____ _ ____ _ _ | # |/ ___| _ __ ___ ___ | | ___ _ __ / ___|| |_ __ _| |_ _ _ ___ | @@ -128,8 +133,10 @@ def parse_mknotifyd(info): # | | # '----------------------------------------------------------------------' + def inventory_mknotifyd(parsed): - return [ (p, {}) for p in parsed ] + return [(p, {}) for p in parsed] + def check_mknotifyd(item, _no_params, parsed): if item not in parsed: @@ -141,45 +148,53 @@ def check_mknotifyd(item, _no_params, parsed): version = stat["Version"] # Output Version - yield 0, "Version: " + version + yield 0, "Version: " + version, [] # Check age of status file. It's updated every 20 seconds status_age = now - stat["Updated"] if status_age > 90: - yield 2, "Status last updated %s ago, spooler seems crashed or busy" % get_age_human_readable(status_age) + state = 2 + infotext = "Status last updated %s ago, spooler seems crashed or busy" % get_age_human_readable( + status_age) else: - yield 0, "Spooler running" + state = 0 + infotext = "Spooler running" + yield state, infotext, [('last_updated', status_age), ('new_files', stat['spools']['New']['Count'])] # Are there any corrupted files corrupted = stat["spools"]["Corrupted"] if corrupted["Count"]: - yield 1, "%d corrupted files: youngest %s ago" % (corrupted["Count"], get_age_human_readable(now - corrupted["Youngest"])) + age = now - corrupted["Youngest"] + perf_data = [('corrupted_files', corrupted["Count"])] + yield 1, "%d corrupted files: youngest %s ago" % (corrupted["Count"], + get_age_human_readable(age)), perf_data # Are there deferred files that are too old? deferred = stat["spools"]["Deferred"] if deferred["Count"]: age = now - deferred["Oldest"] count = deferred["Count"] + perf_data = [('deferred_age', age), ('deferred_files', deferred["Count"])] if age > 5: state = 1 elif age > 600: state = 2 else: state = 0 - yield state, "%d deferred files: oldest %s ago" % (count, get_age_human_readable(age)) + yield state, "%d deferred files: oldest %s ago" % (count, + get_age_human_readable(age)), perf_data return + check_info["mknotifyd"] = { - "parse_function" : parse_mknotifyd, - "inventory_function" : inventory_mknotifyd, - "check_function" : check_mknotifyd, - "service_description" : "OMD %s Notification Spooler", + "parse_function": parse_mknotifyd, + "inventory_function": inventory_mknotifyd, + "check_function": check_mknotifyd, + "has_perfdata": True, + "service_description": "OMD %s Notification Spooler", } - - -#. # .--Connections---------------------------------------------------------. # | ____ _ _ | # | / ___|___ _ __ _ __ ___ ___| |_(_) ___ _ __ ___ | @@ -189,6 +204,7 @@ check_info["mknotifyd"] = { # | | # '----------------------------------------------------------------------' + def inventory_mknotifyd_connection(parsed): for site_name, stats in parsed.items(): for connection_name in stats["connections"]: @@ -197,10 +213,10 @@ def inventory_mknotifyd_connection(parsed): def check_mknotifyd_connection(item, _no_params, parsed): states = { - "established" : (0, "Alive"), - "cooldown" : (2, "Connection failed or terminated"), - "initial" : (1, "Initialized"), - "connecting" : (2, "Trying to connect"), + "established": (0, "Alive"), + "cooldown": (2, "Connection failed or terminated"), + "initial": (1, "Initialized"), + "connecting": (2, "Trying to connect"), } site_name, connection_name = item.split('-', 1) @@ -227,15 +243,14 @@ def check_mknotifyd_connection(item, _no_params, parsed): yield 0, "Connect time: %.3f sec" % connection["Connect Time"] # Stats - for what in ( "Sent", "Received" ): + for what in ("Sent", "Received"): num = connection["Notifications " + what] if num: yield 0, "%d Notifications %s" % (num, what.lower()) - check_info["mknotifyd.connection"] = { - "inventory_function" : inventory_mknotifyd_connection, - "check_function" : check_mknotifyd_connection, - "service_description" : "OMD %s Notify Connection", + "inventory_function": inventory_mknotifyd_connection, + "check_function": check_mknotifyd_connection, + "service_description": "OMD %s Notify Connection", } diff --git a/cmk/gui/plugins/metrics/check_mk.py b/cmk/gui/plugins/metrics/check_mk.py index 0cbb4d7..e9e41fd 100644 --- a/cmk/gui/plugins/metrics/check_mk.py +++ b/cmk/gui/plugins/metrics/check_mk.py @@ -438,6 +438,18 @@ metric_info["age"] = { "color" : "#80f000", } +metric_info["last_updated"] = { + "title" : _("Last Updated"), + "unit" : "s", + "color" : "#80f000", +} + +metric_info["deferred_age"] = { + "title" : _("Deferred Files Age"), + "unit" : "s", + "color" : "#80f000", +} + metric_info["runtime"] = { "title" : _("Process Runtime"), "unit" : "s", @@ -533,6 +545,23 @@ metric_info["file_count"] = { "color" : "23/a", } +metric_info["new_files"] = { + "title" : _("New files in Spool"), + "unit" : "count", + "color" : "23/a", +} + +metric_info["deferred_files"] = { + "title" : _("Deferred files in Spool"), + "unit" : "count", + "color" : "16/a", +} + +metric_info["corrupted_files"] = { + "title" : _("Corrupted files in Spool"), + "unit" : "count", + "color" : "34/a", +} # database, tablespace metric_info["data_files"] = { @@ -5558,6 +5587,13 @@ perfometer_info.append({ perfometer_info.append({ "type" : "logarithmic", + "metric" : "last_updated", + "half_value" : 40.0, + "exponent" : 2, +}) + +perfometer_info.append({ + "type" : "logarithmic", "metric" : "job_duration", "half_value" : 120.0, "exponent" : 2, @@ -8501,3 +8537,13 @@ graph_info['amount_of_mails_in_secondary_queues'] = { ( 'mail_queue_drop_length', 'stack'), ], } + +graph_info['files_notification_spool'] = { + 'title': _('Amount of files in notification spool'), + 'metrics': [ + ('new_files', 'area'), + ('deferred_files', 'area'), + ('corrupted_files', 'area'), + ], + "optional_metrics": ['deferred_files', 'corrupted_files'], +}
5 years, 8 months
1
0
0
0
Added another sysObjId to fsc.include
by Marcel Schulte
Module: check_mk Branch: master Commit: 009d30ee2e6af2380d48e685d337b16f0213182b URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=009d30ee2e6af2…
Author: Marcel Schulte <ms(a)mathias-kettner.de> Date: Fri Oct 5 15:59:46 2018 +0200 Added another sysObjId to fsc.include Change-Id: Iac6ae357e7f7b956de37f9d5fb8f12e6d19482e2 --- checks/fsc.include | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/checks/fsc.include b/checks/fsc.include index 38e496e..879ee19 100644 --- a/checks/fsc.include +++ b/checks/fsc.include @@ -26,9 +26,10 @@ def _is_fsc_or_windows(oid): - # sysObjId is from FSC or Windows + # sysObjId is from FSC or Windows or Net-SNMP return oid('.1.3.6.1.2.1.1.2.0').startswith('.1.3.6.1.4.1.231') or \ - oid('.1.3.6.1.2.1.1.2.0').startswith('.1.3.6.1.4.1.311') + oid('.1.3.6.1.2.1.1.2.0').startswith('.1.3.6.1.4.1.311') or \ + oid('.1.3.6.1.2.1.1.2.0').startswith('.1.3.6.1.4.1.8072') def is_fsc(oid):
5 years, 9 months
1
0
0
0
5846 FIX win_dhcp_pools: French systems are supported now
by Marcel Schulte
Module: check_mk Branch: master Commit: 3983050c264441a4f9eb6710ad8d5dfec3bf44f7 URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=3983050c264441…
Author: Marcel Schulte <ms(a)mathias-kettner.de> Date: Mon Sep 24 07:54:11 2018 +0200 5846 FIX win_dhcp_pools: French systems are supported now The check supports French systems now. Change-Id: Id8d75b174164de5dfdd6c2bb899be5ba42b1fdf4 --- .werks/5846 | 10 ++++++++++ checks/win_dhcp_pools | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/.werks/5846 b/.werks/5846 new file mode 100644 index 0000000..431a112 --- /dev/null +++ b/.werks/5846 @@ -0,0 +1,10 @@ +Title: win_dhcp_pools: French systems are supported now +Level: 1 +Component: checks +Compatible: compat +Edition: cre +Version: 1.6.0i1 +Date: 1537768367 +Class: fix + +The check supports French systems now. diff --git a/checks/win_dhcp_pools b/checks/win_dhcp_pools index 4421801..5ffc5a6 100644 --- a/checks/win_dhcp_pools +++ b/checks/win_dhcp_pools @@ -71,6 +71,11 @@ win_dhcp_pools_default_levels = (10, 5) win_dhcp_pools_inventorize_empty = False discovery_win_dhcp_pools = [] +# Attention: +# +# Tried to get the win-agent plugin to report always in utf-8, unfortunately without luck. +# ...that's the reason why french translations with special characters must get provided like here. + win_dhcp_pools_stats_translate = { 'Entdeckungen': 'Discovers', 'Angebote': 'Offers', @@ -84,6 +89,18 @@ win_dhcp_pools_stats_translate = { 'Anzahl der verwendeten Adressen': 'No. of Addresses in use', 'Anzahl der freien Adressen': 'No. of free Addresses', 'Anzahl der anstehenden Angebote': 'No. of pending offers', + u'D\x82couvertes': 'Discovers', + 'Offres': 'Offers', + u'Requ\x88tes': 'Requests', + 'AR': 'Acks', + u'AR n\x82g.': 'Nacks', + 'Refus': 'Declines', + u'Lib\x82rations': 'Releases', + u'Sous-r\x82seau': 'Subnet', + u'\x90tendues': 'Scopes', + u"Nb d'adresses utilis\x82es": 'No. of Addresses in use', + "Nb d'adresses libres": 'No. of free Addresses', + "Nb d'offres en attente": 'No. of pending offers', } def parse_win_dhcp_pools(info):
5 years, 9 months
1
0
0
0
docker: refactoring
by Moritz Kiemer
Module: check_mk Branch: master Commit: f74a2a410692697a1ef7a769ab2bf9e59067bb5f URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f74a2a41069269…
Author: Moritz Kiemer <mo(a)mathias-kettner.de> Date: Fri Oct 5 09:40:53 2018 +0200 docker: refactoring move parse_functions into docker.include CMK-1031 Change-Id: I938fc542ecc2efa7085856c3d1ac9f77a58c9e1c --- checks/docker.include | 64 +++++++++++++++++++++++++++++++++++++++++++ checks/docker_node_disk_usage | 35 ----------------------- checks/docker_node_info | 34 +---------------------- 3 files changed, 65 insertions(+), 68 deletions(-) diff --git a/checks/docker.include b/checks/docker.include index ec8ac53..b0cdf66 100644 --- a/checks/docker.include +++ b/checks/docker.include @@ -23,6 +23,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. +import json def docker_size_to_bytes(size_string): @@ -33,3 +34,66 @@ def docker_size_to_bytes(size_string): if size_string.endswith('kB'): return int(float(size_string[:-2]) * 10**3) return float(size_string[:-1]) + + +def parse_docker_node_info(info): + try: + return json.loads(":".join(info[0])) + except ValueError: + pass + + parsed = {} + prefix = "" + for row in info: + if not row: + continue + # ignore misssing keys / pad lines that are not of "key: value" type + if len(row) == 1: + row.append('') + key = row[0].strip() + value = ':'.join(row[1:]).strip() + # indented keys are prefixed by the last not indented key + # this does the right thing in the cases used below. + indent = len(row[0]) - len(key) + if indent == 0: + parsed[key] = value + prefix = key + else: + parsed[prefix + key] = value + + return parsed + + +def _parse_docker_node_disk_usage_dict(data): + key = data.pop('Type').lower() + + act = data.get('Active') + if act is not None: + data['Active'] = int(act) if act else 0 + + tc = data.get('TotalCount') or data.get('Total') + if tc is not None: + data['TotalCount'] = int(tc) if tc else 0 + + sz = data.get('Size') + if sz is not None: + data['Size'] = docker_size_to_bytes(sz) + + rc = data.get('Reclaimable') + if rc is not None: + reclaimable = rc.split(' ')[0] # discard percentage + data['Reclaimable'] = docker_size_to_bytes(reclaimable) + + return key, data + + +def parse_docker_node_disk_usage(info): + try: + data_dicts = [json.loads(" ".join(line)) for line in info] + except ValueError: + header = [field.title() for field in info[0]] + data_dicts = [{k: v for k, v in zip(header, row)} + for row in info[1:]] + + return dict(map(_parse_docker_node_disk_usage_dict, data_dicts)) + diff --git a/checks/docker_node_disk_usage b/checks/docker_node_disk_usage index eb41fb8..c1771cf 100644 --- a/checks/docker_node_disk_usage +++ b/checks/docker_node_disk_usage @@ -23,41 +23,6 @@ # 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. -import json - - -def _parse_docker_node_disk_usage_dict(data): - key = data.pop('Type').lower() - - act = data.get('Active') - if act is not None: - data['Active'] = int(act) if act else 0 - - tc = data.get('TotalCount') or data.get('Total') - if tc is not None: - data['TotalCount'] = int(tc) if tc else 0 - - sz = data.get('Size') - if sz is not None: - data['Size'] = docker_size_to_bytes(sz) - - rc = data.get('Reclaimable') - if rc is not None: - reclaimable = rc.split(' ')[0] # discard percentage - data['Reclaimable'] = docker_size_to_bytes(reclaimable) - - return key, data - - -def parse_docker_node_disk_usage(info): - try: - data_dicts = [json.loads(" ".join(line)) for line in info] - except ValueError: - header = [field.title() for field in info[0]] - data_dicts = [{k: v for k, v in zip(header, row)} - for row in info[1:]] - - return dict(map(_parse_docker_node_disk_usage_dict, data_dicts)) def inventory_docker_node_disk_usage(parsed): diff --git a/checks/docker_node_info b/checks/docker_node_info index 8c368bc..0406200 100644 --- a/checks/docker_node_info +++ b/checks/docker_node_info @@ -25,39 +25,6 @@ # Boston, MA 02110-1301 USA. -import json - - -def parse_docker_node_info_nojson(info): - parsed = {} - prefix = "" - for row in info: - if not row: - continue - # ignore misssing keys / pad lines that are not of "key: value" type - if len(row) == 1: - row.append('') - key = row[0].strip() - value = ':'.join(row[1:]).strip() - # indented keys are prefixed by the last not indented key - # this does the right thing in the cases used below. - indent = len(row[0]) - len(key) - if indent == 0: - parsed[key] = value - prefix = key - else: - parsed[prefix + key] = value - - return parsed - - -def parse_docker_node_info(info): - try: - return json.loads(":".join(info[0])) - except ValueError: - return parse_docker_node_info_nojson(info) - - def inventory_docker_node_info(parsed): if parsed and isinstance(parsed, dict): return [(None, {})] @@ -72,6 +39,7 @@ def check_docker_node_info(item, params, parsed): check_info['docker_node_info'] = { + 'includes' : ['docker.include'], 'parse_function' : parse_docker_node_info, 'inventory_function' : inventory_docker_node_info, 'check_function' : check_docker_node_info,
5 years, 9 months
1
0
0
0
fortinet_signatures: Minor cleanup of check parameters
by Simon Betz
Module: check_mk Branch: master Commit: fb3671f9f2ae70ec880444fef2e8333a8b1c9a9b URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=fb3671f9f2ae70…
Author: Simon Betz <si(a)mathias-kettner.de> Date: Fri Oct 5 11:12:04 2018 +0200 fortinet_signatures: Minor cleanup of check parameters Change-Id: I5ad051ac5294b71a1eeb79c451cd76109ab15220 --- cmk/gui/plugins/wato/check_parameters.py | 80 ++++++++++---------------------- 1 file changed, 25 insertions(+), 55 deletions(-) diff --git a/cmk/gui/plugins/wato/check_parameters.py b/cmk/gui/plugins/wato/check_parameters.py index 8ac9113..a7986e8 100755 --- a/cmk/gui/plugins/wato/check_parameters.py +++ b/cmk/gui/plugins/wato/check_parameters.py @@ -109,68 +109,38 @@ register_check_parameters( "dict" ) -def transform_fortinet_signatures_to_gui(p): - for k in ["av_age", "av_ext_age", "ips_age", "ips_ext_age"]: - p.setdefault(k, None) - return p +def _vs_fortinet_signatures(title): + return Alternative( + title=_("%s" % title), + style="dropdown", + elements=[ + Tuple(title=_("Set levels"), + elements = [ + Age(title=_("Warning at"), default_value=86400), + Age(title=_("Critical at"), default_value=2*86400), + ]), + Tuple( + title=_("No levels"), + elements=[ + FixedValue(None, totext=""), + FixedValue(None, totext=""), + + ]), + ] + ) register_check_parameters( subgroup_networking, "fortinet_signatures", "Fortigate Signatures", - Transform(Dictionary( + Dictionary( elements = [ - ('av_age', Alternative( - title=_("Age of Anti-Virus signature"), - style="dropdown", - elements=[ - FixedValue(None, title=_("No levels"), totext=""), - Tuple(title=_("Set levels"), - elements = [ - Age(title=_("Warning at"), default_value = 86400), - Age(title=_("Critical at"), default_value = 2*86400), - ]), - ]), - ), - ('av_ext_age', Alternative( - title=_("Age of Anti-Virus signature extended database"), - style="dropdown", - elements=[ - FixedValue(None, title=_("No levels"), totext=""), - Tuple(title=_("Set levels"), - elements = [ - Age(title=_("Warning at"), default_value = 86400), - Age(title=_("Critical at"), default_value = 2*86400), - ]), - ]), - ), - ('ips_age', Alternative( - title=_("Age of Intrusion Prevention signature"), - style="dropdown", - elements=[ - FixedValue(None, title=_("No levels"), totext=""), - Tuple(title=_("Set levels"), - elements = [ - Age(title=_("Warning at"), default_value = 86400), - Age(title=_("Critical at"), default_value = 2*86400), - ]), - ]), - ), - ('ips_ext_age', Alternative( - title=_("Age of Intrusion Prevention signature extended database"), - style="dropdown", - elements=[ - FixedValue(None, title=_("No levels"), totext=""), - Tuple(title=_("Set levels"), - elements = [ - Age(title=_("Warning at"), default_value = 86400), - Age(title=_("Critical at"), default_value = 2*86400), - ]), - ]), - ), + ('av_age', _vs_fortinet_signatures("Age of Anti-Virus signature")), + ('av_ext_age', _vs_fortinet_signatures("Age of Anti-Virus signature extended database")), + ('ips_age', _vs_fortinet_signatures("Age of Intrusion Prevention signature")), + ('ips_ext_age', _vs_fortinet_signatures("Age of Intrusion Prevention signature extended database")), ], - optional_keys=[], - ), forth=transform_fortinet_signatures_to_gui), + ), None, "dict" )
5 years, 9 months
1
0
0
0
← Newer
1
...
23
24
25
26
27
28
29
30
31
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Results per page:
10
25
50
100
200