Пару раз была ситуация, что хост или железяка не ответили по таймауту заббикс серверу и эта проверка как бы зависла в очереди, т.е. отображаеться в Queue с временем ожидания более 10 минут (одна была более недели). Пока не перезапустишь процессы заббикс сервера эта проверка будет висеть мертвым грузом.
Может у кого то имеются идеи по этому поводу?) У меня вообще нет предположений о причинах такого поведения проверки(
ЗЫ: у этих проверок пришлось вручную менять nextcheck на текущее время плюс пару минут, тогда все ок стало
fredushka
27-05-2009, 10:35
Интересно то, что в фронтенде, для отображения очереди Administration -> Queue используется следущий запрос
$result = DBselect('SELECT i.itemid,i.lastclock,i.description,i.key_,i.type,h .host,h.hostid,h.proxy_hostid,i.delay,i.delay_flex '.
' FROM items i,hosts h '.
' WHERE i.status='.ITEM_STATUS_ACTIVE.
' AND i.type in ('.implode(',',$item_types).') '.
' AND ((h.status='.HOST_STATUS_MONITORED.' AND h.available != '.HOST_AVAILABLE_FALSE.') '.
' OR (h.status='.HOST_STATUS_MONITORED.' AND h.available='.HOST_AVAILABLE_FALSE.' AND h.disable_until<='.$now.')) '.
' AND i.hostid=h.hostid '.
/* ' AND i.nextcheck + 5 <'.$now.*/
' AND i.key_ NOT IN ('.zbx_dbstr('status').','.zbx_dbstr('icmpping').' ,'.zbx_dbstr('icmppingsec').','.zbx_dbstr('zabbix[log]').') '.
' AND i.value_type not in ('.ITEM_VALUE_TYPE_LOG.') '.
' AND '.DBcondition('h.hostid',$available_hosts).
' AND '.DBin_node('h.hostid', get_current_nodeid()).
' ORDER BY i.lastclock,h.host,i.description,i.key_');
из таблицы items берется не NEXTCHECK, а LASTCLOCK.
Я не вник в логику или баг?
Мы сделали кое-какие изменения для Queue в 1.6.5. Ждем! :)