Esta é uma tradução da página de documentação original em inglês. Ajude-nos a torná-la melhor.

3 Agente 2

Visão geral

O Zabbix Agent 2 é uma nova geração do agente Zabbix e pode ser usado no lugar do agente Zabbix tradicional. O Zabbix Agent 2 foi desenvolvido para:

  • reduzir o número de conexões TCP
  • melhorar a concorrência das verificações
  • ser facilmente extensível com plugins, que devem ser capazes de:
    • fornecer verificações triviais consistindo em apenas algumas linhas simples de código
    • fornecer verificações complexas consistindo em scripts de longa duração e coleta de dados autônoma com envio periódico dos dados
  • ser um substituto direto do Zabbix agent (suportando toda a funcionalidade anterior)

O Agent 2 é escrito na linguagem de programação Go (com algum código C do agente Zabbix reutilizado). Um ambiente Go configurado com uma versão suportada do Go version é necessário para compilar o Zabbix Agent 2.

O Agent 2 não possui suporte para daemonização no Linux; ele pode ser executado como um Windows service.

As verificações passivas funcionam de maneira similar ao agente Zabbix tradicional. As verificações ativas suportam intervalos flexíveis/agendados e concorrência de verificações dentro de um servidor ativo.

Por padrão, o Zabbix Agent 2 agendará a primeira coleta de dados para verificações ativas em um horário condicionalmente aleatório dentro do intervalo de atualização do item para evitar picos de uso de recursos. Para realizar verificações ativas que não possuem intervalos de atualização Agendados update intervals imediatamente após o reinício do agente, configure o parâmetro ForceActiveChecksOnStart (em nível global) ou Plugins.<Plugin name>.System.ForceActiveChecksOnStart (que afeta apenas verificações específicas de plugins) no arquivo de configuração configuration file. O parâmetro em nível de plugin, se configurado, substituirá o parâmetro global. A forçagem de verificações ativas no início é suportada desde o Zabbix 6.0.2.

Concorrência de verificações

Verificações de plugins diferentes 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 predefinida (100 sendo o padrão) que pode ser reduzida usando a configuração Plugins.<PluginName>.System.Capacity=N no Plugins configuração do parâmetro parameter. O nome anterior deste parâmetro Plugins.<PluginName>.Capacity ainda é suportado, mas foi descontinuado no Zabbix 6.0.

Veja também: Plugin development guidelines

Plataformas suportadas

O Zabbix Agent 2 é suportado nas seguintes plataformas:

Instalação

Para instalar o Zabbix Agent 2, as seguintes opções estão disponíveis:

Windows:

Linux:

  • A partir de pacotes de distribuição - siga as instruções na página de Zabbix packages, disponível escolhendo sua distribuição e o componente Agent 2
  • A partir de fontes - veja Installation from sources; note que você deve configurar as fontes especificando a opção de configuração --enable-agent2 .

As capacidades de monitoramento do Zabbix Agent 2 podem ser estendidas com plugins. Enquanto os plugins integrados estão disponíveis prontos para uso, os plugins carregáveis devem ser instalados separadamente. Para mais informações, veja Plugins.

Opções

Os seguintes parâmetros de linha de comando podem ser usados com o Zabbix Agent 2:

Parâmetro Descrição
-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 emcompile-time --sysconfdir ou --prefix
-f --foreground Executar o Zabbix Agent em primeiro plano (padrão: true).
-p --print Imprimir itens conhecidos e sair.
Nota: Para retornar os resultados dos user parameter, você deve especificar o arquivo de configuração (se não estiver na localização padrão).
-t --test <item key> Testar o item especificado e sair.
Nota: Para retornar os resultados dos user parameter, você deve especificar o arquivo de configuração (se não estiver na localização padrão).
-h --help Imprimir informações de ajuda e sair.
-v --verbose Imprimir informações de debugging. Use esta opção com as opções -p e -t.
-V --version Imprimir a versão do agente e informações da licença.
-R --runtime-control <option> Executar funções administrativas. Veja runtime control.

Exemplos específicos de uso dos parâmetros de linha de comando:

  • Imprimir todos os itens internos do agente com valores
  • Testar um parâmetro de usuário com a chave "mysql.ping" definida no arquivo de configuração especificado
zabbix_agent2 --print
       zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
Controle de tempo de execução

O controle de tempo de execução oferece 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 agente.
userparameter_reload Recarrega os valores das opções UserParameter e Include a partir do arquivo de configuração atual.
help Exibe informações de ajuda sobre o controle de tempo de execução.

Exemplos:

  • aumentando o nível de log para o agente 2
  • exibindo opções de controle de tempo de execução
zabbix_agent2 -R log_level_increase
       zabbix_agent2 -R help

Arquivo de configuração

Os parâmetros de configuração do agente 2 são, em grande parte, compatíveis com o agente Zabbix, com algumas exceções.

Novos parâmetros Descrição
ControlSocket O caminho do socket de controle de tempo de execução. O agente 2 utiliza um socket de controle para comandos de execução runtime commands.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Esses parâmetros são usados para configurar o armazenamento persistente no agente 2 para itens ativos.
ForceActiveChecksOnStart Determina se o agente deve realizar verificações ativas imediatamente após reiniciar ou se devem ser distribuídas ao longo do tempo. Suportado desde o Zabbix 6.0.2.
Plugins Os plugins podem ter seus próprios parâmetros, no formato Plugins.<Plugin name>.<Parameter>=<value>. Um parâmetro comum do plugin é System.Capacity, que define o limite de verificações que podem ser executadas ao mesmo tempo.
StatusPort A porta que o agente 2 estará escutando 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 suportados 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 agente Zabbix para aumentar a concorrência de verificações passivas ou desativá-las. No Agente 2, a concorrência é configurada em nível de plugin e pode ser limitada por uma configuração de capacidade. No entanto, a desativação de verificações passivas não é atualmente suportada.
HostInterface, HostInterfaceItem Ainda não suportados.

Para mais detalhes, consulte as opções de arquivo de configuração para zabbix_agent2.

Códigos de saída

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, 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.