sincronización crónica

sincronización crónica

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

información relacionada