check_ntp_time не удается подключиться к работающему NTP-серверу

Вопрос или проблема

Мы использовали плагин Nagios check_ntp_time в течение нескольких лет, но недавно мы перешли от использования набора хостов CentOS к набору устройств NTP (Galleon NTS-6002-GPS NTP Time Server), и плагин больше не работает. Это работает нормально с сервера (RHEL 8):

chronyd -q "server $NTPserver iburst"

(Где $NTPserver установлен на адрес одного из устройств.) И вот это:

root@server1:~# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp-appliance1             2   6    17     1   +270us[ +316us] +/-   23ms
^+ ntp-appliance2             2   6    17     1   +249us[ +294us] +/-   29ms
^+ ntp-appliance3             2   6    17     1   -224us[ -179us] +/-   28ms
^+ ntp-appliance4             2   6    17     1   -662us[ -617us] +/-   25ms
root@server1:~#

Но плагин вызывает тайм-аут:

root@server1:~# /opt/opsview/agent/plugins/check_ntp_peer -H ntp-appliance1
CRITICAL - Socket timeout after 10 seconds
root@server1:~# /opt/opsview/agent/plugins/check_ntp_time -H ntp-appliance2
NTP CRITICAL: Offset unknown|
root@uat-sftp:~#

Использование флага -v не предоставляет больше информации.

Кто-нибудь знает, почему это может происходить?

.

Ответ или решение

Для решения проблемы "check_ntp_time unable to connect to working NTP server", давайте рассмотрим все детали, предоставленные в описании проблемы:

Теория:

Инструмент "check_ntp_time" является плагином для Nagios, который используется для мониторинга времени через NTP (Network Time Protocol). Он предназначен для проверки, насколько правильно настроены часы на вашем сервере в соответствии с NTP-сервером. Ваша ситуация, когда плагин перестал работать после перехода от серверов CentOS к специализированным NTP-устройствам (таким как Galleon NTS-6002-GPS), свидетельствует о потенциальной несовместимости или ошибках конфигурации между плагином и новыми NTP-серверами.

Судя по предоставленной информации, соединение через chronyd работает корректно. Это означает, что проблемы с сетевым соединением, вероятно, нет. Однако плагин Nagios испытывает проблему с таймаутом и заданием разницы времени. Это может быть связано с:

  1. Конфигурацией плагина: Возможно, параметры, используемые в плагине, не соответствуют новой аппаратуре.
  2. Протоколом или портом: Нужно убедиться, что плагин использует правильный протокол и порт для работы с новыми устройствами.
  3. Cетевыми ограничениями или межсетевыми экранами: Вполне возможно, что межсетевой экран или сам NTP-сервер фильтруют порты или IP-адреса, от которых идет запрос.
  4. Ошибками или ограничениями в самом плагине, которые не позволяют ему взаимодействовать с NTP-серверами данного типа.

Пример:

Ваша команда chronyd -q "server $NTPserver iburst" работает, что видно из результатов команды chronyc sources, показывающих успешное получение времени от NTP-устройств. Однако, плагин Nagios не может установить соединение, как это демонстрируется сообщениями о таймауте:

CRITICAL - Socket timeout after 10 seconds
NTP CRITICAL: Offset unknown|

Это указывает на то, что плагин Nagios и chrony используют различные методы связи с NTP-сервером. Например, chrony может использовать другие порты или протоколы, отличающиеся от тех, которые использует плагин.

Применение:

Рассмотрим следующие шаги, чтобы решить вашу проблему:

  1. Проверка конфигурации плагина: Убедитесь, что параметры конфигурации указаны верно. Ознакомьтесь с документацией плагина check_ntp_time на предмет специальных флагов или настроек для вашего сценария.

  2. Проверка сетевых настроек: Проверьте, открыт ли нужный порт для NTP (обычно это UDP-порт 123) и нет ли ограничений на уровне межсетевого экрана, которые могут влиять на работу плагина.

  3. Анализ логов NTP-сервера: Проверьте логи на стороне NTP-устройства для каких-либо записей, связанных с подключениями от Nagios, чтобы выявить потенциальные проблемы или блокировки.

  4. Обновление и тестирование альтернатив: Возможно, стоит проверить наличие обновлений для плагина или протестировать альтернативный плагин, совместимый с вашим программным обеспечением Nagios и так же более подходящий для работы с NTP-устройствами Galleon.

  5. Сетевая диагностика: Используйте сетевые утилиты, такие как tcpdump, для перехвата трафика между Nagios-сервером и NTP-устройствами, чтобы увидеть, какие именно пакеты передаются и где происходит сбой.

  6. Настройка специальных параметров: Иногда переход на другое сетевое оборудование требует дополнительных настроек. Проверьте, поддерживают ли ваши NTP-устройства такие параметры, как iburst, burst, key, degredation, и т.д., применимые к вашему плагину.

В завершение, лучше всего будет сотрудничать с технической поддержкой Nagios и Galleon, предоставляя им все обнаруженные данные для более быстрого выявления и исправления ошибки. Практика установки таких интеграций требует тщательного тестирования и может повлиять на корректность показателей системы мониторинга, так что любые изменения следует проверять на тестовых системах перед вводом в эксплуатацию.

Оцените материал
Добавить комментарий

Капча загружается...