Ad Widget

Collapse

Проблема с Zabbix API

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • gescheit
    Senior Member
    • Jul 2007
    • 156

    #16
    Ну никто же не мешает поставить апи от новой версии заббикса не удаляя старого в 1.8.3 был досадный баг с поиском триггеров который устранили в рц2 например. Бага с удалением хоста также присутсвут в 1.8.4rc2. Предлагаю повесить тикет в трекер.

    Comment

    • alp
      Member
      • Nov 2009
      • 90

      #17
      Всёравно rc пока ставить не хочется. Будем ждать стабильных версий.

      Плохо, что такая очевидная вещь не была проверена самими разрабами...
      Добавить тикет обязательно нужно, вот только знать бы где и как?
      Так же стоило бы добавить тикет на тему сообщений об ошибке при недостаточном количестве аргументов, это не ошибка прав доступа, как говорится в тексте ошибки сейчас, а ошибка кривого запроса к API.
      Last edited by alp; 17-11-2010, 08:50.

      Comment

      • gescheit
        Senior Member
        • Jul 2007
        • 156

        #18
        тикеты писать в жиру - https://support.zabbix.com/secure/Dashboard.jspa

        Comment

        • alp
          Member
          • Nov 2009
          • 90

          #19
          Создал тикет https://support.zabbix.com/browse/ZBX-3221

          Comment

          • gdgsoft
            Senior Member
            • Apr 2009
            • 202

            #20
            Коллеги, возник вопрос с первичной инициализацией триггера.
            Дело в том, что когда триггер создается, праметр "value" в БД выставляется в "2" (UNKNOWN), а в текстовое поле "error" прописывается "Trigger just added. No status update so far."

            Проблема в том, что если на Элементе данных висит порядка 20 триггеров и с момента начала мониторинга параметров Элемент/Триггер не были проинициализированы, а первая авария происходит через несколько дней, то идет сработка по всем триггерам, которые сразу имеют статус ОК. А ты, естественно сидишь и с недоумением смотришь на всю пачку аварий, и думаешь, что случилось, почему сработали все 20 триггеров, вместо одного.

            Пытаюсь на стадии создания триггеров через API установить парметр "value":
            ZabbixAPI::query('trigger', 'update', array (
            'triggerid' => $new_trigger_id,
            'expression' => $new_expression,
            'value' => 0
            ))

            Но, увы, тщетно! инициализируется все, что угодно, но только не "value".
            Zabbix 2.4.2
            PHP 5.4.5
            Oracle Linux 6.5
            VmWare ESXi 4

            MariaDB 10.0.15
            Oracle Linux 6.5
            Supermicro SYS-6027TRF(64Gb+RAID-10 600Gb SAS15k)

            Comment

            • Aly
              ZABBIX developer
              • May 2007
              • 1126

              #21
              Если честно, не совсем понял вашу ситуацию..
              Но триггер value выставляется автоматически при создании или обновлении, + генерится евент, если необходимо.
              Zabbix | ex GUI developer

              Comment

              • gdgsoft
                Senior Member
                • Apr 2009
                • 202

                #22
                Originally posted by Aly
                Если честно, не совсем понял вашу ситуацию..
                Но триггер value выставляется автоматически при создании или обновлении, + генерится евент, если необходимо.
                OK.
                Постараюсь описать иначе. У меня возникла следующая ситуация.
                Я имею Элемент, который имеет тип: Zabbix trapper. Этот элемент еще нет принимал никаких значений!
                На нем подвешено порядка 40 триггеров.

                Если я правильно понял, при создании триггера параметр "value" автоматически инициализируется двойкой (Unknown). А в БД в колонке "error" хранится текст типа: "Триггер не имеет значения, только создан...", а в веб-интерфейсе в меню конфигурации триггеров, в колонке "error" отбражается красный крестик.

                Потом возникает ситуация, когда элемент получает какое то значение, например, попадающее под условие срабатывания триггера.
                В результате, в меню "Monitoring -> Triggers" появляется 1 триггер со статусом "Problem", т.к. пришло значение описанное в одном триггере и 39 сообщений со статусом "OK", для тех триггеров, для которых это значение не применимо. В БД при этом поле "value" по 39 триггерам получает значение "0", а по одному "1". В веб-интерфейсе в настройке Триггеров в колонке "error" появляется зеленная галочка.

                Собственно говоря, я хочу сделать так, что бы при создании Элемента и Триггера в поле "value" БД в таблице триггеров уже было 0. Что бы когда Элемент получает первое значение, не было сработки всех 40 триггеров, а только одного. Потому что если прошло много времени после создания Элемента и Триггера, и аварий не было, и вдруг приходит первая ошибка по порту, то вываливаются все 40 триггеров, ну и что что 39 из них имеют статус "ОК", то становится страшно, т.к. ты уже не помнишь из-за чего это все произошло и наступает паника
                Сейчас, что бы уйти от данной проблемы, в скрипте, создающем Хосты и их конфигурацию, во все созданные Элементы, в самом конце скрипта кидаю значение, например, "0", что бы призвести инициализацию Элементов.

                Триггера вида:
                ({TRIGGER.VALUE}=0&{".$template_name.":".$item_nam e.".last(0)}=$alarm_code)|({TRIGGER.VALUE}=1&{".$t emplate_name.":".$item_name.".last(0)}#".($alarm_c ode+1000).")
                где $alarm_code - код, при котором происходит срабатывание триггера,
                $alarm_code+1000 - гашение триггера.
                Zabbix 2.4.2
                PHP 5.4.5
                Oracle Linux 6.5
                VmWare ESXi 4

                MariaDB 10.0.15
                Oracle Linux 6.5
                Supermicro SYS-6027TRF(64Gb+RAID-10 600Gb SAS15k)

                Comment

                • alp
                  Member
                  • Nov 2009
                  • 90

                  #23
                  Похоже пофиксили траблу с удалением хоста через API. Правда не написано в каких версиях фикс и как обновиться(что имеено и до какой версии)

                  Comment

                  • zalex_ua
                    Senior Member
                    Zabbix Certified Trainer
                    Zabbix Certified SpecialistZabbix Certified Professional
                    • Oct 2009
                    • 1286

                    #24
                    Originally posted by alp
                    Похоже пофиксили траблу с удалением хоста через API. Правда не написано в каких версиях фикс и как обновиться(что имеено и до какой версии)

                    https://support.zabbix.com/browse/ZBX-3221
                    В данное мгновение статус запроса "Resolved". Ждите статуса "Closed" и на следующее утро берите сборку отсюда http://www.zabbix.com/developers.php

                    Comment

                    • alp
                      Member
                      • Nov 2009
                      • 90

                      #25
                      На продакшне не хочу транки юзать, стэйбл как-то стабильнее обычно.
                      Поэтому интересно в каких релизах оно появится, стоит ли ждать что-то типа 1.8.3.1 и 1.8.4.1?

                      Comment

                      • Jimson
                        Senior Member
                        • Jan 2008
                        • 1327

                        #26
                        можно взять да проверить на тестовом сервере 1.8.4rc, а то может принципы и не к месту вовсе, особенно если учесть что никто не гарантирует что 1.8.4-release будет без ошибок и что при миграции вы не угробите свою прокшен базу

                        Comment

                        • zalex_ua
                          Senior Member
                          Zabbix Certified Trainer
                          Zabbix Certified SpecialistZabbix Certified Professional
                          • Oct 2009
                          • 1286

                          #27
                          Originally posted by alp
                          На продакшне не хочу транки юзать, стэйбл как-то стабильнее обычно.
                          Поэтому интересно в каких релизах оно появится, стоит ли ждать что-то типа 1.8.3.1 и 1.8.4.1?
                          Так никто и не рекомендует использовать транк. Используйте Pre-1.8.4rc2.x (stable) - это и безопасно и оправдано.

                          Нет и не будет таких версий как 1.8.3.1 и 1.8.4.1.
                          Если хотите настоящий релиз, то это будет в 1.8.4

                          Originally posted by Jimson
                          ... особенно если учесть что никто не гарантирует что 1.8.4-release будет без ошибок и что при миграции вы не угробите свою прокшен базу
                          Ошибки - они будут всегда, но со временем их становится все меньше, зато потом появляются другие из-за введения новых функций.

                          Но конкретно эта ошибка из топика уже исправлена. И в следующем релизе этой проблемы уже быть не должно. Не вводите людей в заблуждение!

                          О каком угроблении базы идет речь?
                          Справедливости ради сообщу, что на транке у меня это дважды случалось, но на бнанч ветке 1.8.х такого случаться не должно в теории.
                          Опять же зачем людей пугать безосновательно ?

                          Comment

                          • Aly
                            ZABBIX developer
                            • May 2007
                            • 1126

                            #28
                            Обновляя версию забикса в пределах 1.8.х вы можете вообще базу не трогать, там только рекомендуемые апгрейды бывают..
                            С транком сложнее, с выходом новой версии идут новые фичи требующие обязательного изменения структуры базы данных.

                            З.Ы. ставить АПИ от 1.8.4 к фронтэнду не от 1.8.4 = Эпик фейл
                            Zabbix | ex GUI developer

                            Comment

                            • iks
                              Member
                              • Jun 2010
                              • 56

                              #29
                              Добрый день.
                              У меня такой вопрос по API. При запросе информации о группе узлов сети, в ответ прилетает типа этого:
                              Code:
                              [result] => Array
                                      (
                                          [0] => Array
                                              (
                                                  [groupid] => 6
                                              )
                              
                                      )
                              (видим индекс массива 0). При запросе информации о шаблоне получаем следующее
                              Code:
                              [result] => Array
                                      (
                                          [10047] => Array
                                              (
                                                  [hostid] => 10047
                                                  [templateid] => 10047
                                              )
                              
                                      )
                              (видим индекс массива 10047). Вот в этом и вопрос, почему так сделано?
                              Вопрос связан с тем, чтобы проверить, вернется ли хоть одно значение в ответ на запрос. Может это фича (глюк) реализации api на php (http://andrewfarley.com/php/zabbix-1...php-class-v1-0), но при нулевом ответе я получаю
                              Code:
                              Array
                              (
                                  [0] => 
                              )
                              , а при нормальном для групп
                              Code:
                              Array
                              (
                                  [0] => Array
                                      (
                                          [groupid] => 6
                                      )
                              
                              )
                              , а для шаблонов
                              Code:
                              Array
                              (
                                  [10047] => Array
                                      (
                                          [hostid] => 10047
                                          [templateid] => 10047
                                      )
                              
                              )
                              Я, конечно, могу в реализации API на php поправить это, но надо ли? И если надо, то видимо надо сообщить об этом куда-то, чтобы тоже поправили?

                              Comment

                              • Aly
                                ZABBIX developer
                                • May 2007
                                • 1126

                                #30
                                Ну вы хоть бы версию заббикса указали?!

                                З.Ы. а в целом должны приходить массив, а не хеш, так что это баг.
                                Last edited by Aly; 29-11-2010, 11:15.
                                Zabbix | ex GUI developer

                                Comment

                                Working...