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:
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
O Zabbix Agent 2 é suportado nas seguintes plataformas:
Para instalar o Zabbix Agent 2, as seguintes opções estão disponíveis:
Windows:
Linux:
--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.
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:
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:
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.
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.