Ad Widget

Collapse

Обновление сломало дерево карт

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • denser
    Member
    • Oct 2014
    • 30

    #1

    Обновление сломало дерево карт

    Здравствуйте, после обновления с 5.4 до 6.2 перестало работать дерево карт, вот лог вебсервера:

    Code:
    [Thu Jan 26 04:47:02.502472 2023] [php:warn] [pid 258481] [client *:64748] PHP Warning: Undefined array key 68137 in /usr/share/zabbix/app/controllers/CControllerWidgetNavTreeView.php on line 251, referer: https://zabbix/zabbix/zabbix.php?action=dashboard.view&dashboardid=31
    [Thu Jan 26 04:47:02.502566 2023] [php:warn] [pid 258481] [client *:64748] PHP Warning: foreach() argument must be of type array|object, null given in /usr/share/zabbix/app/controllers/CControllerWidgetNavTreeView.php on line 256, referer: https://zabbix/zabbix/zabbix.php?action=dashboard.view&dashboardid=31
    [Thu Jan 26 04:47:02.510528 2023] [php:error] [pid 258481] [client *:64748] PHP Fatal error: Uncaught TypeError: CControllerWidgetNavTreeView::sumArrayValues(): Argument [NODE="2"]Forum[/NODE] ($a2) must be of type array, null given, called in /usr/share/zabbix/app/controllers/CControllerWidgetNavTreeView.php on line 263 and defined in /usr/share/zabbix/app/controllers/CControllerWidgetNavTreeView.php:510\nStack trace:\n#0 /usr/share/zabbix/app/controllers/CControllerWidgetNavTreeView.php(263): CControllerWidgetNavTreeView::sumArrayValues()\n#1 /usr/share/zabbix/app/controllers/CControllerWidgetNavTreeView.php(485): CControllerWidgetNavTreeView->getNumberOfProblemsBySysmap()\n#2 /usr/share/zabbix/include/classes/mvc/CController.php(474): CControllerWidgetNavTreeView->doAction()\n#3 /usr/share/zabbix/include/classes/core/ZBase.php(599): CController->run()\n#4 /usr/share/zabbix/include/classes/core/ZBase.php(216): ZBase->processRequest()\n#5 /usr/share/zabbix/include/config.inc.php(25): ZBase->run()\n#6 /usr/share/zabbix/zabbix.php(22): require_once('...')\n#7 {main}\n thrown in /usr/share/zabbix/app/controllers/CControllerWidgetNavTreeView.php on line 510, referer: https://zabbix/zabbix/zabbix.php?action=dashboard.view&dashboardid=31
    Судя по всему ошибка идет при подсчете проблем узлов сети, подскажите в каком направление расследовать?​
  • denser
    Member
    • Oct 2014
    • 30

    #2

    Никто? Вот что сам смог нарыть:
    добавил проверку на фатальную ошибку, теперь дерево грузится с предупреждением что не найден триггер...
    Вот такие дела..

    Comment

    • denser
      Member
      • Oct 2014
      • 30

      #3
      Нашел триггер, на который ругалось, он оказался деактивирован, я его активировал и дерево стало грузится без ошибок. Деактивировал - и снова дерево не грузится. Странно как то, вроде бы этот триггер не используется на карте...как бы это узнать.

      Узнал, связь была настроена на такой триггер, однако раньше оно не работало так. Возможно это связано с тем, что обновляя, я обновил и PHP с 7.4 до 8.1 и там некоторые предупреждения стали фатальными, хотя в документации не написано, что есть потолок версий, указана минимальная 7.2.

      Вывод, если используется на карте триггер. который выключен - будет вава. Попробую выяснить, можно ли 8.1 пхп настроить на поведение не фатальное либо надо все обмазать проверками на существование ключа в массиве.
      Last edited by denser; 27-01-2023, 06:24.

      Comment

      • denser
        Member
        • Oct 2014
        • 30

        #4
        Code:
        Index: app/controllers/CControllerWidgetNavTreeView.php
        IDEA additional info:
        Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
        <+>UTF-8
        ===================================================================
        --- app/controllers/CControllerWidgetNavTreeView.php    (date 1674795803646)
        +++ app/controllers/CControllerWidgetNavTreeView.php    (date 1674795803646)
        @@ -248,6 +248,7 @@
                                     );
         
                                     foreach ($uncounted_problem_triggers as $triggerid => $var) {
        +                                if(!key_exists($triggerid, $problems_per_trigger)) continue;
                                         $problems_to_add = $problems_per_trigger[$triggerid];
                                         $problems_counted[$triggerid] = true;
        ​

        Comment

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

          #5
          Было бы неплохо создать баг-репорт на support.zabbix.com (в проекте ZBX).
          Сможете?​

          Comment

          • denser
            Member
            • Oct 2014
            • 30

            #6
            Originally posted by Kos
            Было бы неплохо создать баг-репорт на support.zabbix.com (в проекте ZBX).
            Сможете?​
            Да, составлять на родном языке или использовать английский?

            https://support.zabbix.com/browse/ZBX-22301

            Создал на английском.
            Last edited by denser; 04-02-2023, 08:19.

            Comment

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

              #7
              Originally posted by denser

              Да, составлять на родном языке или использовать английский?

              https://support.zabbix.com/browse/ZBX-22301

              Создал на английском.
              К сожалению, только на английском.
              Спасибо!
              Не мешало бы кратко описать, в чём именно суть проблемы и как её воспроизвести.

              Comment

              Working...