O Zabbix Agent 2 é uma nova geração do agente Zabbix e pode ser usado no lugar do Zabbix Agent. O Zabbix Agent 2 foi desenvolvido para:
O Agent 2 é escrito em Go (com algum código em C reutilizado do Zabbix Agent). Um ambiente Go configurado com uma versão de Go atualmente suportada é necessário para compilar o Zabbix Agent 2.
O Agent 2 não possui suporte nativo a execução com deamon (daemonization) no Linux; ele pode ser executado como um serviço do Windows.
Verificações passivas funcionam de forma similar ao Zabbix Agent. As verificações ativas suportam intervalos agendados/flexíveis e concorrência de verificação em um Server ativo.
Concorrência de verificação
Verificações de diferentes plugins podem ser executadas de forma concorrente. O número de verificações concorrentes dentro de um plugin é limitada pela configuração de capacidade do plugin. Cada plugin pode ter uma configuração de capacidade fixada em código (sendo 100 o padrão) que pode ser diminuída usando a configuração Plugins.<Plugin name>.Capacity=N
no parâmetro de configuração Plugins.
Veja também: Orientações para desenvolvimento de plugin.
Passive checks work similarly to Zabbix agent. Active checks support scheduled/flexible intervals and check concurrency within one active server.
By default, after a restart, Zabbix agent 2 will schedule the first data collection for active checks at a conditionally random time within the item's update interval to prevent spikes in resource usage. To perform active checks that do not have Scheduling update interval immediately after the agent restart, set ForceActiveChecksOnStart
parameter (global-level) or Plugins.<Plugin name>.System.ForceActiveChecksOnStart
(affects only specific plugin checks) in the configuration file. Plugin-level parameter, if set, will override the global parameter. Forcing active checks on start is supported since Zabbix 6.0.2.
Checks from different plugins can be executed concurrently. The number of concurrent checks within one plugin is limited by the plugin capacity setting. Each plugin may have a hardcoded capacity setting (100 being default) that can be lowered using the Plugins.<PluginName>.System.Capacity=N
setting in the Plugins configuration parameter. Former name of this parameter Plugins.<PluginName>.Capacity
is still supported, but has been deprecated in Zabbix 6.0.
O Agent 2 é suportado pelas plataformas Linux e Windows.
Se instalando a partir dos pacotes, o Agent 2 é suportado em:
No Windows o Agent 2 é suportado em:
O Zabbix Agent 2 está disponível em pacotes pré-compilados. Para compilar o Zabbix Agent 2 a partir dos fontes você tem que especificar a opção de configuração --enable-agent2
.
Os seguintes parâmetros de linha de comando podem ser usados com o Zabbix Agent 2:
Parâmetro | Descrição |
---|---|
-c --config <arquivo-configuração> | Caminho para o arquivo de configuração. Você pode usar esta opção para informar um arquivo de configuração que não é o arquivo padrão. No UNIX, o padrão é /usr/local/etc/zabbix_agent2.conf ou como configurado pelas variáveis de tempo de compilação --sysconfdir ou --prefix |
-f --foreground | Executa o agente ao fundo (foreground) (padrão: true (verdadeiro)). |
-p --print | Apresenta itens conhecidos e sai. Nota: Para retornar os resultados de parâmetro do usuário também, você deve especificar o arquivo de configuração (caso ele não esteja na localização padrão). |
-t --test <item key> | Testa o item especificado e sai. Nota: Para retornar os resultados de parâmetro do usuário também, você deve especificar o arquivo de configuração (caso ele não esteja na localização padrão). |
-h --help | Apresenta informações de ajuda e sai. |
-v --verbose | Apresenta informações de depuração (debugging). Use esta opção com as marcações -p e -t. |
-V --version | Apresenta o número de versão do agente e sai. |
-R --runtime-control <option> | Executa funções administrativas. Veja controle em tempo de execução. |
Exemplos específicos de utilização de parâmetros de linha de comando:
O controle em tempo de execução fornece algumas opções para controle remoto.
Opção | Descrição |
---|---|
log_level_increase | Aumenta nível de log. |
log_level_decrease | Diminui nível de log. |
metrics | Lista de métricas disponíveis. |
version | Exibe versão do agente. |
userparameter_reload | Recarrega parâmetros de usuário do arquivo de configuração atual. Note que o UserParameter é única opção de configuração do agente que será recarregada. |
help | Exibe informações de ajuda sobre controle em tempo de execução. |
Exemplos:
Os parâmetros de configuração do Agent 2 são predominantemente compatíveis com o Zabbix Agent com algumas exceções.
Novos parâmetros | Descrição |
---|---|
ControlSocket | O caminho para o 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 |
Estes parâmetros são usados para configurar o armazenamento persistente no Agent 2 para itens ativos. |
Plugins | Plugins podem ter seus próprios parâmetros, no formato Plugins.<Nome do plugin>.<Parâmetro>=<valor> . Um parâmetro de plugin comum é Capacity (capacidade), configurando o limite de verificações que podem ser executadas ao mesmo tempo. |
StatusPort | A porta na qual o Agent 2 aguardará comunicação (listening) para requisições de estado HTTP e exibição de uma lista de plugins configurados e alguns parâmetros internos |
Parâmetros descontinuados | Descrição |
AllowRoot, User | Não suportado porque operação como daemon (daemonization) não é suportada. |
LoadModule, LoadModulePath | Módulos carregáveis não são suportados. |
StartAgents | Este parâmetro era usado no Zabbix Agent para aumentar a concorrência de verificações passivas ou desabilitá-los. No Agent 2, a concorrência é configurada no nível do plugin e pode ser limitada por uma configuração de capacidade. Considerando que desabilitar verificações passivas não é atualmente suportado. |
HostInterface, HostInterfaceItem | Não suportado ainda. |
Para mais detalhes veja as opções do arquivo de configuração para zabbix_agent2.
A partir da versão 4.4.8 o Zabbix Agent 2 também pode ser compilado com versões mais antigas do OpenSSL (1.0.1, 1.0.2).
Neste caso o Zabbix oferece mutexes para travamento no OpenSSL. Se um travamento ou destravamento mutex falhar então uma mensagem de erro é apresentada na saída de erro padrão (STDERR) e o Agent 2 sai com código de erro 2 ou 3, respectivamente.