From 54569a17173994ad35fe2a22af73188980432bd8 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Mon, 14 Nov 2022 19:24:03 +0100 Subject: [PATCH] update project --- check_ntp.mkp | Bin 6095 -> 6252 bytes checks/check_ntp | 3 +++ lib/nagios/plugins/check_ntp | 34 +++++++++++++++++------- web/plugins/wato/active_checks_ntp.py | 36 +++++++++++--------------- 4 files changed, 42 insertions(+), 31 deletions(-) diff --git a/check_ntp.mkp b/check_ntp.mkp index 74b83a1ead999c283e215607a4a40fd13898a4da..ac3fb4828cac59081c3fa92356a4bcf332557d9c 100644 GIT binary patch delta 6158 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 delta 5997 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 b7#@?r3LBHa3JDE?F9rV(OU4~T0Pp|+!V|U! diff --git a/checks/check_ntp b/checks/check_ntp index 49240be..878c0c8 100644 --- a/checks/check_ntp +++ b/checks/check_ntp @@ -43,6 +43,9 @@ def check_ntp_arguments(params): if 'delay_levels' in params: args.append(f'--delay {params["dispersion_levels"][0]},{params["dispersion_levels"][1]}') + if 'state_no_response' in params: + args.append(f'--state_no_response {params["state_no_response"]}') + return args diff --git a/lib/nagios/plugins/check_ntp b/lib/nagios/plugins/check_ntp index 22c1175..d746afe 100755 --- a/lib/nagios/plugins/check_ntp +++ b/lib/nagios/plugins/check_ntp @@ -11,15 +11,19 @@ # # Active check to monitor NTP servers. # -# +# 2022-10-13: added exception handling for ntp request +# 2022-11-14: made state on no response configurable # from typing import Optional, Sequence, Tuple from ipaddress import IPv4Address import sys import argparse +import socket from time import ctime, gmtime, strftime +import ntplib + no_ntplib=False try: from ntplib import NTPClient, NTPStats @@ -156,6 +160,9 @@ def parse_arguments(argv: Sequence[str]) -> argparse.Namespace: parser.add_argument( '--state_not_synchronized', type=int, default=2, choices=[0, 1, 2, 3], help='Monitoring state if not synchronized.') + parser.add_argument( + '--state_no_response', type=int, default=2, choices=[0, 1, 2, 3], + help='Monitoring state if response (timeout) received.') parser.add_argument( '--stratum', type=_warn_crit, default=(10, 15), help='WARN,CRIT levels for stratum. Use values > 16 to disable.') @@ -175,14 +182,18 @@ def parse_arguments(argv: Sequence[str]) -> argparse.Namespace: return args -def get_ntp_time(server: str, port: int, timeout: int, version: int): # -> Optional[NTPStats] # is not available if ntplib is not installed +def get_ntp_time(server: str, port: int, timeout: int, version: int, state_no_response: int): # -> Optional[NTPStats] # is not available if ntplib is not installed c = NTPClient() - response = c.request( - host=server, - port=port, - timeout=timeout, - version=version - ) + try: + response = c.request( + host=server, + port=port, + timeout=timeout, + version=version + ) + except (ntplib.NTPException, socket.gaierror) as e: + sys.stdout.write(f'{e}\n') + sys.exit(state_no_response) return response @@ -193,10 +204,13 @@ def main(args=None): args = parse_arguments(args) if no_ntplib: - sys.stdout.write(f'To use this check plugin you need to install the python ntplib in your CMK python environment.') + sys.stdout.write( + f'To use this check plugin you need to install the python ntplib in your CMK python environment.' + ) sys.exit(3) - ntp_time = get_ntp_time(args.server, args.port, args.timeout, args.version) + ntp_time = get_ntp_time(args.server, args.port, args.timeout, args.version, args.state_no_response) + server_time = ctime(ntp_time.tx_time) stratum = int(ntp_time.stratum) diff --git a/web/plugins/wato/active_checks_ntp.py b/web/plugins/wato/active_checks_ntp.py index 4a52ceb..7740ef3 100644 --- a/web/plugins/wato/active_checks_ntp.py +++ b/web/plugins/wato/active_checks_ntp.py @@ -60,15 +60,6 @@ def _valuespec_active_checks_ntp(): minvalue=1, maxvalue=65535, )), - ('timeout', - Integer( - title=_('Request timeout'), - help=_('Timeoute for the request in seconds. Min: 1s, Max: 20, Default is 2 seconds.'), - # size=3, - default_value=2, - minvalue=1, - maxvalue=20, - )), ('version', Integer( title=_('NTP version'), @@ -78,12 +69,27 @@ def _valuespec_active_checks_ntp(): minvalue=1, maxvalue=4, )), + ('timeout', + Integer( + title=_('Request timeout'), + help=_('Timeoute for the request in seconds. Min: 1s, Max: 20, Default is 2 seconds.'), + # size=3, + default_value=2, + minvalue=1, + maxvalue=20, + )), ('state_not_synchronized', MonitoringState( title=_('Monitoring state if server is not synchronized'), help=_('Monitoring state if server is not synchronized. Default is warning.'), default_value=2, )), + ('state_no_response', + MonitoringState( + default_value=2, + title=_('Monitoring state if server on timeout (no response).'), + help=_('Monitoring state if the server doesnt respond. Default is "WARN"') + )), ('stratum_levels', Tuple( title=_('max. stratum'), @@ -164,18 +170,6 @@ def _valuespec_active_checks_ntp(): ], )), ], - optional_keys=[ - 'description', - 'server', - 'port', - 'timeout', - 'version', - 'state_not_synchronized', - 'offset_levels', - 'stratum_levels', - 'dispersion_levels', - 'delay_levels', - ], ), ) -- GitLab