Este procedimento é baseado no link abaixo ,onde foi necessário realizar o expurgo de alguns dados da tabela history_uint, sendo assim realizando um corte , mantendo dados específicos de uma data para frente .
Lembrando que este tipo de procedimento não é oficial e a execução desses passos é responsabilidade do executor.
OBS : Foi validado no Zabbix 2.4 e 3 este tipo de moniventação
Link Original :
http://machinenoise.org/2014/cleaning-up-the-zabbix-database.html
1) Ambiente validado :
Sistema Operacional Redhat 6
MySQL 5.1 com a opção habilitada :
1 | InnoDB with innodb_file_per_table=ON |
2) Backup da base :
1 | mysqldump --verbose -u root -p<SENHA> --databases zabbix > backup-zabbix.sql |
3) Pare o serviço do Zabbix :
1 | CREATE TABLE history_uint_new LIKE history_uint |
4) Criando nova tabela history_uint e inserindo dados de um período específico :
Defina o tempo “Unix Time” com a ferramenta online Epoch Converter
Neste exemplo será utilizado 15/05/2016 às 00h 00, em Unix time será 1463270400 .
1 | INSERT INTO history_uint_new SELECT * FROM history_uint WHERE clock > '1463270400' |
5) Movimentação das tabelas :
Setando a tabela atual como Old
1 | ALTER TABLE history_uint RENAME history_uint_old |
Setando a tabela nova como Atual
1 | ALTER TABLE history_uint_new RENAME history_uint |
6) Drope a tabela antiga :
1 | DROP TABLE history_uint_old |
7) Inicie o Zabbix :
1 | service zabbix_server start |
Caso seja de interesse de quem está executando o processo, podemos executar uma query para diminuir o período de como é guardado esses dados .
1 | UPDATE items SET history = '15' WHERE history > '30' |