Add playbooks/ntpdig-check.yml
This commit is contained in:
39
playbooks/ntpdig-check.yml
Normal file
39
playbooks/ntpdig-check.yml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
- name: Check time synchronization using ntpdig (modern method)
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
gather_facts: false
|
||||||
|
vars:
|
||||||
|
ntp_check_target: "pool.ntp.org"
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
|
||||||
|
- name: Remove legacy ntpdate package (if present)
|
||||||
|
apt:
|
||||||
|
name: ntpdate
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Ensure ntpsec-ntpdate is installed (provides ntpdig)
|
||||||
|
apt:
|
||||||
|
name: ntpsec-ntpdate
|
||||||
|
state: present
|
||||||
|
update_cache: true
|
||||||
|
|
||||||
|
- name: Query time offset using ntpdig from {{ ntp_check_target }}
|
||||||
|
command: "ntpdig {{ ntp_check_target }}"
|
||||||
|
register: ntpdig_output
|
||||||
|
changed_when: false
|
||||||
|
failed_when: ntpdig_output.rc != 0
|
||||||
|
|
||||||
|
- name: Parse offset from ntpdig output
|
||||||
|
set_fact:
|
||||||
|
ntpdig_offset: "{{ ntpdig_output.stdout | regex_search('([+-]?\\d+\\.\\d+)', '\\1') | default('N/A') }}"
|
||||||
|
ntpdig_error: "{{ ntpdig_output.stdout | regex_search('\\+/-\\s+(\\d+\\.\\d+)', '\\1') | default('N/A') }}"
|
||||||
|
|
||||||
|
- name: Show parsed ntpdig result
|
||||||
|
debug:
|
||||||
|
msg: |
|
||||||
|
[{{ inventory_hostname }}]
|
||||||
|
Offset: {{ ntpdig_offset }} sec
|
||||||
|
Estimated error: ±{{ ntpdig_error }} sec
|
||||||
|
Raw output:
|
||||||
|
{{ ntpdig_output.stdout_lines | join('\n') }}
|
||||||
Reference in New Issue
Block a user