Костыли Zabbix

Принудительное отключение параметров, которые уже не обнаруживаются через LDD, но еще не удалились:
select count(*) from items left join item_discovery on item_discovery.itemid = items.itemid where hostid = 10197 and ts_delete != 0 and status = 0;
 count 
-------
  4490
(1 row)

update items set status = 1 where itemid in (select items.itemid from items left join item_discovery on item_discovery.itemid = items.itemid where hostid = 10197 and ts_delete != 0 and status = 0);
UPDATE 4490

В первом запросе, мы получили количество параметров, которые еще собираются с хоста, но уже помечены на удаление, так как, к примеру, эти параметры не находятся в LLD. Нам не интересно собирать такие данные и мы отключаем их вторым запросом. Обязательно меняйте hostid на своё значение.

Уменьшаем занимаемое место базы в PostgreSQL:

Вкратце:
— В старых версиях Zabbix, при создании схемы базы, используются OIDs. Занимают много места, бесполезны, нужно удалить.

ALTER TABLE test SET WITHOUT OIDS;

— Пересоздаем индексы с типом brin для огромных таблиц history/trends

begin;
drop index history;
create index history_1 on history using brin (itemid, clock);
commit;

Оригинал в статье Optimizing disk usage of Zabbix and PostgreSQL

Очищаем все сообщения о проблемах и состояние триггеров:
  1. отключаем zabbix-server
  2. очищаем все из базы данных
    TRUNCATE acknowledges CASCADE;
    TRUNCATE alerts CASCADE;
    TRUNCATE escalations CASCADE;
    TRUNCATE event_recovery CASCADE;
    TRUNCATE event_tag CASCADE;
    TRUNCATE events CASCADE;
    TRUNCATE problem CASCADE;
    
    UPDATE triggers SET value = 0 WHERE value = 1;
    
Массово отключаем триггеры с нужным нам именем для нужного хоста:
UPDATE triggers SET status = 1 WHERE triggerid in (SELECT DISTINCT t.triggerid
FROM triggers t 
INNER JOIN functions f ON ( f.triggerid = t.triggerid ) 
INNER JOIN items i ON ( i.itemid = f.itemid ) 
INNER JOIN hosts h ON ( i.hostid = h.hostid ) 
WHERE h.name like '%dlink-sw01%' AND t.description like '%Link Usage%');
Массово отключаем сбор нужных параметров для нужного хоста:
UPDATE items SET status = 1 WHERE itemid IN (
SELECT DISTINCT i.itemid
FROM items i 
INNER JOIN hosts h ON ( i.hostid = h.hostid ) 
WHERE h.hostid = 10202 AND i.snmp_oid LIKE 'IF-MIB::if%');
VN:F [1.9.22_1171]
Рейтинг: 6.0/10 (1 голос)
Костыли Zabbix, 6.0 out of 10 based on 1 rating

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *