O agent 2 do Zabbix é uma nova geração do agent do Zabbix, escrito em Go (com algum código C reutilizado do agent do Zabbix). Ele foi projetado para:
O agent Zabbix 2 suporta checagens passivas e ativas, assim como o agent Zabbix. Além disso, as checagens ativas do agent Zabbix 2 suportam intervalos flexíveis/agendados e concorrência de checagens dentro de um único server ativo.
Por padrão, após uma reinicialização, o agent Zabbix 2 agendará a primeira coleta de dados para checagens ativas em um tempo condicionalmente aleatório dentro do intervalo de atualização do item para evitar picos no uso de recursos. Para executar checagens ativas que não possuem Agendamento intervalo de atualização imediatamente após a reinicialização do agent, defina o parâmetro ForceActiveChecksOnStart (nível global) ou Plugins.<Plugin name>.System.ForceActiveChecksOnStart (afeta apenas checagens de plugin específicas) no arquivo de configuração. O parâmetro em nível de plugin, se definido, substituirá o parâmetro global.
As verificações de diferentes plugins podem ser executadas simultaneamente. O número de verificações simultâneas dentro de um plugin é limitado pela configuração de capacidade do plugin. Cada plugin pode ter uma configuração de capacidade codificada (1000 por padrão) que pode ser reduzida usando a configuração Plugins.<PluginName>.System.Capacity=N no parâmetro de configuração Plugins.
Para plataformas suportadas, consulte a página de Requisitos.
O agent 2 do Zabbix em sistemas UNIX-like é executado no host que está sendo monitorado.
O agent Zabbix 2 pode ser instalado em sistemas baseados em Linux usando um dos seguintes métodos:
--enable-agent2. Observe que um ambiente Go configurado com uma versão Go suportada é necessário para compilar o agent Zabbix 2.O Zabbix agent 2 é executado como um processo em primeiro plano e depende de um gerenciador de serviços externo (por exemplo, systemd) para execução em segundo plano; O Zabbix agent 2 não possui suporte interno à execução como daemon no Linux.
O agent pode ser iniciado executando:
Para parar, reiniciar ou verificar o status do Zabbix agent 2, use os seguintes comandos:
Você pode iniciar o agent do Zabbix localizando o binário zabbix_agent2 e executando-o diretamente; por exemplo:
O agent 2 do Zabbix é executado como um processo independente; no entanto, também pode ser executado como um serviço do Windows.
O agent Zabbix 2 pode ser instalado no Windows usando um dos seguintes métodos:
As capacidades de monitoramento do agent Zabbix 2 podem ser estendidas com plugins. Enquanto os plugins embutidos estão disponíveis por padrão, plugins carregáveis no Windows devem ser instalados separadamente. Para mais informações, consulte Plugins carregáveis.
Consulte a página Agent Zabbix no Microsoft Windows para detalhes adicionais sobre como instalar o agent Zabbix 2 (a partir de um arquivo ZIP) como um serviço do Windows.
Os seguintes parâmetros de linha de comando podem ser usados com o Zabbix agent 2:
| 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_agent2.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 2\zabbix_agent2.conf |
| -f --foreground | Executa o Zabbix agent em primeiro plano (padrão: true). |
| -p --print | Imprime os items conhecidos e sai. Nota: Para retornar também os resultados de parâmetros de usuário, você deve especificar o arquivo de configuração (caso não esteja no local padrão). |
| -t --test <item key> | Testa o item especificado e sai. Nota: Para retornar também os resultados de parâmetros de usuário, você deve especificar o arquivo de configuração (caso não esteja no local padrão). |
| -T --test-config | Valida o arquivo de configuração e sai. |
| -h --help | Imprime informações de ajuda e sai. |
| -v --verbose | Imprime informações de depuração. Use esta opção com as opções -p e -t. |
| -V --version | Imprime a versão do agent e informações de licença. |
| -R --runtime-control <option> | Executa funções administrativas. Veja controle em tempo de execução. |
| Somente agent Windows | |
| -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 Hostname do arquivo de configuração especificado. |
| -S --startup-type <value> | Define o tipo de inicialização do serviço Zabbix agent para Windows. Valores permitidos:automatic - (padrão) inicia o serviço automaticamente na inicialização do Windows;delayed - atrasa o início do serviço após a conclusão da inicialização dos serviços iniciados automaticamente;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 Zabbix agent para Windows como serviço. |
| -d --uninstall | Desinstala o serviço Zabbix agent para Windows. |
| -s --start | Inicia o serviço Zabbix agent para Windows. |
| -x --stop | Para o serviço Zabbix agent para Windows. |
Exemplos específicos de uso de parâmetros de linha de comando:
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayedO controle em tempo de execução fornece algumas opções para controle remoto.
| Opção | Descrição |
|---|---|
| log_level_increase | Aumenta o nível de log. |
| log_level_decrease | Diminui o nível de log. |
| metrics | Lista as métricas disponíveis. |
| version | Exibe a versão do agent. |
| userparameter_reload | Recarrega os valores das opções UserParameter e Include do arquivo de configuração atual. |
| help | Exibe informações de ajuda sobre o controle em tempo de execução. |
Exemplos:
Os parâmetros de configuração do agent 2 são em sua maioria compatíveis com o agent do Zabbix, com algumas exceções.
| Novos parâmetros | Descrição |
|---|---|
| ControlSocket | O caminho do socket de controle em tempo de execução. O agent 2 usa um socket de controle para comandos em tempo de execução. |
| EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
Esses parâmetros são usados para configurar o armazenamento persistente no agent 2 para itens ativos. |
| ForceActiveChecksOnStart | Determina se o agent deve realizar verificações ativas imediatamente após a reinicialização ou distribuí-las uniformemente ao longo do tempo. |
| Plugins | Plugins podem ter seus próprios parâmetros, no formato Plugins.<Nome do Plugin>.<Parâmetro>=<valor>. Um parâmetro comum de plugin é System.Capacity, que define o limite de verificações que podem ser executadas ao mesmo tempo. |
| StatusPort | A porta em que o agent 2 ficará ouvindo para solicitações de status HTTP e exibição de uma lista de plugins configurados e alguns parâmetros internos |
| Parâmetros removidos | Descrição |
| AllowRoot, User | Não suportado porque a execução como daemon não é suportada. |
| LoadModule, LoadModulePath | Módulos carregáveis não são suportados. |
| StartAgents | Este parâmetro era usado no agent do Zabbix para aumentar a concorrência de verificações passivas ou desativá-las. No Agent 2, a concorrência é configurada no nível do plugin e pode ser limitada por uma configuração de capacidade. Já a desativação de verificações passivas não é suportada atualmente. |
| HostInterface, HostInterfaceItem | Ainda não suportado. |
Para mais detalhes, consulte as opções do arquivo de configuração para zabbix_agent2.
O agent Zabbix 2 também pode ser compilado com versões mais antigas do OpenSSL (1.0.1, 1.0.2).
Neste caso, o Zabbix fornece mutexes para bloqueio no OpenSSL. Se um bloqueio de mutex ou desbloqueio falhar, uma mensagem de erro é impressa no fluxo de erro padrão (STDERR) e o Agent 2 sai com o código de retorno 2 ou 3, respectivamente.