хроническая синхронизация

хроническая синхронизация

У меня есть куча серверов rhel, и я должен убедиться, что все они синхронизированы по времени. Они все используют службу chronyd.

Мой вопрос, есть ли какая-то утилита, чтобы проверить это через команду? Кто-нибудь знает об ansible-модуле, который это делает? Я не нашел.

Все, что я хочу, это проверить, работают ли все серверы с одинаковым временем, строго и эффективно. Возможно, мне подойдет что-то похожее на ntpdate.

Заранее спасибо!

решение1

Проверьте, синхронизирован ли chrony с командами

Вы можете использовать специальные команды chrony для проверки статуса ntp. Если вы хотите увидеть информацию о текущем сервере ntp, используйте

chronyc tracking

Для отображения всех ntp-серверов

chronyc sources

Более подробную информацию см. здесь: fedora - проверьте, синхронизирован ли chrony

Сочетание с ansible

Модуля ansible нет, но есть другой способ.

У вас все еще должна быть утилита ntpstat, которая также работает для chrony. Коды возврата дают информацию о статусе ntp. 0 для часов синхронизированных, 1 для несинхронизированных и 2, если состояние часов не определено. Смотритестраница руководства

Вы можете убедиться в этом

ntpstat
echo $?

Если вы используете командный модуль ansible для запуска ntpstat, он по умолчанию завершается ошибкой, если код возврата команды не равен 0. Так что в этом случае мы можем использовать это в своих интересах. Создайте простой плейбук, который запускает команду ntpstat.

- name: Check if chrony is synchronized
  command: ntpstat

Запустите playbook для нужной группы хостов. Все хосты, которые выходят из строя, не имеют синхронизированного ntp.

Чтобы пойти дальше, вы можете скопировать глобальную конфигурацию chrony (chrony.conf) на все хосты и перезапустить службу chronyd с помощью ansible, если код возврата не равен 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

Надеюсь, это поможет.

Ваше здоровье

Связанный контент