diff --git a/plugins/systemd/timesync_status b/plugins/systemd/timesync_status index c223d633..6e86e4a2 100755 --- a/plugins/systemd/timesync_status +++ b/plugins/systemd/timesync_status @@ -95,11 +95,29 @@ def retrieve(): output = result.stdout.decode('utf-8') values = parse_response(output) - print('offset.value', parse_time(values['Offset'])) - print('delay.value', parse_time(values['Delay'])) - print('delay.extinfo', 'Server', values['Server']) - print('jitter.value', parse_time(values['Jitter'])) - print('poll.value', parse_time(values['Poll interval'].split('(')[0])) + # If NTP server is not responding, timesync-status will not return all + # fields, we mark these as "U" + + if 'Offset' in values: + print('offset.value', parse_time(values['Offset'])) + else: + print('offset.value U') + + if 'Delay' in values: + print('delay.value', parse_time(values['Delay'])) + print('delay.extinfo', 'Server', values['Server']) + else: + print('delay.value U') + + if 'Jitter' in values: + print('jitter.value', parse_time(values['Jitter'])) + else: + print('jitter.value U') + + if 'Poll interval' in values: + print('poll.value', parse_time(values['Poll interval'].split('(')[0])) + else: + print('poll.value U') def autoconf():