«Не удалось определить имя хоста: Не удалось определить имя хоста:» в Zabbix

«Не удалось определить имя хоста: Не удалось определить имя хоста:» в Zabbix

Получаю "Не удалось разрешить имя хоста: Не удалось разрешить хост: example.zabbixagent.com; Имя или служба неизвестны" на сервере Zabbix, хотя DNS и имя хоста Zabbix Active Agent верны. Это ошибка или неправильная конфигурация в Zabbix? Пожалуйста, помогите.

решение1

Если это решается из командной строки путем копирования-вставки имени (не повторного ввода), вероятно, вы изменили resolv.conf. В более ранних версиях Zabbix вам нужно перезапустить демоны после изменения этого файла. Поскольку вы не указали версию Zabbix, предположим, что вашей версии все еще требуется этот перезапуск.

Если это не помогает, скопируйте DNS-адрес хоста из свойств хоста и выполните команду ping, digили аналогичную команду из поля сервера и обязательно настройте параметры хоста на правильное имя.

решение2

Ответ дан вкомментарийкпользователь427751:

Я выяснил, что проблема была в чем угодно, кроме внешнего DNS, который не был обновлен с новым доменным именем, которое было недавно настроено для этого конкретного хоста. После добавления нового доменного имени и удаления старого из списка DNS сервер Zabbix смог решить проблему разрешения хоста.

решение3

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

Решениями являются либодобавьте явную запись DNS в конфигурацию демона Dockerнравиться:

{
        ...
        "dns":["208.67.222.222","208.67.220.220"],
        ...
}

Это сработало для меня. Я думаю, что альтернативно можно добавить дополнительную запись хост-сети, как предложено вэтот ответтакже может сработать:

services:
  mycontainer:
    ...
    networks:
      ...
      - bridge
...
networks:
  ...
  bridge:
    external: true

При тестировании обратите внимание, что разрешение доменных имен curl более требовательно, чем, скажем, ping, например, у вас может быть

$ docker exec -ti mycontainer ping -c 3 myhost.example.com   # Works
$ docker exec -ti mycontainer curl myhost.example.com        # Fails

и веб-мониторинг Zabbix использует/зависит от Curl, поэтому «ping работает нормально» — это недостаточный тест.

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