Ad Widget

Collapse

Unifi Controller in Zabbix

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Whols
    Senior Member
    • Jul 2018
    • 133

    #16
    Синтаксис придется разбирать отдельно. Пробуйте:
    Code:
    zabbix_agentd -t unifi.proxy[get,sysinfo,,version]
    Last edited by Whols; 02-12-2020, 18:24.

    Comment

    • Mario Hysa
      Junior Member
      • Dec 2020
      • 25

      #17
      unifi.proxy[get,sysinfo,,version] zabbix_agentd [107648]: Warning: Failed to execute command "/usr/local/bin/zabbix/unifi_miner.pl -a "get" -o "sysinfo" -s "" -k "version" -i "" -n "" -c """: Timeout while executing a shell script.
      [m|ZBX_NOTSUPPORTED] [Timeout while executing a shell script.]

      Comment

      • Whols
        Senior Member
        • Jul 2018
        • 133

        #18
        unifi.proxy[get,sysinfo,,version] zabbix_agentd [107648]: Warning: Failed to execute command "/usr/local/bin/zabbix/unifi_miner.pl -a "get" -o "sysinfo" -s "" -k "version" -i "" -n "" -c """: Timeout while executing a shell script.
        У вас по этому адресу "/usr/local/..." скрипт точно присутствует? Вы из консоли (CMD по вашему) на _этом_ сервере запускали? Если оба - "да", нужна строка запуска из консоли с положительным ответом контроллера.
        Впрочем, ответ на оба вопроса можно получить и так:
        Code:
        ls -l /usr/local/bin/zabbix
        Last edited by Whols; 03-12-2020, 08:47.

        Comment

        • Mario Hysa
          Junior Member
          • Dec 2020
          • 25

          #19

          Да, у меня есть этот скрипт на этом пути

          mario@ip-172-31-21-139:~$ ls -l /usr/local/bin/zabbix/
          total 60
          -rwxr-xr-x 1 root root 58442 Dec 2 15:06 unifi_miner.pl

          Comment

          • Whols
            Senior Member
            • Jul 2018
            • 133

            #20
            Тогда смотрите - автор пишет, что всегда работает команда:

            zabbix_agentd -t unifi.proxy[discovery,wlan]
            тк на контроллере всегда присутствует какой-то wlan. К тому же, я не запрашивал у вас доп параметры контролера, тк надеялся, что это:

            стоит обратить внимание на переменные cachemaxage (см. описание опции -c), unifilocation (опции -l), unifiuser и unifipass (-u и -p соответственно), unifiversion (-v), и sitename (-s), если на вашем контроллере существует не более одного сайта. Установка значений этих переменных в коде сценария позволит вам сократить количество опций командной строки, используемых при осуществлении запросов к контроллеру UniFi. Это даст вам сосредоточится на решении конкретной задачи, а не на работе с клавиатурой.
            вами выполнено.
            Ну и следующим шагом нужен листинг запуска из консоли - если скрипт у вас по прямому вызову отрабатывает и данные приходят, то агент так же должен эти данные получать (права на запуск для ВСЕХ (755) там есть).

            Comment

            • Mario Hysa
              Junior Member
              • Dec 2020
              • 25

              #21
              Когда я компилирую сценарий, я получаю эти данные от контроллера, который, на мой взгляд, соответствует данным контроллера.
              mario@ip-172-31-21-139:/usr/local/bin/zabbix$ ./unifi.miner.pl

              {
              > "data" : [
              > {
              > "{#SITEID}" : "5fbbd9234541e02a5b291abf",
              > "{#SITEDESC}" : "test",
              > "{#ID}" : "5fbfbcc44541e003d66a3054",
              > "{#NAME}" : "FC",
              > "{#SITENAME}" : "7293wffj"
              > },
              > {
              > "{#SITEID}" : "5fbbd9234541e02a5b291abf",
              > "{#SITEDESC}" : "test",
              > "{#SITENAME}" : "7293wffj",
              > "{#NAME}" : "VB",
              > "{#ID}" : "5fc60af34541e00403a133f4"
              > }
              > ]
              > }

              Comment

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

                #22
                Originally posted by Mario Hysa
                Когда я компилирую сценарий, я получаю эти данные от контроллера, который, на мой взгляд, соответствует данным контроллера.
                mario@ip-172-31-21-139:/usr/local/bin/zabbix$ ./unifi.miner.pl
                Как долго отрабатывает эта команда?
                Добавьте в начало командной строки слово "time":
                Code:
                time /usr/local/bin/zabbix/unifi.miner.pl
                Ну и, судя по прописанной строке запуска:
                Code:
                UserParameter=unifi.proxy[*],/usr/local/bin/zabbix/unifi_miner.pl -a "$1" -o "$2" -s "$3" -k "$4" -i "$5" -n "$6" -c "$7"
                при вызове из-под агента Zabbix будут передаваться указанные 7 параметров (возможно, с пустыми значениями).
                Попробуйте также:
                Code:
                time /usr/local/bin/zabbix/unifi.miner.pl-a "discovery" -o "wlan" -s "" -k "" -i "" -n "" -c ""
                Last edited by Kos; 03-12-2020, 10:49.

                Comment


                • Mario Hysa
                  Mario Hysa commented
                  Editing a comment
                  Hi
                  Это длится

                  real 0m13.450s
                  user 0m2.322s
                  sys 0m0.287s

                • Mario Hysa
                  Mario Hysa commented
                  Editing a comment
                  real 0m0.002s
                  user 0m0.000s
                  sys 0m0.000s
              • Whols
                Senior Member
                • Jul 2018
                • 133

                #23
                Тогда без аргументов и запускайте:
                Code:
                zabbix_agentd -t unifi.proxy
                #SITENAME вы похоже не прописали. Либо укажите его в конфиге скрипта, либо подставьте в строку конфига агента. Чтоб каждый раз руками не вставлять.
                Last edited by Whols; 03-12-2020, 10:50.

                Comment


                • Mario Hysa
                  Mario Hysa commented
                  Editing a comment
                  Только это

                  mario@ip-172-31-21-139:/usr/local/bin/zabbix$ zabbix_agentd -t unifi.proxy
                  unifi.proxy [t|]
              • Kos
                Senior Member
                Zabbix Certified SpecialistZabbix Certified Professional
                • Aug 2015
                • 3404

                #24
                Пожалуйста, не надо писать в комментарии к чужим репликам - это, по сути, только вы и видите. Отвечайте отдельной репликой.
                Это длится

                real 0m13.450s
                user 0m2.322s
                sys 0m0.287s
                То есть время выполнения - более 13 секунд. Тайм-аут по умолчанию в агенте - 3 или 4 секунды (в зависимости от версии агента).
                Видимо, ваша проблема на данном этапе именно в этом: скрипт просто не укладывается в отведённый ему тайм-аут.
                Его можно увеличить, явно выставив в конфиг-файле агента параметр "Timeout=" (но не более, чем 30 секунд), после чего перезапустить агента.

                Comment

                • Whols
                  Senior Member
                  • Jul 2018
                  • 133

                  #25
                  Тут есть два вопроса - действительно ли скрипт в консоли отрабатывает сбор данных так долго или же скрипт только со стороны агента работает с такой задержкой.
                  Второй момент - мне не удалось протестировать ключ, прописанный в UserParameter (любой другой - сколько угодно). Возможно. авторы что то поменяли в одном из апдейтов.
                  Еще момент, хотелось бы все таки передать строку полностью, со всеми аргументами. Поэтому:

                  Code:
                  zabbix_get -s localhost -k unifi.proxy[get,sysinfo,7293wffj,version]
                  Да, надеюсь все же логин и пароль вы в конфиге указали, тк без них эти запросы будут идти с ожиданием. Пустой дискавери (который вы запускаете строкой без аргументов), как я понял из описания, не требует авторизации, собирая исключительно данные о доступных устройствах.
                  Last edited by Whols; 03-12-2020, 11:51.

                  Comment

                  • Mario Hysa
                    Junior Member
                    • Dec 2020
                    • 25

                    #26
                    Паси ндрышова Тайм-аут: 30 тани марр кете кохэ Exec

                    real 0m3.059s
                    user 0m1.120s
                    sys 0m0.119s

                    Comment

                    • Mario Hysa
                      Junior Member
                      • Dec 2020
                      • 25

                      #27
                      этой команды не существует, или поскольку у меня версия 1: 5.2.2-1 + ubuntu20.04

                      Code:
                      zabbix_get -s localhost -k unifi.proxy[get,sysinfo,7293wffj,version]
                      [/QUOTE]

                      Command 'zabbix_get' not found, but can be installed with:

                      sudo apt install zabbix-proxy-mysql # version 1:4.0.17+dfsg-1, or.....


                      Но с помощью этой команды:
                      ./unifi_miner.pl -a get -o sysinfo -k version


                      6.0.36

                      "Unifi Controller Version"



                      Comment

                      • Whols
                        Senior Member
                        • Jul 2018
                        • 133

                        #28
                        zabbix_get нужен будет для проверки отработки ключа, лучше доустановить.

                        Comment

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

                          #29
                          Originally posted by Mario Hysa
                          Паси ндрышова Тайм-аут: 30 тани марр кете кохэ Exec

                          real 0m3.059s
                          user 0m1.120s
                          sys 0m0.119s
                          Простите, не понял?

                          Comment

                          • Mario Hysa
                            Junior Member
                            • Dec 2020
                            • 25

                            #30
                            Originally posted by Kos

                            Простите, не понял?

                            Увеличено значение параметра "Timeout =" в файле конфигурации агента на 30 сек.

                            Но на чем мне сосредоточиться, чтобы решить эту проблему?

                            Comment

                            Working...