Ad Widget

Collapse

Скрипт для узла, который мониторится чере

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • anG
    Junior Member
    • Aug 2015
    • 23

    #1

    Скрипт для узла, который мониторится чере

    Добрый день!

    Возможно тема повторяется, но найти ничего путного не могу.

    Судя по документации, в zabbix 3.2 уже нет проблем с исполнением скриптов от заббикс-сервера на узлах, которые мониторятся через прокси (по крайне мере, каких-либо указаний на ограничения не нашел). Заббикс-сервер и узлы не связаны...Но уменя эта фича не работает.

    Ошибки выкидывает достаточно "жесткие", типа:
    Не удалось выполнить скрипт
    Детали

    Get value from agent failed: cannot connect to [[192.168.0.35]:10050]: [4] Interrupted system call [scripts_exec.php:71 → CFrontendApiWrapper->execute() → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → call_user_func_array() → CScript->execute() → CApiService::exception() in include/classes/api/services/CScript.php:311]


    Поделитесь опытом, кто как это организовывает или иными дельными мыслями. Сам уже не соображаю.
    Спасибо!
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Если имеется в виду выполнение удаленных команд в "действиях", то через прокси это будет работать в версии 3.4.

    Comment

    • anG
      Junior Member
      • Aug 2015
      • 23

      #3
      Originally posted by semiadmin
      Если имеется в виду выполнение удаленных команд в "действиях", то через прокси это будет работать в версии 3.4.
      Нет, мне нужно запустить команду с "карты сети" (команда или скрипт прописываются в "администрирование"-> "скрипты". Вот оттуда). Необходимо рестартить сервис в случае возникновения проблемы на узлах. А узлы мониторятся через прокси и прямой связи с заббикс-сервером нет.

      В версии 3.2 это тоже невозможно, да?
      Судя по документации, команда просто приписывается в "администрирование"->"скрипты", заббикс-агенту на узлах даются права на исполнение команд и все взлетит...Но уменя что-т даже не заводится....И самое главное- не могу понять, где ошибаюсь (если эта фича действительно работает так. Ошибки в посте выше).
      Last edited by anG; 29-05-2017, 05:46.

      Comment

      • Semiadmin
        Senior Member
        • Oct 2014
        • 1625

        #4
        Попробовал на 3.0.4, через прокси скрипт для zabbix-agent работает. Есть нюанс с таймаутом выполнения скрипта. Похоже, он определяется наименьшим из таймаутов агента, прокси и сервера.
        P.S. Кстати, проверьте, происходит ли у вас рестарт сервиса, не смотря на ошибку. В агенте можно включить логирование удаленных команд.
        Last edited by Semiadmin; 29-05-2017, 14:08.

        Comment

        • anG
          Junior Member
          • Aug 2015
          • 23

          #5
          Originally posted by semiadmin
          Попробовал на 3.0.4, через прокси скрипт для zabbix-agent работает. Есть нюанс с таймаутом выполнения скрипта. Похоже, он определяется наименьшим из таймаутов агента, прокси и сервера.
          P.s. Кстати, проверьте, происходит ли у вас рестарт сервиса, не смотря на ошибку. В агенте можно включить логирование удаленных команд.
          Рестарт не проходит. Если посылать команду с заббикс-сервера узлу, который непосредственно мониторится заббикс-сервером, то ошибка выходит (zbx_not_supported), но команда исполняется (да и сама ошибка вполне нормальная, разобраться только надо в чем проблема)... А вот в случае с прокси все печальнее...

          Спасибо Вам-теперь хоть знаю, что работает- буду искать в чем мои траблы.

          Comment

          • anG
            Junior Member
            • Aug 2015
            • 23

            #6
            Originally posted by Semiadmin
            Попробовал на 3.0.4, через прокси скрипт для zabbix-agent работает. Есть нюанс с таймаутом выполнения скрипта. Похоже, он определяется наименьшим из таймаутов агента, прокси и сервера.
            P.S. Кстати, проверьте, происходит ли у вас рестарт сервиса, не смотря на ошибку. В агенте можно включить логирование удаленных команд.
            Господа, отзовитесь, пожалуйста, те, кто реализовал эту задачку в zabbix3.2!
            Возможно, я туплю на пустом месте, но реализация у меня не выходит.

            Semiadmin реализовал в 3.0, но в 3.2 вот такие ошибки:


            это ошибка с web-мордочки "каты сети" на заббикс-сервере:
            Received empty response from Zabbix Agent at [10.192.177.9]. Assuming that agent dropped connection because of access permissions.

            а вот эта ошибка из логов агента на узле:

            3535:20170605:120539.331 Listener error: connection from "10.192.161.18(заббикс-сервер)" rejected, allowed hosts: "10.192.192.88(заббикс-прокси)"

            (эта ошибка заметна при логгировании debuglevel=4, а логгирование удаленных команд не пишет вообще ничего. Я так понимаю, что исполнение скрипта с карты сети все также должно посылаться напрямую агенту с сервера, минуя прокси)

            Узел, как уже писалось выше, связан только с заббикс-прокси.
            Каких-либо ограничений по сети нет вообще, firewall и всякие apparmor отключены.
            Timeout на всей цепочке исполнителей (заббикс-сервер ->заббикс-прокси-> заббикс агент на узле) выставлен на максимум 30с.
            Даже пытался выставить параметр в заббикс-прокси
            ConfigFrequency=10 -эт тоже не помогло!

            Comment

            • Semiadmin
              Senior Member
              • Oct 2014
              • 1625

              #7
              Сорри, anG, действительно работает напрямую. У меня, как, судя по логу, и у вас, есть сетевой доступ от сервера к хосту, минуя прокси, и ip сервера был прописан в агенте через запятую (запись сохранилась с тех времен, когда прокси не использовался). Видимо, механизм здесь все-таки тот же, что и в удаленных командах.

              Comment

              • anG
                Junior Member
                • Aug 2015
                • 23

                #8
                Originally posted by semiadmin
                Сорри, ang, действительно работает напрямую. У меня, как, судя по логу, и у вас, есть сетевой доступ от сервера к хосту, минуя прокси, и ip сервера был прописан в агенте через запятую (запись сохранилась с тех времен, когда прокси не использовался). Видимо, механизм здесь все-таки тот же, что и в удаленных командах.
                Все хорошо, все равно спасибо большое за желание и готовность помочь!!

                Comment

                Working...