4 Proxy

Overview

O proxy Zabbix é um processo que pode coletar dados de monitoramento de um ou mais dispositivos monitorados e enviar as informações para o servidor Zabbix, essencialmente funcionando em nome do servidor. Todos os dados coletados são armazenados em buffer localmente e depois transferidos para o servidor Zabbix ao qual o proxy pertence.

Implantar um proxy é opcional, mas pode ser muito benéfico para distribuir a carga de um único servidor Zabbix. Se apenas proxies coletarem os dados, o processamento no servidor se torna menos exigente em termos de CPU e I/O de disco.

Um proxy Zabbix é a solução ideal para monitoramento centralizado de locais remotos, filiais e redes sem administradores locais.

O proxy Zabbix requer um banco de dados separado.

Note que os bancos de dados suportados pelo proxy Zabbix são SQLite, MySQL e PostgreSQL. Usar Oracle é por sua conta e risco e pode conter algumas limitações, como, por exemplo, nos valores de retorno return values das regras de descoberta de baixo nível.

Consulte também: Using proxies in a distributed environment

Proxy rodando

Se instalado como pacote

Se instalado como pacote, o proxy do Zabbix é executado como um processo daemon. O proxy pode ser iniciado executando:

systemctl start zabbix-proxy

Isso funcionará na maioria dos sistemas GNU/Linux. Em outros sistemas, você pode precisar executar:

/etc/init.d/zabbix-proxy start

Da mesma forma, para parar, reiniciar ou visualizar o status do proxy do Zabbix, use os seguintes comandos:

systemctl stop zabbix-proxy
       systemctl restart zabbix-proxy
       systemctl status zabbix-proxy
Inicialização manualmente

Se o método acima não funcionar, você precisará iniciá-lo manualmente. Encontre o caminho para o binário zabbix_proxy e execute:

zabbix_proxy

Você pode usar os seguintes parâmetros de linha de comando com o proxy do Zabbix:

-c --config <file>              path to the configuration file
       -f --foreground                 run Zabbix proxy in foreground
       -R --runtime-control <option>   perform administrative functions
       -h --help                       give this help
       -V --version                    display version number

Exemplos de execução do proxy do Zabbix com parâmetros de linha de comando:

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf
       zabbix_proxy --help
       zabbix_proxy -V
Controle de execução

Opções de controle de execução:

Opção Descrição Alvo
config_cache_reload Recarregar o cache de configuração. Ignorado se o cache estiver sendo carregado no momento.
O proxy Zabbix ativo se conectará ao servidor Zabbix e solicitará os dados de configuração.
diaginfo[=<section>] Coletar informações de diagnóstico no arquivo de log do proxy. historycache - estatísticas do cache de histórico
preprocessing - estatísticas do gerenciador de pré-processamento
locks - lista de mutexes (vazia em sistemas BSD)
snmp_cache_reload Recarregar o cache SNMP, limpar as propriedades SNMP (tempo do motor, inicializações do motor, ID do motor, credenciais) para todos os hosts.
housekeeper_execute Iniciar o procedimento de limpeza (housekeeping). Ignorado se o procedimento já estiver em andamento.
log_level_increase[=<target>] Aumentar o nível de log, afetando todos os processos se o alvo não for especificado.
Não suportado em sistemas BSD.
process type - Todos os processos do tipo especificado (ex.: poller)
Veja todos os tipos proxy process types.
process type,N - Tipo de processo e número (ex.: poller,3)
pid - Identificador de processo (1 a 65535). Para valores maiores, especifique o alvo como 'process type,N'.
log_level_decrease[=<target>] Reduzir o nível de log, afetando todos os processos se o alvo não for especificado.
Não suportado em sistemas BSD.
prof_enable[=<target>] Ativar profiling.
Afeta todos os processos se o alvo não for especificado.
A criação de perfis habilitada fornece detalhes de todos os rwlocks/mutexes por nome de função.
Suportado desde o Zabbix 6.0.13.
process type - Todos os processos do tipo especificado (ex.: history syncer)
Veja todos os tipos de processos proxy process types.
process type,N - Tipo de processo e número (ex.: history syncer,1)
pid - Identificador de processo (1 a 65535). Para valores maiores, especifique o alvo como 'process type,N'.
scope - rwlock, mutex, processing podem ser usados com o tipo e número do processo (ex.: history syncer,1,processing) ou para todos os processos do tipo (ex.: history syncer,rwlock).
prof_disable[=<target>] Desativar profiling.
Afeta todos os processos se o alvo não for especificado.
Suportado desde o Zabbix 6.0.13.
process type - Todos os processos do tipo especificado (ex.: history syncer)
Veja todos os tipos de processos proxy process types.
process type,N - Tipo de processo e número (ex.: history syncer,1)
pid - Identificador de processo (1 a 65535). Para valores maiores, especifique o alvo como 'process type,N'.

