2 Agent
Visão geral
O agent Zabbix é implantado em um alvo de monitoramento para monitorar ativamente recursos e aplicativos locais (discos rígidos, memória, estatísticas do processador, etc.).
O agent coleta informações operacionais localmente e relata os dados ao server Zabbix para processamento posterior. Em caso de falhas (como um disco rígido cheio ou um processo de serviço travado), o server Zabbix pode alertar ativamente os administradores da máquina específica que relatou a falha.
Os agents Zabbix são altamente eficientes devido ao uso de chamadas nativas do sistema para coletar informações estatísticas.
Checagens passivas e ativas
Os agents do Zabbix podem realizar checagens passivas e ativas:
- Checagens passivas - O agent do Zabbix responde a uma solicitação do server (ou proxy) do Zabbix. Por exemplo, o server solicita dados (por exemplo, carga da CPU) e o agent retorna o resultado.
- Checagens ativas - O agent do Zabbix coleta e envia dados sem esperar por uma solicitação do server (ou proxy) do Zabbix. Primeiro, ele recupera uma lista de items de monitoramento do server (carga da CPU, memória disponível, etc.), depois coleta os dados necessários e periodicamente envia novos valores de volta para ele.
O tipo de checagem do agent é configurado selecionando o respectivo tipo de item de monitoramento. O agent do Zabbix processa items do tipo "Zabbix agent" ou "Zabbix agent (active)".
Plataformas suportadas
Para plataformas suportadas, consulte a página de Requisitos.
Agent em sistemas UNIX-like
O agent do Zabbix em sistemas UNIX-like é executado no host que está sendo monitorado.
Instalação
O agent do Zabbix pode ser instalado em sistemas baseados em Linux usando um dos seguintes métodos:
- Pacotes Zabbix - selecione o componente Agent (após selecionar sua versão do Zabbix, distribuição do SO e versão do SO) e siga as instruções fornecidas.
- Fontes do Zabbix - baixe os arquivos fonte e compile o agent do Zabbix configurando as fontes com a opção
--enable-agent.
Em geral, agents Zabbix de 32 bits funcionarão em sistemas de 64 bits, mas podem falhar em alguns casos.
Binários pré-compilados do agent Zabbix estão disponíveis para download para macOS, IBM AIX, FreeBSD, OpenBSD e Solaris. Binários legados, compatíveis com a versão atual do server/proxy Zabbix, estão disponíveis para NetBSD e HP-UX.
Se instalado como pacote
O agent do Zabbix é executado como um processo daemon. O agent pode ser iniciado executando:
systemctl start zabbix-agent
Isso funcionará na maioria dos sistemas GNU/Linux. Em outros sistemas, pode ser necessário executar:
/etc/init.d/zabbix-agent start
Para parar, reiniciar ou verificar o status do agent do Zabbix, use os seguintes comandos:
systemctl stop zabbix-agent
systemctl restart zabbix-agent
systemctl status zabbix-agent
Iniciar manualmente
Você pode iniciar o agent do Zabbix localizando o binário zabbix_agentd e executando-o diretamente; por exemplo:
zabbix_agentd
Agent em sistemas Windows
O Zabbix Agent no Windows é executado como um Serviço do Windows.
Instalação
O agent Zabbix pode ser instalado no Windows usando um dos seguintes métodos:
- Binários pré-compilados do agent Zabbix - baixe o pacote do instalador MSI do agent Zabbix e siga as instruções na página Instalação do agent Windows a partir do MSI.
- Fontes do Zabbix - baixe os arquivos fonte e siga as instruções na página Compilando o agent Zabbix no Windows.
Consulte a página Agent Zabbix no Microsoft Windows para obter detalhes adicionais sobre a instalação do agent Zabbix (a partir de um arquivo ZIP) como um serviço do Windows.
Opções
É possível executar várias instâncias do agent em um host. Uma única instância pode usar o arquivo de configuração padrão ou um arquivo de configuração especificado na linha de comando. No caso de múltiplas instâncias, cada instância do agent deve ter seu próprio arquivo de configuração (uma das instâncias pode usar o arquivo de configuração padrão).
Os seguintes parâmetros de linha de comando podem ser usados com o agent Zabbix:
| Parâmetro | Descrição |
|---|---|
| agent UNIX e Windows | |
| -c --config <config-file> | Caminho para o arquivo de configuração. Você pode usar esta opção para especificar um arquivo de configuração que não seja o padrão. No UNIX, o padrão é /usr/local/etc/zabbix_agentd.conf ou conforme definido pelas variáveis de tempo de compilação --sysconfdir ou --prefix No Windows, o padrão é C:\Program Files\Zabbix Agent\zabbix_agentd.conf |
| -f --foreground | Executa o agent Zabbix em primeiro plano (padrão: true). |
| -p --print | Imprime os items conhecidos e sai. Nota: Para retornar também os resultados de user parameter, você deve especificar o arquivo de configuração (se não estiver no local padrão). |
| -t --test <item key> | Testa o item especificado e sai. Nota: Para retornar também os resultados de user parameter, você deve especificar o arquivo de configuração (se não estiver no local padrão). |
| -T --test-config | Valida o arquivo de configuração e sai. |
| -h --help | Exibe informações de ajuda. |
| -V --version | Exibe o número da versão. |
| agent UNIX apenas | |
| -R --runtime-control <option> | Executa funções administrativas. Veja runtime control. |
| agent Windows apenas | |
| -m --multiple-agents | Usa múltiplas instâncias do agent (com as opções -i, -d, -s, -x). Para distinguir os nomes dos serviços das instâncias, cada nome de serviço incluirá o valor de Hostname do arquivo de configuração especificado. |
| -S --startup-type <value> | Define o tipo de inicialização do serviço agent Zabbix para Windows. Valores permitidos:automatic - (padrão) inicia o serviço automaticamente na inicialização do Windows;delayed - atrasa a inicialização do serviço após a conclusão da inicialização dos serviços iniciados automaticamente (disponível no Windows Server 2008/Vista e versões posteriores);manual - inicia o serviço manualmente (por um usuário ou aplicativo);disabled - desativa o serviço, para que não possa ser iniciado por um usuário ou aplicativo.Você pode usar esta opção junto com a opção -i, ou separadamente para modificar o tipo de inicialização de um serviço já instalado. |
| -i --install | Instala o agent Zabbix para Windows como serviço. |
| -d --uninstall | Desinstala o serviço agent Zabbix para Windows. |
| -s --start | Inicia o serviço agent Zabbix para Windows. |
| -x --stop | Para o serviço agent Zabbix para Windows. |
Exemplos específicos de uso de parâmetros de linha de comando:
- imprimir todos os items internos do agent com valores
- testar um user parameter com a chave "mysql.ping" definida no arquivo de configuração especificado
- instalar um serviço "Zabbix Agent" para Windows usando o caminho padrão para o arquivo de configuração C:\Program Files\Zabbix Agent\zabbix_agentd.conf
- instalar um serviço "Zabbix Agent [Hostname]" para Windows usando o arquivo de configuração zabbix_agentd.conf localizado na mesma pasta que o executável do agent e tornando o nome do serviço único, estendendo-o pelo valor de Hostname do arquivo de configuração
- modificar o tipo de inicialização de um serviço "Zabbix Agent" já instalado para Windows usando o arquivo de configuração zabbix_agentd.conf localizado na mesma pasta que o executável do agent
zabbix_agentd --print
zabbix_agentd -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agentd.exe -i
zabbix_agentd.exe -i -m -c zabbix_agentd.conf
zabbix_agentd.exe -c zabbix_agentd.conf -S delayed
Controle em tempo de execução
Com as opções de controle em tempo de execução, você pode alterar o nível de log dos processos do agent.
| Opção | Descrição | Alvo |
|---|---|---|
| log_level_increase[=<alvo>] | Aumenta o nível de log. Se o alvo não for especificado, todos os processos serão afetados. |
O alvo pode ser especificado como: tipo de processo - todos os processos do tipo especificado (por exemplo, listener) Veja todos os tipos de processos do agent. tipo de processo,N - tipo de processo e número (por exemplo, listener,3) pid - identificador do processo (1 a 65535). Para valores maiores, especifique o alvo como 'tipo-de-processo,N'. |
| log_level_decrease[=<alvo>] | Diminui o nível de log. Se o alvo não for especificado, todos os processos serão afetados. |
|
| userparameter_reload | Recarrega os valores das opções UserParameter e Include do arquivo de configuração atual. |
Exemplos:
- aumentando o nível de log de todos os processos
- aumentando o nível de log do terceiro processo listener
- aumentando o nível de log do processo com PID 1234
- diminuindo o nível de log de todos os processos de active check
zabbix_agentd -R log_level_increase
zabbix_agentd -R log_level_increase=listener,3
zabbix_agentd -R log_level_increase=1234
zabbix_agentd -R log_level_decrease="active checks"
O controle em tempo de execução não é suportado no OpenBSD, NetBSD e Windows.
Tipos de processos do agent
active checks- processo para realizar verificações ativascollector- processo para coleta de dadoslistener- processo para escutar verificações passivas
O arquivo de log do agent pode ser usado para observar esses tipos de processos.
Desde o Zabbix 7.0.22, o arquivo de log do agent é criado com permissões de leitura e gravação apenas para o proprietário do arquivo. Além disso, o arquivo é legível pelo grupo do proprietário. Todas as outras permissões são negadas.
Usuário do processo
O agent do Zabbix em UNIX 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. Portanto, você pode executar o agent como qualquer usuário não-root sem problemas.
Se você tentar executá-lo como 'root', ele mudará para o usuário 'zabbix' (pré-definido), que deve estar presente no seu sistema. Você só pode executar o agent como 'root' se modificar o parâmetro 'AllowRoot' no arquivo de configuração do agent de acordo.
Arquivo de configuração
Para obter detalhes sobre a configuração do agent Zabbix, consulte as opções do arquivo de configuração para zabbix_agentd ou agent para Windows.
Localidade
Observe que o agent requer uma localidade UTF-8 para que alguns itens textuais do agent possam retornar o conteúdo esperado. A maioria dos sistemas modernos semelhantes ao Unix possui uma localidade UTF-8 como padrão, no entanto, existem alguns sistemas onde isso pode precisar ser definido especificamente.
Código de saída
O agent retorna 0 em caso de saída bem-sucedida e 1 em caso de falha.