Ad Widget

Collapse

zabbix frontend: невозможно редактировать триггеры и &

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Badisoft
    Member
    • Nov 2010
    • 94

    #16
    Originally posted by Jimson
    ну если отбросить мысль что вы совершили одну и туже ошибку при инсталяции, то остается только php-5.2, думаю у большинства стоит 5.3
    проверьте, если есть возможность
    Zabbix 1.8.3, Centos 5.5, PHP 5.1.6, описанной проблемы нет.

    Дима.

    Comment

    • Aly
      ZABBIX developer
      • May 2007
      • 1126

      #17
      А если ручками поправить в uri groupid=5 (triggers.php?groupid=5&hostid=10047)?
      Zabbix | ex GUI developer

      Comment

      • saenara
        Junior Member
        • Dec 2010
        • 12

        #18
        Originally posted by Jimson
        ну если отбросить мысль что вы совершили одну и туже ошибку при инсталяции, то остается только php-5.2, думаю у большинства стоит 5.3
        проверьте, если есть возможность
        php5-5.3.5

        Изба индейская во всей красе.
        Ручное исправление groupid и прочего тоже не помогает.
        Использование 1.8.4 не помогает.

        Куда бы сходить еще, чего бы выкурить, чтобы заработало, не подскажите ли?
        Last edited by saenara; 21-01-2011, 11:00.

        Comment

        • saenara
          Junior Member
          • Dec 2010
          • 12

          #19
          После приступа мазохизма обнаружил, что groupid и hostid, полные информации и осмыленного содержания обнуляются вот в этом кусочке файла triggers.php

          Code:
                  $options = array(
                          'groups' => array('not_proxy_hosts' => 1, 'editable' => 1),
                          'hosts' => array('templated_hosts' => 1, 'editable' => 1),
                          'triggers' => array('editable' => 1),
                          'groupid' => get_request('groupid', null),
                          'hostid' => get_request('hostid', null),
                          'triggerid' => get_request('triggerid', null),
                  );
                  $pageFilter = new CPageFilter($options);
                  $_REQUEST['groupid'] = $pageFilter->groupid;
                  $_REQUEST['hostid'] = $pageFilter->hostid;
          
                  if($pageFilter->triggerid > 0){
                          $_REQUEST['triggerid'] = $pageFilter->triggerid;
                  }
          Поиздевавшись над кодом в целях сохранения их значений выяснил, что, вобщем-то, оно и ни к чему, так как в следующем кусочке того же файла

          Code:
          // get Triggers
                          $triggers = array();
          
                          $sortfield = getPageSortField('description');
                          $sortorder = getPageSortOrder();
          
                          if($pageFilter->hostsSelected){
          $pageFilter->hostsSelected не возвращает ничего и триггеров все равно не видно, хотя заголовок страницы уже относится к выбранному шаблону.

          Дошел до цели. Видимо, собака укопана в том, что
          Code:
          # ls -1 | grep '^mysql-'
          mysql-client-4.1.25
          mysql-scripts-4.1.25
          mysql-server-4.1.25
          Суть проблемы. Доползя до класса api/classes/class.chostgroup.php я выяснил, что в качестве запроса групп у них (разработчиков заббикса) получается
          Code:
          SELECT DISTINCT g.* FROM groups g,hosts_groups hg,hosts h WHERE ((g.groupid BETWEEN 000000000000000 AND 099999999999999)) AND hg.groupid=g.groupid AND h.hostid=hg.hostid AND NOT h.status IN (5,6)
          хотя сердце мне подскзывает, что надо бы
          Code:
          SELECT DISTINCT g.* FROM groups g,hosts_groups hg,hosts h WHERE ((g.groupid BETWEEN 000000000000000 AND 099999999999999)) AND hg.groupid=g.groupid AND h.hostid=hg.hostid AND NOT (h.status IN (5,6))
          что и подтвердилось после внесения изменений в api/classes/class.chostgroup.php
          Code:
          --- api/classes/class.chostgroup.php.orig       2011-01-21 14:52:03.000000000 +0300
          +++ api/classes/class.chostgroup.php    2011-01-21 14:52:21.000000000 +0300
          @@ -228,7 +228,7 @@
                                  $sql_parts['from']['hosts'] = 'hosts h';
                                  $sql_parts['where']['hgg'] = 'hg.groupid=g.groupid';
                                  $sql_parts['where'][] = 'h.hostid=hg.hostid';
          -                       $sql_parts['where'][] = 'NOT h.status IN ('.HOST_STATUS_PROXY_ACTIVE.','.HOST_STATUS_PROXY_PASSIVE.')';
          +                       $sql_parts['where'][] = 'NOT (h.status IN ('.HOST_STATUS_PROXY_ACTIVE.','.HOST_STATUS_PROXY_PASSIVE.'))';
                          }
          
           // with_items, with_monitored_items, with_historical_items
          Last edited by saenara; 21-01-2011, 13:54. Reason: Апдейт

          Comment

          • saenara
            Junior Member
            • Dec 2010
            • 12

            #20
            Наверное надо куда-то написать разработчикам?

            Comment

            Working...