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

3 Agente Zabbix (UNIX)

Visão geral

Esta seção lista os parâmetros suportados em um arquivo de configuração do Zabbix Agent (zabbix_agentd.conf). Note que:

  • Os valores padrão refletem os padrões do daemon, não os valores nos arquivos de configuração transportados;
  • O Zabbix suporta apenas arquivos de configuração com codificação UTF-8 sem BOM;
  • Comentários começando com "#" são suportados apenas 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 com uma menor e mais simples.
Múltiplos parâmetros Alias podem estar presente. 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 em 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 recuperar dados.

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 utilizar a chave cpu.util para obter a porcentagem de utilização de CPU com parâmetros padrão bem 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 diferentes parâmetros para cada regra, p.e., vfs.fs.discovery[foo], vfs.fs.discovery[bar], etc.
AllowKey não Permite a execução daquelas chaves de item que correspondem a um padrão. Padrão de chave é uma expressão curinga que suporta o caracter "*" representando 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.
AllowRoot não 0 Permite que o agente seja executado como 'root'. Se desabilitado e o agente for iniciado pelo 'root', o agente tentará trocar para o usuário 'zabbix'. Não tem efeito se iniciado com um usuário regular.
0 - não permitir
1 - permitir
BufferSend não 1-3600 5 Não manter dados por mais do que N segundos no buffer.
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.
DebugLevel não 0-5 3 Especifica o nível de depuração (debug):
0 - informações básicas sobre início e parada de processos 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ção)
DenyKey não Nega a execução daquelas chaves de item que correspondem a um padrão. Padrão de chave é uma expressão curinga que suporta o caracter "*" representando qualquer número de quaisquer caracteres.
Múltiplas regras de correspondência de chave podem ser definidas em combinação com AllowKey. 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.
EnableRemoteCommands não 0 Define se comandos remotos do Zabbix Server são permitidos. Este parâmetro é obsoleto, em vez disso use AllowKey=system.run[*] ou DenyKey=system.run[*]
É um apelido interno para os parâmetros AllowKey/DenyKey dependendo do valor: 0 - DenyKey=system.run[*]
1 - AllowKey=system.run[*]
HostInterface não 0-255 caracteres Parâmetro opcional que define interface de host.
Interface do host é usada no processo de autoregistro.
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 de interface de host.
Interface do host é usada no processo de autoregistro.
Durante uma requisição de autoregistro um agente registrará em log uma mensagem de alerta se o valor retornado pelo item especificado estiver acima de 255 caracteres.
Esta opção é usada apenas quando HostInterface não estiver definido.
Suportado desde o Zabbix 4.4.0.
HostMetadata não 0-255 caracteres Parâmetro opcional que define metadado do host. O metadado do host é usado apenas no processo de autoregistro (agente ativo).
Se não definido, o valor será obtido de HostMetadataItem.
Um agente emitirá um erro e não iniciará se o valor especificado estiver acima do limite ou uma string não-UTF-8.
HostMetadataItem não Parâmetro opcional que define a item Zabbix Agent usado para obtenção de metadado de host. Esta opção é usada apenas quanto HostMetadata não é definido.
Suporta UserParameters e apelidos (aliases). Suporta system.run[] independente dos valores de AllowKey/DenyKey.
O valor de HostMetadataItem é recuperado em cada tentativa de autoregistro e é usado somente no processo de autoregistro do host (agente ativo).
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.
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 configurados no Server. O valor é adquirido de HostnameItem se não definido.
Caracteres permitidos: alfanumérico, '.', ' ', '_' e '-'.
Comprimento máximo: 128 caracteres por nome de host, 2048 caracteres para a linha inteira.
HostnameItem não system.hostname Parâmetro opcional que define um item Zabbix Agent usado para obtenção de nome de host. Esta opção é usada apenas quando Hostname não for definido.
Não suporta UserParameters ou apelidos (aliases), mas suporta system.run[] independente 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.
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.
Consulte notas especiais sobre limitações.
ListenBacklog não 0 - INT_MAX SOMAXCONN O número máximo de conexões pendentes na fila TCP.
O valor padrão é uma constante gravada em código, que depende do sistema.
O valor máximo suportado depende do sistema, valores muito altos podem ser silenciosamente truncados para o 'máximo especificado na implementação'.
ListenIP não 0.0.0.0 Lista separada por vírgula de endereços IP que o agente deve ouvir.
Múltiplos endereços IP são suportados na versão 1.8.3 e superior.
ListenPort não 1024-32767 10050 O Agent ouvirá nesta porta por conexões do Server.
LoadModule não Módulo para carregar na inicialização do agente. Módulos são usados para estender a funcionalidade do agente.
Formatos:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
Ou o módulo deve estar localizado no diretório especificado por LoadModulePath ou o caminho deve preceder o nome do módulo. Se o caminho precedente for absoluto (começa com '/') então LoadModulePath é ignorado.
É permitido incluir múltiplos parâmetros LoadModule.
LoadModulePath não Caminho completo para a localização dos módulos do agente.
O padrão depende das opções de compilação.
LogFile sim, se LogType estiver configurado para file (arquivo), caso contrário
não
Nome do arquivo de log.
LogFileSize não 0-1024 1 Tamanho máximo do arquivo de log em MB.
0 - desabilita rotação automática de log.
Nota: Se o limite de tamanho de arquivo de log for alcançado e a rotação de arquivo falhar, por qualquer razão, o arquivo existente é truncado e iniciado outra vez.
LogType não file Tipo de saída de log:
file - grava o log em um arquivo especificado pelo parâmetro LogFile,
system - grava o log no syslog,
console - grava o log na saída padrão.
Este parâmetro é suportado desde o Zabbix 3.0.0.
LogRemoteCommands não 0 Habilita o registro em log dos 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 pelo parâmetro HostMetadataItem, HostInterfaceItem ou HostnameItem parameters.
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 processanto verificações ativas de 'log' e 'eventlog'.
O valor fornecido será sobrescrito pelo parâmetro 'maxlines',
fornecido na chave de item 'log' ou 'eventlog'.
Nota: O Zabbix processará 10 vezes mais novas linhas do que configurado em MaxLinesPerSecond para procurar pela string requisitada nos itens de log.
PidFile não /tmp/zabbix_agentd.pid Nome do arquivo PID.
RefreshActiveChecks não 60-3600 120 Com que frequência a lista de verificações ativas é atualizada, em segundos.
Note que após falhar em atualizar as verificações ativas a próxima atualização será tentada após 60 segundos.
Server sim, se StartAgents não estiver configurado explicitamente como 0 Lista separada por vírgula de endereços IP, opcionalmente em notação CIDR, ou nomes de host de Zabbix Servers e Zabbix Proxies.
Conexões de entrada serão aceitas apenas dos host listados aqui.
Se o suporte a IPv6 estiver habilitado então '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' são tratados igualmente e '::/0' permitirá qualquer endereço IPv4 ou IPv6.
'0.0.0.0/0' pode ser usado para permitir qualquer endereço IPv4.
Note que "endereços IPv6 compatíveis com IPv4" (0000::/96 prefix) são suportados mas obsoletos pela RFC4291.
Exemplo: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain
Espaços são permitidos.
ServerActive não Lista separada por vírgula de pares de endereços IP ou nomes 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 uma 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 especificada.
Se porta não for especificada, colchetes para endereços IPv6 são opcionais.
Se este parâmetro não for especificado, verificações ativas estã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ço IP de origem para:
- conexões de saída para Zabbix Server ou Zabbix Proxy;
- criação de conexões enquanto executando alguns itens (web.page.get, net.tcp.port, etc.)
StartAgents não 0-100 3 Número de instâncias separadas (pre-forked) do zabbix_agentd que processa verificações passivas.
Se configurado como 0, desabilita verificações passivas e o agente não ouvirá em nenhuma porta TCP.
Timeout não 1-30 3 Gaste 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 chave pré-compartilhada (PSK)
cert - aceita conexões com TLS e um certificado
Este parâmetro é suportado desde o Zabbix 3.0.0.
TLSCAFile não Caminho completo de um arquivo contendo os certificados CA(s) de topo-de-nível para verificação de pares de certificado, usado para comunicações criptografadas entre componentes Zabbix.
Este parâmetro é suportado desde o Zabbix 3.0.0.
TLSCertFile não Caminho completo de um arquivo contendo o certificado de agente ou cadeia de certificado, usado para comunicações criptografadas com componentes Zabbix.
Este parâmetro é suportado desde o Zabbix 3.0.0.
TLSCipherAll não String de prioridade GnuTLS ou string de cifra OpenSSL (TLS 1.2). Sobrescreve o critério de seleção de suíte de cifra padrão para criptografia baseada em certificado e PSK.
Exemplo: TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
Este parâmetro é suportado desde o Zabbix 4.4.7.
TLSCipherAll13 não String de cifra para OpenSSL 1.1.1 ou mais recente em TLS 1.3. Sobrescreve o critério de seleção de suíte de cifra padrão para criptografia baseada em certificado e PSK.
Exemplo para GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL::+SIGN-ALL:+CTYPE-X.509
Exemplo para OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128
Este parâmetro é suportado desde o Zabbix 4.4.7.
TLSCipherCert não String de prioridade GnuTLS ou string de cifra OpenSSL (TLS 1.2). Sobrescreve o critério de seleção de suíte de cifra padrão para criptografia baseada em certificado.
Exemplo para GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509
Exemplo para OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128
Este parâmetro é suportado desde o Zabbix 4.4.7.
TLSCipherCert13 não String de cifra para OpenSSL 1.1.1 ou mais recente em TLS 1.3. Sobrescreve o critério de seleção de suíte de cifra padrão para criptografia baseada em certificado.
Este parâmetro é suportado desde o Zabbix 4.4.7.
TLSCipherPSK não String de prioridade GnuTLS ou string de cifra OpenSSL (TLS 1.2). Sobrescreve o critério de seleção de suíte de cifra padrão para criptografia baseada em PSK.
Exemplo para GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL
Exemplo para OpenSSL: kECDHEPSK+AES128:kPSK+AES128
Este parâmetro é suportado desde o Zabbix 4.4.7.
TLSCipherPSK13 não String de cifra para OpenSSL 1.1.1 ou mais recente em TLS 1.3. Sobrescreve o critério de seleção de suíte de cifra padrão para criptografia baseada em PSK.
Exemplo: TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
Este parâmetro é suportado desde o Zabbix 4.4.7.
TLSConnect sim, se certificado TLS ou parâmetros PSK estão definidos (mesmo para conexão não criptografada), caso contrário não Como o agente deve 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
Este parâmetro é suportado desde o Zabbix 3.0.0.
TLSCRLFile não Caminho completo de um arquivo contendo certificados revogados. Este parâmetro é usado para comunicações criptografadas com componentes Zabbix.
Este parâmetro é suportado desde o Zabbix 3.0.0.
TLSKeyFile não Caminho completo de um arquivo contendo a chave privada do agente usada para comunicação criptografada com componentes Zabbix.
Este parâmetro é suportado desde o Zabbix 3.0.0.
TLSPSKFile não Caminho completo de um arquivo contendo a chave pré-compartilhada do agente usada para comunicação criptografada com componentes Zabbix.
Este parâmetro é suportado desde o Zabbix 3.0.0.
TLSPSKIdentity não String de identidade de chave pré-compartilhada, usada para comunicações criptografadas com Zabbix Server.
Este parâmetro é suportado desde o Zabbix 3.0.0.
TLSServerCertIssuer não Emissor de certificado de Server (proxy) permitido.
Este parâmetro é suportado desde o Zabbix 3.0.0.
TLSServerCertSubject não Cliente de certificado de Server (proxy) permitido.
Este parâmetro é suportado desde o Zabbix 3.0.0.
UnsafeUserParameters não 0,1 0 Permite que todos os caracteres sejam passados em argumentos para parâmetros definidos por usuário.
0 - não permitir
1 - permitir
Os seguintes caracteres não são permitidos:
\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
Adicionalmente, caracteres de nova linha não são permitidos.
User não zabbix Revoga privilégios para um usuário específico, existente no sistema.
Tem efeito apenas se executado como 'root' e AllowRoot estiver desabilitado.
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 um 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 de executar um comando. Deste modo, comandos UserParameter podem ter um prefixo relativo ./ em vez de uma caminho completo.
Apenas uma entrada é permitida.
Exemplo: UserParameterDir=/opt/myscripts

Veja também

  1. Diferenças na configuração do Zabbix Agent para verificações ativas e passivas a partir da versão 2.0.0