4 Zabbix Agent 2 (UNIX)

Visão geral

O Zabbix Agent 2 é uma nova geração de agente Zabbix e pode ser usado no lugar do Zabbix Agent.

Esta seção lista os parâmetros suportados em um arquivo de configuração do Zabbix Agent 2 (zabbix_agent2.conf).

Observe que:

  • Os valores padrão refletem os padrões do processo, não os valores nos arquivos de configuração transportados;
  • O Zabbix suporta apenas arquivos de configuração codificados em UTF-8 sem BOM;
  • Comentários começando com "#" são suportados somente no início da linha.

Parâmetros

Parâmetro Obrigatório Intervalo Padrão Descrição
Alias não Configura um apelido para uma chave de item. Ele pode ser usado para substituir uma chave de item longa e complexa por uma menor e mais simples.
Múltiplos parâmetros Alias podem estar presentes. Múltiplos parâmetros com a mesma chave Alias são permitidos.
Diferentes chaves Alias podem referenciar a mesma chave de item.
Apelidos podem ser usados nos parâmetros HostMetadataItem mas não nos HostnameItem.

Exemplos:

1. Recuperando o ID do usuário 'zabbix'.
Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1]
Agora a chave abreviada zabbix.userid pode ser usada para recuperação deste dado.

2. Obtendo utilização de CPU com parâmetros padrão e customizados.
Alias=cpu.util:system.cpu.util
Alias=cpu.util[*]:system.cpu.util[*]
Isto permite usar a chave cpu.util para obter a porcentagem de utilização de CPU com parâmetros padrão assim como usar cpu.util[all, idle, avg15] para obter dados específicos sobre utilização de CPU.

