From 90963ebff1662c3941caa3c70d7f7f4365bb641f Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Sat, 8 Jun 2024 16:31:27 +0200 Subject: [PATCH] update project --- README.md | 2 +- mkp/agent_ssllabs-2.0.4-20240604.mkp | Bin 0 -> 10014 bytes source/agent_based/ssllabs_grade.py | 13 +++++++++++-- .../python3/cmk/special_agents/agent_ssllabs.py | 9 ++++++--- source/packages/agent_ssllabs | 2 +- 5 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 mkp/agent_ssllabs-2.0.4-20240604.mkp mode change 100755 => 100644 source/lib/python3/cmk/special_agents/agent_ssllabs.py diff --git a/README.md b/README.md index 2ecf442..71a3cd5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[PACKAGE]: ../../raw/master/mkp/agent_ssllabs-2.0.3-20240516.mkp "agent_ssllabs-2.0.3-20240516.mkp" +[PACKAGE]: ../../raw/master/mkp/agent_ssllabs-2.0.4-20240604.mkp "agent_ssllabs-2.0.4-20240604.mkp" # Qualys SSL Labs REST API special agent This Agent uses die Qualys SSL Labs REST API to scan a list of servers for there SSL status. The plugin will check the given server and all end points reported by the SSL Labs scan. diff --git a/mkp/agent_ssllabs-2.0.4-20240604.mkp b/mkp/agent_ssllabs-2.0.4-20240604.mkp new file mode 100644 index 0000000000000000000000000000000000000000..fb1e3389aff67027a0c0e6aba197d64f92fa8265 GIT binary patch literal 10014 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 literal 0 HcmV?d00001 diff --git a/source/agent_based/ssllabs_grade.py b/source/agent_based/ssllabs_grade.py index 1cc05d2..9dd8d96 100644 --- a/source/agent_based/ssllabs_grade.py +++ b/source/agent_based/ssllabs_grade.py @@ -15,6 +15,7 @@ # 2024-05-06: added pending to ok states for end points # 2024-05-07: fixed crash on wrong params int "ERROR" state # changed max CMK version in package info to 2.3.0b1 +# 2024-06-04: added support for API error messages # sample string_table: # [ @@ -163,7 +164,8 @@ class SSLLabsHost: status_message: str | None cache_expiry_time: int | None from_agent_cache: bool | None - end_points: Sequence[SSLLabsEndpoint] + end_points: Sequence[SSLLabsEndpoint] | None + errors: Sequence[str] | None @classmethod def parse(cls, ssl_host): @@ -180,7 +182,8 @@ class SSLLabsHost: status_message=get_str('statusMessage', ssl_host), cache_expiry_time=get_int('cacheExpiryTime', ssl_host), from_agent_cache=get_bool('from_agent_cache', ssl_host), - end_points=[SSLLabsEndpoint.parse(endpoint) for endpoint in ssl_host.get('endpoints', [])] + end_points=[SSLLabsEndpoint.parse(endpoint) for endpoint in ssl_host.get('endpoints', [])], + errors=[str(error) for error in ssl_host.get('errors', [])] if ssl_host.get('errors') else None, ) @@ -299,6 +302,10 @@ def check_ssllabs_grade(item: str, params: Mapping[str: any], section: SECTION) yield Result(state=State.UNKNOWN, summary=f'Item not found in monitoring data. ({str(section)})') return None + if ssl_host.errors: + for error in ssl_host.errors: + yield Result(state=State.WARN, notice=error) + value_store = get_value_store() match ssl_host.status: @@ -343,6 +350,8 @@ def check_ssllabs_grade(item: str, params: Mapping[str: any], section: SECTION) yield from check_has_warning(params, ssl_host.end_points) yield from check_is_exceptional(params, ssl_host.end_points) yield from check_status(params, ssl_host.end_points) + case None: + pass case _: yield Result(state=State.UNKNOWN, notice=f'Unknown test status: {ssl_host.status}') diff --git a/source/lib/python3/cmk/special_agents/agent_ssllabs.py b/source/lib/python3/cmk/special_agents/agent_ssllabs.py old mode 100755 new mode 100644 index b0709eb..432743a --- a/source/lib/python3/cmk/special_agents/agent_ssllabs.py +++ b/source/lib/python3/cmk/special_agents/agent_ssllabs.py @@ -20,6 +20,7 @@ # 2024-05-01: refactoring # 2024-05-16: fixed proxy usage # removed check_mk section -> no way to differentiate from checkmk agent section check_mk +# 2025-06-04: changed to expose API errors to the check plugin # sample agent output (formatted) # <<<check_mk>>> @@ -183,18 +184,20 @@ def connect_ssllabs_api(ssl_host_address: str, host_cache: str, args: Args, ) -> timeout=args.timeout, proxies=proxies, headers={ - 'User-Agent': f'CMK SSL Labs special agent {VERSION}', + # 'User-Agent': f'CMK SSL Labs special agent {VERSION}', }, ) except ConnectionError as e: - host_data = {'host': ssl_host_address, 'status': 'ConnectionError', 'error': str(e)} + host_data = {'host': ssl_host_address, 'errors': ['status: ConnectionError', str(e)]} else: try: host_data = response.json() except JSONDecodeError as e: - host_data = {'host': ssl_host_address, 'status': 'JSONDecodeError', 'error': str(e)} + host_data = {'host': ssl_host_address, 'errors': ['status: JSONDecodeError', str(e)]} if host_data.get('status') == 'READY': Path(host_cache).write_text(response.text) + elif host_data.get('errors'): + host_data.update({'host': ssl_host_address}) return host_data diff --git a/source/packages/agent_ssllabs b/source/packages/agent_ssllabs index 8568e66..1ca90e9 100644 --- a/source/packages/agent_ssllabs +++ b/source/packages/agent_ssllabs @@ -15,7 +15,7 @@ 'web': ['plugins/wato/agent_ssllabs.py']}, 'name': 'agent_ssllabs', 'title': 'ssllabs api check', - 'version': '2.0.3-20240516', + 'version': '2.0.4-20240604', 'version.min_required': '2.2.0b1', 'version.packaged': '2.2.0p24', 'version.usable_until': '2.3.0b1'} -- GitLab