Apagar dados de um Host

Criada por Danilo Tomich, Modificado em Sáb, 18 Out na (o) 2:09 PM por Danilo Tomich

Melhor opção é remover o Host e recadastar.
Caso queira so apagar de fato so os dados. Segue abaixo


⚠️ 3️⃣ Antes de rodar — verifique o host exato

O nome do host precisa ser exatamente igual ao que aparece no Zabbix → Configuration → Hosts.
Você pode confirmar executando:

mysql -u zabbix -p zabbix -e "SELECT hostid,host FROM hosts WHERE host LIKE '%PROXMOX%';"


⚙️ 2️⃣ Executando o comando no terminal

Basta digitar no terminal do servidor Zabbix (logado como root):


zabbix_mysql_user="zabbix"

zabbix_mysql_db="zabbix"


mysql -u $zabbix_mysql_user -p $zabbix_mysql_db -e "DELETE FROM history WHERE itemid IN (SELECT itemid FROM items WHERE hostid IN (SELECT hostid FROM hosts WHERE host='SERVER - PROXMOX'));" 

mysql -u $zabbix_mysql_user -p $zabbix_mysql_db -e "DELETE FROM trends WHERE itemid IN (SELECT itemid FROM items WHERE hostid IN (SELECT hostid FROM hosts WHERE host='SERVER - PROXMOX'));"

Vai pedi a senha do banco de dados do Mysql




4️⃣ Confirmação de limpeza

Depois de rodar, o histórico desse host (e seus itens) será totalmente apagado, mas o host continua existindo no Zabbix.
Você pode confirmar a limpeza com:

mysql -u zabbix -p zabbix -e "SELECT COUNT(*) FROM history;" mysql -u zabbix -p zabbix -e "SELECT COUNT(*) FROM trends;"

Os valores devem cair visivelmente.

Como ver se está realmente executando

Em outro terminal, rode:

mysql -u zabbix -p -e "SHOW PROCESSLIST;" | grep -i delete

Se aparecer algo como:

| 45 | zabbix | localhost | zabbix | Query | 300 | deleting from history | DELETE FROM history WHERE itemid ...

Está rodando — não interrompa.
(Se você matar o processo no meio, pode deixar o banco inconsistente temporariamente.)


? O que significam as colunas:

ColunaSignificado
QueryTipo de comando (no caso, um DELETE)
TimeTempo em segundos desde que começou (aumentou de 100 para 367 → continua rodando)
StateSending data indica que está varrendo e removendo dados
InfoMostra exatamente o comando em execução

✅ Conclusão

Sim, o MySQL está processando a exclusão neste momento.
Enquanto o estado for Sending data ou updating, não finalize o processo.
Quando terminar, ele vai sumir da lista ao rodar novamente:

mysql -u zabbix -p -e "SHOW PROCESSLIST;" | grep -i delete

(se não aparecer nada → terminou a exclusão).


? Dica:

Depois que essa query terminar, rode também o mesmo comando para as tabelas history_uint, history_str, history_log e trends/trends_uint, pois o Zabbix distribui dados nessas tabelas também.


####



Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo