Tengo un montón de servidores rhel y debo asegurarme de que todos estén sincronizados a tiempo. Todos ellos están ejecutando el servicio chronyd.
Mi pregunta es, ¿existe alguna utilidad para verificar esto mediante un comando? ¿Alguien sabe acerca de un módulo ansible para hacer esto? No encontré ninguno.
Todo lo que quiero es comprobar si todos los servidores están funcionando al mismo tiempo de forma estricta y eficiente. Probablemente me vendría bien algo similar a ntpdate.
¡Gracias de antemano!
Respuesta1
Compruebe si chrony está sincronizado con los comandos
Puede utilizar comandos específicos de chrony para comprobar el estado de ntp. Si desea ver la información sobre el uso actual del servidor ntp
chronyc tracking
Para mostrar todos los servidores ntp
chronyc sources
Para más información, ver: fedora - comprueba si chrony está sincronizado
Combinación con ansible
No existe un módulo ansible, pero hay otra forma.
Aún deberías tener la utilidad ntpstat que también funciona para chrony. Los códigos de retorno brindan información sobre el estado de ntp. 0 para reloj sincronizado, 1 para no sincronizado y 2 si el estado del reloj es indeterminado. Verpágina de manual
Puedes verificar que
ntpstat
echo $?
Si usa el módulo de comando ansible para ejecutar ntpstat, falla de manera predeterminada si el código de retorno del comando no es 0. Entonces, en este caso podemos usar esto a nuestro favor. Haga un libro de jugadas simple que ejecute el comando ntpstat.
- name: Check if chrony is synchronized
command: ntpstat
Ejecute el libro de jugadas para el grupo de anfitriones deseado. Todos los hosts que fallan no tienen un ntp sincronizado.
Para ir más allá, puede copiar la configuración global de chrony (chrony.conf) a todos los hosts y reiniciar el servicio chronyd con ansible, si el código de retorno no es 0.
- name: Check if chrony is synchronized
command: ntpstat
register: ntpstat_rc
ignore_errors: true
- name: Copy chrony configuration
copy:
src: <global chrony.conf on your ansible server>
dest: /etc/chrony.conf
backup: yes
when: ntpstat_rc.rc != 0
- name: Restart chrony service
systemd:
name: chronyd
state: restarted
when: ntpstat_rc.rc != 0
Espero que esto ayude.
Salud