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
Se instalado como pacote, o proxy do Zabbix é executado como um processo daemon. O proxy pode ser iniciado executando:
Isso funcionará na maioria dos sistemas GNU/Linux. Em outros sistemas, você pode precisar executar:
Da mesma forma, para parar, reiniciar ou visualizar o status do proxy do Zabbix, use os seguintes comandos:
Se o método acima não funcionar, você precisará iniciá-lo manualmente. Encontre o caminho para o binário zabbix_proxy e execute:
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:
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:
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:
Exemplo de uso do controle em tempo de execução para acionar a execução do housekeeping:
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"
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.
availability manager
- processo para atualizações de disponibilidade de hostsconfiguration syncer
- processo para gerenciar o cache de dados de configuração na memóriadata sender
- remetente de dados do proxydiscoverer
- processo para descoberta de dispositivosheartbeat sender
- remetente de heartbeat do proxyhistory poller
- processo para lidar com verificações calculadas, agregadas e internas que exigem conexão com o banco de dadoshistory syncer
- escritor do banco de dados de históricohousekeeper
- processo para remoção de dados históricos antigoshttp poller
- poller para monitoramento webicmp pinger
- poller para verificações de icmppingipmi manager
- gerente de poller IPMIipmi poller
- poller para verificações IPMIjava poller
- poller para verificações Javaodbc poller
- poller para verificações ODBCpoller
- poller normal para verificações passivaspreprocessing manager
- gerente de tarefas de pré-processamentopreprocessing worker
- processo para pré-processamento de dadosself-monitoring
- processo para coleta de estatísticas internas do servidorsnmp trapper
- trapper para traps SNMPtask 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 proxyunreachable poller
- poller para dispositivos inalcançáveisvmware collector
- coletor de dados VMware responsável pela coleta de dados dos serviços VMwareO 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.
O proxy Zabbix é executado na mesma lista de supported platforms que o servidor Zabbix.
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.