Zabbix: executando o processo Housekeeper manualmente

Os Itens monitorados pelo Zabbix possuem um tempo de retenção configurado. Por exemplo, você pode escolher guardar itens por um dia, ou por um ano.

A remoção dos registros que ultrapassam este período é feita pelos processos Housekeeper do Zabbix Server.

Se você manter os parâmetros como abaixo no arquivo de configuração do Zabbix Server, o processo Housekeeper será executado a cada 1 hora, e irá remover no máximo 1.000.000 de registros de cada item que terá seu histórico limpo.

HousekeepingFrequency=1
MaxHousekeeperDelete=1000000

Se você deixar como abaixo, o processo não terá limite de registro para a limpeza, sendo executado também a cada 1 hora.

HousekeepingFrequency=1
MaxHousekeeperDelete=0

Se deixar como abaixo, o processo nunca será executado automaticamente.

HousekeepingFrequency=0
MaxHousekeeperDelete=0

Neste caso, o processo teria que ser executado manualmente, com o comando abaixo:

[suporte@Baltazar ~]$ sudo /usr/sbin/zabbix_server --runtime-control housekeeper_execute
zabbix_server [13336]: command sent successfully
[suporte@Baltazar ~]$

Após a execução do comando acima, a execução do Housekeeper é registrada no log do Zabbix Server.

11323:20170308:145649.339 forced execution of the housekeeper
11323:20170308:145649.339 executing housekeeper

14 comments

  1. Excelente post!!!! Parabéns!!!!

    Tenho duas duvidas.

    Primeira:
    HousekeepingFrequency=2
    MaxHousekeeperDelete=8000

    A configuração acima seria o processo Housekeeper será executado a cada 2 hora, e irá remover no máximo 8000 de registros de cada item que terá seu histórico limpo?
    certo ?

    Segunda:
    Executando o housekeeper_execute manualmente, é normal o mesmo ficar executando por um grande período de horas (exemplo 5 hora)?

    1. “A configuração acima seria o processo Housekeeper será executado a cada 2 hora, e irá remover no máximo 8000 de registros de cada item que terá seu histórico limpo?”
      Correto.

      “Executando o housekeeper_execute manualmente, é normal o mesmo ficar executando por um grande período de horas (exemplo 5 hora)?”
      Sim, dependendo da quantidade de dados que deve ser excluída, e desempenho do banco de dados.

  2. hola, configure para recibir notificaciones por medio del correo gmial, pero el log del server zabbix 4.0 tengo este evento, no puedo recibir correo

    tail -f /var/log/zabbix/zabbix_server.log
    28539:20190118:115532.380 server #20 started [poller #4]
    28554:20190118:115533.082 server #31 started [preprocessing worker #1]
    28555:20190118:115533.083 server #32 started [preprocessing worker #2]
    28557:20190118:115533.084 server #33 started [preprocessing worker #3]
    28515:20190118:122532.608 executing housekeeper
    28515:20190118:122537.242 housekeeper [deleted 10303 hist/trends, 0 items/trigger 1 hour(s)]
    28515:20190118:132537.764 executing housekeeper
    28515:20190118:132542.285 housekeeper [deleted 9766 hist/trends, 0 items/triggers 1 hour(s)]
    28515:20190118:142542.886 executing housekeeper
    28515:20190118:142550.947 housekeeper [deleted 9769 hist/trends, 0 items/triggers 1 hour(s)]
    28515:20190118:152551.567 executing housekeeper
    28515:20190118:152555.926 housekeeper [deleted 9759 hist/trends, 0 items/triggers

  3. Respondendo a pergunta que me foi enviada por e-mail: como posso PARAR este processo de HouseKeeper também de maneira manual sem parar “restartar” o serviço do Zabbix?

    Eu não encontrei um comando do –runtime-control para parar o Housekeeper.
    Eu executei ele manualmente…

    [suporte@Magi ~]$ sudo /usr/sbin/zabbix_server --runtime-control housekeeper_execute
    zabbix_server [7874]: command sent successfully
    [suporte@Magi ~]$ ps aux | grep house
    suporte   7919  0.0  0.0 112720  2380 pts/2    S+   06:25   0:00 grep --color=auto house
    zabbix   32673  0.0  0.0 5369648 7148 ?        S    Jun12   3:02 /usr/sbin/zabbix_server: housekeeper [removing old history and trends]
    [suporte@Magi ~]$
    

    E verifiquei no Log do Zabbix Server que ele iniciou.

    32673:20190620:062504.813 forced execution of the housekeeper
    32673:20190620:062504.813 executing housekeeper
    

    Tentei dar um KILL nele…

    [suporte@Magi ~]$ sudo kill 32673
    [suporte@Magi ~]$ ps aux | grep house
    suporte   7975  0.0  0.0 112720  2324 pts/2    S+   06:25   0:00 grep --color=auto house
    [suporte@Magi ~]$
    

    E vi no Log que o Zabbix Server caiu (e subiu automaticamente).

    32673:20190620:062524.596 Got signal [signal:15(SIGTERM),sender_pid:7965,sender_uid:0,reason:0]. Exiting ...
    32669:20190620:062524.910 One child process died (PID:32673,exitcode/signal:1). Exiting ...
    

    Vi que o Housekeeper voltou, mas como está na documentação, só vai entrar em ação 30 minutos após o Zabbix Server ter iniciado.

    [suporte@Magi ~]$ ps aux | grep house
    zabbix    8007  0.0  0.0 5366988 3944 ?        S    06:25   0:00 /usr/sbin/zabbix_server: housekeeper [startup idle for 30 minutes]
    suporte   9542  0.0  0.0 112724  2336 pts/2    S+   06:26   0:00 grep --color=auto house
    [suporte@Magi ~]$
    

    Na verdade acho que você está tentando atacar o problema sem atacar a causa.
    A melhor forma que já utilizei para acelerar as gravações do Zabbix Server foi Tuning do MySQL.

  4. Excelente artigo. Existem várias informações distribuídas pela Web mas vc descreveu o processo de maneira mto clara.

    Meu housekeeper está configurado utilizando o padrão:


    HousekeepingFrequency=1
    MaxHousekeeperDelete=1000000

    Porém verifico que a cada 1 hr o processo do housekeeper fica em 100%, isso significa que ele não está conseguindo deletar tudo em 1 hr?

    1. Obrigado pelo comentário Guilherme.
      Sim, provavelmente o Housekeeper não está conseguindo apagar as informações. Deve estar precisando de Tuning aí, ou o hardware bateu no limite.

  5. Ativei a governanta, mas estou tendo as seguintes informações no zabbix_server.log:

    excluído 37457 hist / trends, 101780 itens / gatilhos, 0 eventos, 24 problemas …

    Não entendi, nas opções de ativação da governanta (Administração / Geral / Tarefas domésticas), ativei Eventos e alertas, mas deixei o 3650d para todas as quatro opções.

    Por que, então, tantos itens / gatilhos estão sendo excluídos? Os históricos que estão sendo excluídos estão vinculados aos gatilhos, a ponto de também serem removidos do banco?

    Também tenho perguntas sobre os problemas que estão sendo excluídos. Se eles eram de hosts excluídos, não deveria ter zerado o número de problemas excluídos? Não excluímos nenhum host há algum tempo.

    1. Acho que vocês quis dizer “365d” e não “3650d”, certo?
      O Housekeeper não ocorre apenas quando um Host é excluído. Se eu banco tem mais de 365 dias, estão sendo excluídos os Problems e Triggers (de Hosts que ainda existem) que aconteceram a 366 dias.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.