Ad Widget
Collapse
zabbix frontend: невозможно редактировать триггеры и &
Collapse
X
-
php5-5.3.5
Изба индейская во всей красе.
Ручное исправление groupid и прочего тоже не помогает.
Использование 1.8.4 не помогает.
Куда бы сходить еще, чего бы выкурить, чтобы заработало, не подскажите ли?Last edited by saenara; 21-01-2011, 11:00.Comment
-
После приступа мазохизма обнаружил, что 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; }
$pageFilter->hostsSelected не возвращает ничего и триггеров все равно не видно, хотя заголовок страницы уже относится к выбранному шаблону.Code:// get Triggers $triggers = array(); $sortfield = getPageSortField('description'); $sortorder = getPageSortOrder(); if($pageFilter->hostsSelected){
Дошел до цели. Видимо, собака укопана в том, что
Суть проблемы. Доползя до класса api/classes/class.chostgroup.php я выяснил, что в качестве запроса групп у них (разработчиков заббикса) получаетсяCode:# ls -1 | grep '^mysql-' mysql-client-4.1.25 mysql-scripts-4.1.25 mysql-server-4.1.25
хотя сердце мне подскзывает, что надо бы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.phpCode: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:--- 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_itemsComment
Comment