Ad Widget

Collapse

Активный Agent - блуждаю в двух соснах

Collapse
This topic has been answered.
X
X
 
  • Time
  • Show
Clear All
new posts
  • JMLabs
    Member
    • Aug 2018
    • 36

    #1

    Активный Agent - блуждаю в двух соснах

    Здравствуйте! Помогите пожалуйста прояснить некоторые моменты в, казалось бы, простейшей ситуации использования активного Zabbix Agent 2.
    Подавляющее большинство документации описывает пассивный агент, там все просто и понятно. Но в моих инсталляциях все хосты в случайных местах и невозможно к ним делать пробросы портов. Поэтому они сами должны ходить на сервер и выгружать метрики. Почему-то таким инсталлциям мало уделяется внимания, хотя мне кажется что они вполне типовые.

    Вопросы:
    1) Сервер. Что необходимо прописать в разделе Interfaces? Я встречал рекомендации казать там IP 0.0.0.0 и порт 10051. Но тогда в списке хостов в графе Availability светится неприятная красная табличка ZBX.
    2) Агент. В конфиге агента я оставляю закоменированной строку # ServerActive= и прописываю свой сервер в строке Server=. В моем понимании, при старте агент должен обратиться на сервер найти там свои шаблоны по Hostname и получить инструкции что ему делать. Но я ничего подобного не наблюдаю. Агент просто стартует и ничего не делает. В серверном логе коннекций не вижу. Самое удивительное что точно такая же инсталляция на другом хоте работает исправно, в логе агента вижу проверки и в данных сервера вижу метрики. Как может быть такое разное поведение агентов, отличающихся только Hostname? Почему агент даже не пытается никуда обратиться?

    Прошу прощения за длинный текст, но почему-то примитивные вопросы всегда какие-то длинные)

    PS. Всю сеть проверил, блокировок нет. Конфиги агентов рабочего и не рабочего хоста отличаются только Hostname. Шаблоны на стороне сервера одинаковые для рабочего и нерабочего агента

    PPS. Zabbix Server 5.2.2, Zabbix Agent 2 (5.2.7) windows
  • Answer selected by Kos at 02-12-2021, 11:08.
    Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    День добрый!

    Мне кажется, я уже несколько раз описывал подобные вещи, но "повторенье - мать ученья"

    Originally posted by JMLabs
    Вопросы:
    1) Сервер. Что необходимо прописать в разделе Interfaces? Я встречал рекомендации казать там IP 0.0.0.0 и порт 10051. Но тогда в списке хостов в графе Availability светится неприятная красная табличка ZBX.
    Параметр "Interfaces" имеет смысл только в ситуации, когда делается опрос со стороны сервера, чтобы он мог найти нужный хост. Например, для проверок, выполняемых агентом в пассивном режиме, либо при опросе по SNMP или ICMP (ping). Когда агент работает только в активном режиме, можно там указать что угодно: этот параметр не будет использоваться. Обычно для старых версий рекомендовали указать там 127.0.0.1, а начиная с версии 5.4 (могу ошибаться, пишу по памяти) интерфейс стал вообще необязательным для хоста атрибутом.

    Если я не ошибаюсь, то красная табличка ZBX будет светиться не тогда, когда указан интерфейс, а тогда, когда есть привязанные к этому интерфейсу проверки, и эти проверки не работают (например, унаследованные от какого-либо стандартного шаблона). Т.е. сервер реально пытается достучаться до агента и не может этого сделать.

    Originally posted by JMLabs
    2) Агент. В конфиге агента я оставляю закоменированной строку # ServerActive= и прописываю свой сервер в строке Server=. В моем понимании, при старте агент должен обратиться на сервер найти там свои шаблоны по Hostname и получить инструкции что ему делать. Но я ничего подобного не наблюдаю. Агент просто стартует и ничего не делает. В серверном логе коннекций не вижу. Самое удивительное что точно такая же инсталляция на другом хоте работает исправно, в логе агента вижу проверки и в данных сервера вижу метрики. Как может быть такое разное поведение агентов, отличающихся только Hostname? Почему агент даже не пытается никуда обратиться?
    Для работы агента в пассивном режиме используется параметр "Server=". В этом случае там указываются адреса, с которых агент разрешает обращаться к нему (запросы с других адресов он будет отвергать).

    Для работы агента в активном режиме используется параметр "ServerActive=". В этом случае там прописываются адреса серверов Zabbix (или Zabbix-прокси), к которым агент будет обращаться сам.

    Вполне нормальной является конфигурация, когда указаны оба параметра: часть метрик может собираться в активном режиме, а часть - в пассивном. Например, логи (лог-файлы и Windows Event Logs) могут мониториться лишь в активном режиме; а для удалённого выполнения команд требуется, наоборот, пассивный режим.

    В вашем случае (когда параметр "ServerActive=" закомментирован) агенты работают, наоборот, в passive-only режиме - ожидая входящих соединений со стороны Zabbix-сервера или Zabbix-прокси, но не инициируя ничего самостоятельно.
    Кроме того, для корректной работы агента в активном режиме важно, чтобы имя хоста на агенте (заданное параметром "Hostname=" либо вычисленное агентом самостоятельно) абсолютно точно, включая регистр букв, совпадало с "техническим" именем хоста, указанном в веб-интерфейсе на сервере Zabbix. Что про своё имя хоста "думает" агент, можно посмотреть в его логе - имя хоста пришется туда при старте агента.

    Вероятно, у вас на втором хосте (где "работает исправно") заданы оба параметра - и "Server=", и "ServerActive=".

    Comment

    • Kos
      Senior Member
      Zabbix Certified SpecialistZabbix Certified Professional
      • Aug 2015
      • 3404

      #2
      День добрый!

      Мне кажется, я уже несколько раз описывал подобные вещи, но "повторенье - мать ученья"

      Originally posted by JMLabs
      Вопросы:
      1) Сервер. Что необходимо прописать в разделе Interfaces? Я встречал рекомендации казать там IP 0.0.0.0 и порт 10051. Но тогда в списке хостов в графе Availability светится неприятная красная табличка ZBX.
      Параметр "Interfaces" имеет смысл только в ситуации, когда делается опрос со стороны сервера, чтобы он мог найти нужный хост. Например, для проверок, выполняемых агентом в пассивном режиме, либо при опросе по SNMP или ICMP (ping). Когда агент работает только в активном режиме, можно там указать что угодно: этот параметр не будет использоваться. Обычно для старых версий рекомендовали указать там 127.0.0.1, а начиная с версии 5.4 (могу ошибаться, пишу по памяти) интерфейс стал вообще необязательным для хоста атрибутом.

      Если я не ошибаюсь, то красная табличка ZBX будет светиться не тогда, когда указан интерфейс, а тогда, когда есть привязанные к этому интерфейсу проверки, и эти проверки не работают (например, унаследованные от какого-либо стандартного шаблона). Т.е. сервер реально пытается достучаться до агента и не может этого сделать.

      Originally posted by JMLabs
      2) Агент. В конфиге агента я оставляю закоменированной строку # ServerActive= и прописываю свой сервер в строке Server=. В моем понимании, при старте агент должен обратиться на сервер найти там свои шаблоны по Hostname и получить инструкции что ему делать. Но я ничего подобного не наблюдаю. Агент просто стартует и ничего не делает. В серверном логе коннекций не вижу. Самое удивительное что точно такая же инсталляция на другом хоте работает исправно, в логе агента вижу проверки и в данных сервера вижу метрики. Как может быть такое разное поведение агентов, отличающихся только Hostname? Почему агент даже не пытается никуда обратиться?
      Для работы агента в пассивном режиме используется параметр "Server=". В этом случае там указываются адреса, с которых агент разрешает обращаться к нему (запросы с других адресов он будет отвергать).

      Для работы агента в активном режиме используется параметр "ServerActive=". В этом случае там прописываются адреса серверов Zabbix (или Zabbix-прокси), к которым агент будет обращаться сам.

      Вполне нормальной является конфигурация, когда указаны оба параметра: часть метрик может собираться в активном режиме, а часть - в пассивном. Например, логи (лог-файлы и Windows Event Logs) могут мониториться лишь в активном режиме; а для удалённого выполнения команд требуется, наоборот, пассивный режим.

      В вашем случае (когда параметр "ServerActive=" закомментирован) агенты работают, наоборот, в passive-only режиме - ожидая входящих соединений со стороны Zabbix-сервера или Zabbix-прокси, но не инициируя ничего самостоятельно.
      Кроме того, для корректной работы агента в активном режиме важно, чтобы имя хоста на агенте (заданное параметром "Hostname=" либо вычисленное агентом самостоятельно) абсолютно точно, включая регистр букв, совпадало с "техническим" именем хоста, указанном в веб-интерфейсе на сервере Zabbix. Что про своё имя хоста "думает" агент, можно посмотреть в его логе - имя хоста пришется туда при старте агента.

      Вероятно, у вас на втором хосте (где "работает исправно") заданы оба параметра - и "Server=", и "ServerActive=".

      Comment

      • JMLabs
        Member
        • Aug 2018
        • 36

        #3
        Какой позор на мою голову! Я бился с этим как рыба об лед. Да я не заметил что заданы оба параметра: "Server=" и "ServerActive=". Глаз замылился. Превеликое спасибо за помощь и долготерпение!

        Comment

        Working...