3. Execução de múltiplas regras de descoberta de baixo-nível processando os mesmos itens descobertos.
Alias=vfs.fs.discovery[*]:vfs.fs.discovery
Agora é possível configurar várias regras de descoberta usando vfs.fs.discovery com parâmetros diferentes para cada regra, p.e., vfs.fs.discovery[foo], vfs.fs.discovery[bar], etc.
AllowKey não Permite execução das chaves de item que correspondem ao padrão. Padrão de chave é uma expressão curinga que suporta o caracter "*" para corresponder a qualquer número de quaisquer caracteres.
Múltiplas regras de correspondência de chave podem ser definidas em combinação com DenyKey. Os parâmetros são processados um por um de acordo com sua ordem de aparição.
Este parâmetro é suportado desde o Zabbix 5.0.0.
Veja também: Restringindo verificações do agente.
BufferSend não 1-3600 5 O intervalo de tempo em segundos que determina com que frequência os valores são enviados do buffer para o Zabbix Server.
Note que se o buffer estiver cheio, os dados serão enviados mais cedo.
BufferSize não 2-65535 100 Número máximo de valores em um buffer de memória. O agente enviará todos os dados coletados para o Zabbix Server ou Proxy se o buffer estiver cheio.
Este parâmetro deve ser usado apenas se o buffer persistente estiver desabilitado (EnablePersistentBuffer=0).
ControlSocket não /tmp/agent.sock O socket de controle, usado para enviar comandos de tempo de execução com a opção '-R'.
DebugLevel não 0-5 3 Especifica nível de depuração (debug):
0 - informações básicas sobre início e parada dos processos do Zabbix
1 - informações críticas
2 - informações de erro
3 - alertas
4 - para depuração (produz bastante informação)
5 - depuração estendida (produz ainda mais informações)
DenyKey não Nega a execução das chaves de item que correspondem ao padrão. Padrão de chave é uma expressão curinga que suporta o caracter "*" para corresponder a qualquer número de quaisquer caracteres.
Múltiplas regras de correspondência de chave podem ser definidas em combinação com DenyKey. Os parâmetros são processados um por um de acordo com sua ordem de aparição.
Este parâmetro é suportado desde o Zabbix 5.0.0.
Veja também: Restringindo verificações do agente.
EnablePersistentBuffer não 0-1 0 Habilita o uso de armazenamento local persistente para itens ativos.
0 - desabilitado
1 - habilitado
Se o armazenamento persistente estiver desabilitado, o buffer de memória será usado.
HostInterface não 0-255 caracteres Parâmetro opcional que define interface do host.
A interface do host é usada no processo de autoregistro de host.
Um agente emitirá um erro e não iniciará se o valor estiver acima do limite de 255 caracteres.
Se não definido, o valor será adquirido de HostInterfaceItem.
Suportado desde o Zabbix 4.4.0.
HostInterfaceItem não Parâmetro opcional que define um item usado para obtenção da interface do host.
A interface do host é usada no processo de autoregistro de host.
Durante uma requisição de autoregistro um agente registrará em log uma mensagem de alerta se o valor retornado pelo item especificado estiver acima do limite de 255 caracteres.
Esta opção é usada apenas quando HostInterface não é definido.
Suportado desde o Zabbix 4.4.0.
HostMetadata não 0-255 caracteres Parâmetro opcional que define os metadados do host. Os metadados de host são usados no processo de autoregistro.
Um agente emitirá um erro e não iniciará se o valor especificado estiver acima do limite ou for uma string não-UTF-8.
Se não definido, o valor será adquirido de HostMetadataItem.
HostMetadataItem não Parâmetro opcional que define um item usado para obtenção de metadados de host. O item de metadados de host é recuperado em cada tentativa de autoregistro para o processo de autoregistro de host.
Durante uma requisição de autoregistro um agente registrará em log uma mensagem de alerta se o valor retornado pelo item especificado estiver acima do limite de 255 caracteres.
Esta opção é usada apenas quando HostMetadata não é definido.
Suporta UserParameters e apelidos (aliases). Suporta system.run[] independentemente dos valores de AllowKey/DenyKey.
O valor retornado pelo item deve ser uma string UTF-8 caso contrário ele será ignorado.
Hostname não Configurado por HostnameItem Lista separada por vírgula de nomes de host únicos, sensíveis a maiúsculas e minúsculas.
Necessário para verificações ativas e deve corresponder aos nomes de host conforme configurado no Server. O valor é adquirido de HostnameItem se não definido.
Caracteres permitidos: alfanuméricos, '.', ' ', '_' e '-'.
Comprimento máximo: 128 caracteres por nome de host, 2048 caracteres para a linha inteira.
HostnameItem não system.hostname Item usado para geração do Hostname se ele não estiver definido. Ignorado se Hostname estiver definido.
Não suporta UserParameters ou apelidos, mas suporta system.run[] independentemente dos valores de AllowKey/DenyKey.
O comprimento de saída é limitado em 512KB.
Include não Você pode incluir arquivos individuais ou todos os arquivos de um diretório no arquivo de configuração.
Durante a instalação o Zabbix criará o diretório de include em /usr/local/etc, a menos que modificado durante o tempo de compilação.
Para incluir apenas arquivos relevantes no diretório especificado, o caracter curinga asterisco é suportado para correspondência de padrão. Por exemplo: /absolute/path/to/config/files/*.conf.
Desde o Zabbix 6.0.0 um caminho pode ser relativo à localização do arquivo zabbix_agent2.conf.
Consulte notas especiais sobre limitações.
ListenIP não 0.0.0.0 Lista separada por vírgula de endereços IP que o agente deve ouvir.
O primeiro endereço IP é enviado para o Zabbix Server, se conectando a ele, para recuperar a lista de verificações ativas.
ListenPort não 1024-32767 10050 O agente ouvirá nesta porta por conexões vindas do Server.
LogFile sim, se LogType estiver configurado como file, caso contrário
não
/tmp/zabbix_agent2.log Nome do arquivo de log se LogType for 'file'.
LogFileSize não 0-1024 1 Tamanho máximo do arquivo de log em MB.
0 - desabilita rotação de log automática.
Nota: Se o limite de tamanho de arquivo de log for alcançado e a rotação do arquivo falhar, por qualquer razão, o arquivo de log existente é truncado e iniciado outra vez.
LogType não file Especifica onde as mensagens de log são gravadas:
system - syslog,
file - arquivo especificado pelo parâmetro LogFile,
console - saída padrão.
PersistentBufferFile não O arquivo, onde o Zabbix Agent2 deve manter o banco de dados SQLite.
Deve ser um nome de arquivo completo.
Este parâmetro é usado apenas se o buffer persistente estiver habilitado (EnablePersistentBuffer=1).
PersistentBufferPeriod não 1m-365d 1h O período de tempo pelo qual o dado deve ser armazenado, quando não há conexão com o Server ou Proxy. Dados mais antigos serão perdidos. Dados de log serão preservados.
Este parâmetro é usado somente se o buffer persistente estiver habilitado (EnablePersistentBuffer=1).
PidFile não /tmp/zabbix_agent2.pid Nome do arquivo PID.
Plugins não Desde o Zabbix 6.0.0 a maioria dos plugins tem seus próprios arquivos de configuração. O arquivo de configuração contém os parâmetros de plugin listados abaixo.
Plugins.Log.MaxLinesPerSecond não 1-1000 20 Número máximo de novas linhas que o agente enviará por segundo para o Zabbix Server ou Proxy quando processando verificações ativas de 'log' e 'eventlog'.
O valor fornecido será sobrescrito pelo parâmetro 'maxlines',
provido na chave de item 'log' ou 'eventlog'.
Nota: O Zabbix processará 10 vezes mais novas linhas que o configurado em MaxLinesPerSecond para procurar a string requerida em itens de log.
Este parâmetro é suportado desde o 4.4.2 e substitui MaxLinesPerSecond.
Plugins.SystemRun.LogRemoteCommands não 0 Habilita registro de log de comandos shell executados como alertas.
0 - desabilitado
1 - habilitado
Comandos serão registrados em log apenas se executados remotamente. Entradas de log não serão criadas se system.run[] for lançado localmente pelos parâmetros HostMetadataItem, HostInterfaceItem ou HostnameItem.
Este parâmetro é suportado desde o 4.4.2 e substitui LogRemoteCommands.
RefreshActiveChecks não 60-3600 120 Com que frequência a lista de verificações ativas é atualizada, em segundos.
Note que após uma falha em atualizar as verificações ativas a próxima atualização será tentada após 60 segundos.
Server sim Lista separada por vírgula de endereços IP, opcionalmente em notação CIDR, ou nomes DNS de Zabbix Servers e Zabbix Proxies.
Conexões de entrada serão aceitas apenas a partir dos hosts listados aqui.
Se o suporte a IPv6 estiver habilitado então '127.0.0.1', '::ffff:127.0.0.1' são tratados igualmente e '::/0' permitirão qualquer endereço IPv4 ou IPv6.
'0.0.0.0/0' pode ser usado para permitir quaisquer endereços IPv4.
Exemplo: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
Espaços são permitidos.
ServerActive não Lista separada por vírgula de pares de endereços IP ou nome DNS (endereço:porta) ou clusters (endereço:porta;endereço2:porta) de Zabbix Servers e Zabbix Proxies para verificações ativas.
Nós de cluster devem ser separados por um ponto-e-vírgula.
Múltiplos endereços separados por vírgula podem ser fornecidos para usar vários Zabbix Servers independentes em paralelo. Espaços são permitidos.
Se porta não for especificada, a porta padrão é usada.
Endereços IPv6 devem ser envoltos por colchetes se a porta para o host for especificado.
Se a porta não for especificada, os colchetes para endereços IPv6 são opcionais.
Se este parâmetro não for especificado, verificações ativas são desabilitadas.
Exemplo para múltiplos Servers:
ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
Exemplo para alta disponibilidade:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3
Exemplo para alta disponibilidade com dois clusters e um Server:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain
SourceIP não Endereços IP de origem para:
- conexões de saída para o Zabbix Server ou Zabbix Proxy;
- criação de conexões quando executando alguns itens (web.page.get, net.tcp.port, etc.)
StatusPort não 1024-32767 Se configurado, o agente ouvirá nesta porta por requisições de estado HTTP (http://localhost:<porta>/status).
Timeout não 1-30 3 Gastar não mais do que Timeout segundos no processamento.
TLSAccept sim, se certificado TLS ou parâmetros PSK são definidos (mesmo para conexão não criptografada), caso contrário não Quais conexões de entrada aceitar. Usado para verificações passivas. Múltiplos valores podem ser especificados, separados por vírgula:
unencrypted - aceita conexões sem criptografia (padrão)
psk - aceita conexões com TLS e uma chave pré-compartilhada (PSK)
cert - aceita conexões com TLS e um certificado
TLSCAFile não Caminho completo de um arquivo contendo certificados CA(s) de topo-de-nível para verificação de pares de certificado, usado para comunicações criptografadas entre componentes Zabbix.
TLSCertFile não Caminho completo de um arquivo contendo os certificados de agente ou cadeia de certificado, usado para comunicações criptografadas com componentes Zabbix.
TLSConnect sim, se certificado TLS ou parâmetros PSK estão definidos (mesmo para conexões não criptografadas), caso contrário não Como o agente deve se conectar ao Zabbix Server ou Proxy. Usado para verificações ativas. Apenas um valor pode ser especificado:
unencrypted - conecta sem criptografia (padrão)
psk - conecta usando TLS e uma chave pré-compartilhada (PSK)
cert - conecta usando TLS e um certificado
TLSCRLFile não Caminho completo de um arquivo contendo certificados revogados. Este parâmetro é usado para comunicações criptografadas com componentes Zabbix.
TLSKeyFile não Caminho completo de um arquivo contendo a chave privada do agente usada para comunicações criptografadas com componentes Zabbix.
TLSPSKFile não Caminho completo de um arquivo contendo a chave pré-compartilhada do agente usada para comunicações criptografadas com componentes Zabbix.
TLSPSKIdentity não String de identidade de chave pré-compartilhada, usada para comunicações criptografadas com o Zabbix Server.
TLSServerCertIssuer não Emissor de certificado de Server (Proxy) permitido.
TLSServerCertSubject não Cliente de certificado de Server (Proxy) permitido.
UnsafeUserParameters não 0,1 0 Permite que todos os caracteres sejam passados em argumentos para parâmetros definidos por usuário.
Os seguintes caracteres não são permitidos:
\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
Adicionalmente, caracteres de nova linha não são permitidos.
UserParameter não Parâmetro definido por usuário para monitoramento. Podem existir vários parâmetros definidos por usuário.
Formato: UserParameter=<chave>,<comando shell>
Note que o comando shell não deve retornar uma string vazia ou apenas EOL.
Comandos shell podem ter caminhos relativos, se o parâmetro UserParameterDir for especificado.
Exemplos:
UserParameter=system.test,who|wc -l
UserParameter=check_cpu,./custom_script.sh
UserParameterDir não Caminho de busca padrão para comandos UserParameter. Se usado, o agente alterará seu diretório de operação para o especificado aqui antes da execução de um comando. Deste modo, comandos UserParameter podem ter um prefixo relativo ./ em vez de um caminho completo.
Apenas uma entrada é permitida.
Exemplo: UserParameterDir=/opt/myscripts