Exemplo de uso do controle em tempo de execução para recarregar o cache de configuração do proxy:

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R config_cache_reload

Exemplos de uso do controle em tempo de execução para coletar informações de diagnóstico:

Gather all available diagnostic information in the proxy log file:
       zabbix_proxy -R diaginfo
       
       Gather history cache statistics in the proxy log file:
       zabbix_proxy -R diaginfo=historycache

Exemplo de uso do controle em tempo de execução para recarregar o cache SNMP:

zabbix_proxy -R snmp_cache_reload  

Exemplo de uso do controle em tempo de execução para acionar a execução do housekeeping:

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R housekeeper_execute

Exemplos de uso do controle em tempo de execução para alterar o nível de log:

Increase log level of all processes:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase
       
       Increase log level of second poller process:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2
       
       Increase log level of process with PID 1234:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=1234
       
       Decrease log level of all http poller processes:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"
Usuário do processo

O proxy do Zabbix foi projetado para ser executado como um usuário não-root. Ele será executado como qualquer usuário não-root que o iniciar. Assim, você pode executar o proxy como qualquer usuário não-root sem problemas.

Se você tentar executá-lo como 'root', ele será alterado para o usuário 'zabbix', que deve estar presente no seu sistema. Você só pode executar o proxy como 'root' se modificar o parâmetro 'AllowRoot' no arquivo de configuração do proxy, conforme necessário.

Arquivo de configuração

Consulte as opções do arquivo de configuração configuration file para obter detalhes sobre como configurar o zabbix_proxy.

Tipos de processos do Proxy

  • availability manager - processo para atualizações de disponibilidade de hosts
  • configuration syncer - processo para gerenciar o cache de dados de configuração na memória
  • data sender - remetente de dados do proxy
  • discoverer - processo para descoberta de dispositivos
  • heartbeat sender - remetente de heartbeat do proxy
  • history poller - processo para lidar com verificações calculadas, agregadas e internas que exigem conexão com o banco de dados
  • history syncer - escritor do banco de dados de histórico
  • housekeeper - processo para remoção de dados históricos antigos
  • http poller - poller para monitoramento web
  • icmp pinger - poller para verificações de icmpping
  • ipmi manager - gerente de poller IPMI
  • ipmi poller - poller para verificações IPMI
  • java poller - poller para verificações Java
  • odbc poller - poller para verificações ODBC
  • poller - poller normal para verificações passivas
  • preprocessing manager - gerente de tarefas de pré-processamento
  • preprocessing worker - processo para pré-processamento de dados
  • self-monitoring - processo para coleta de estatísticas internas do servidor
  • snmp trapper - trapper para traps SNMP
  • task manager - processo para execução remota de tarefas solicitadas por outros componentes (por exemplo, fechar problema, reconhecer problema, verificar valor de item agora, funcionalidade de comando remoto)
  • trapper - trapper para verificações ativas, traps e comunicação do proxy
  • unreachable poller - poller para dispositivos inalcançáveis
  • vmware collector - coletor de dados VMware responsável pela coleta de dados dos serviços VMware

O arquivo de log do proxy pode ser usado para observar esses tipos de processos.

Vários tipos de processos do proxy Zabbix podem ser monitorados usando o item interno zabbix[process,<type>,<mode>,<state>] item.

Plataformas suportadas

O proxy Zabbix é executado na mesma lista de supported platforms que o servidor Zabbix.

Localidade

Observe que o proxy requer uma localidade (locale) em UTF-8 para que alguns itens textuais possam ser interpretados corretamente. A maioria dos sistemas modernos do tipo Unix já utiliza UTF-8 como padrão; no entanto, em alguns sistemas, pode ser necessário configurá-lo especificamente.