3 Zabbix Agent (UNIX)

Os valores padrão aqui descrito refletem os padrões dos binários, não dos arquivos de configuração fornecidos.

Os parâmetros suportados por um arquivo de configuração do Zabbix Agent (zabbix_agentd.conf):

Parâmetro Obrigatório Range Padrão Descrição
Alias não Defina um apelido para a chave do item. Pode ser utilizado para substituir chaves longas e complexas por uma menor.
Múltiplos parâmetros Alias poderão estar presentes. Múltiplos parâmetros Alias com a mesma chave não são permitidos.
Chaves diferentes de Alias poderão referenciar a mesma chave de item.
Por exemplo, para recuperar o ID do usuário 'zabbix':
Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
pode ser encurtado para 'zabbix.userid' .
AllowRoot não 0 Permite que o agente seja executado com permissões do usuário 'root'. Se desabilitado e o agente for iniciado pelo 'root', o agente irá tentar alternar seu permissionamento para o usuário 'zabbix'. Não tem efeito se for iniciado por um usuário comum.
0 - não permite
1 - permite
BufferSend não 1-3600 5 Não guardar dados mais antigos que N segundos no buffer.
BufferSize não 2-65535 100 Quantidade máxima de valores armazenados no buffer. O agente irá enviar todos os valores para o Zabbix Server/Proxy caso o buffer encha.
DebugLevel não 0-5 3 Define o nível de depuração:
0 - informações básicas sobre iniciação/parada de processos Zabbix
1 - informações críticas
2 - informações de erro
3 - avisos
4 - depuração (produz muita informação)
5 - depuração estendida (produz MUITO MAIS informação)
EnableRemoteCommands não 0 Permite a execução de comandos remotos enviados pelo Zabbix Server.
0 - não permitido
1 - permitido
HostMetadata não 0-255 characters Parâmetro opcional que define os metadados do host. Os metadados são utilizados apenas pelo processo de autorregistro (agente ativo).
Se não for definido, o valor será obtido pelo parâmetro HostMetadataItem.
O uso de caracteres não UTF-8 ou maior que o permitido impedirá a carga do agente.
Suportado desde o Zabbix 2.2.0.
HostMetadataItem não Define o item utilizado para a definição do metadado do Zabbix agent. Esta opção só é utilizada se o parâmetro HostMetadata não for definido.
Suporta parâmetros de usuário, contadores de performance e apelidos. Suporta system.run[] em substituição de EnableRemoteCommands.
Os metadados são utilizados apenas pelo processo de autorregistro (agente ativo).
Durante o processo de autorregistro o agente irá registrar uma mensagem de aviso se o valor retornado for maior que 255 characteres.
O valor retornado pelo item deverá estar codificado em UTF-8 ou será ignorado.
Suportado desde o Zabbix 2.2.0.
Hostname não Definido pelo parâmetro HostnameItem Único e sensível ao caso.
Obrigatório para verificações ativas e precisa ser exatamente igual ao 'hostname' configurado na interface web do Zabbix.
Caracteres permitidos: alfanuméricos, '.', ' ', '_' e '-'.
Tamanho máximo: 64
HostnameItem não system.hostname Parâmetro opcional que define qual item será utilizado para retornar o 'hostname'. Esta opção só é utilizada se o parâmetro Hostname não for definido.
Não suporta parâmetros de usuário, contadores de performance e apelidos, mas suporta system.run[] em substituição do EnableRemoteCommands.
Suportado desde o Zabbix 1.8.6.
Include não Você pode incluir arquivos individuais de configuração ou todos os arquivos de determinado diretório.
Para incluir somente os arquivos relevantes de determinado diretório, poderá ser utilizados padrões de nomes. Por exemplo: /absolute/path/to/config/files/*.conf. O suporte a padrões de nomes é suportado desde o Zabbix 2.4.0.
Consulte mais em notas especiais sobre limites.
ListenIP não 0.0.0.0 Lista de IPs nos aos quais o agente do Zabbix irá escutar.
Suportado desde o Zabbix 1.8.3.
ListenPort não 1024-32767 10050 O agente irá receber conexões do servidor a partir desta porta.
LoadModule não Módulo a carregar durante a inicialização do servidor. Módulos são utilizados para extender as funcionalidades do Zabbix Server.
Formato: LoadModule=<module.so>
Os módulos precisam estar localizados no diretório especificado em LoadModulePath.
É permitida a inclusão de vários parâmetros 'LoadModule'.
LoadModulePath não Caminho completo do local (diretório) onde estarão os módulos carregáveis do servidor.
O valor padrão depende de opções de compilação.
LogFile não Nome do arquivo de log.
Se não for definido, o syslog será utilizado.
LogFileSize não 0-1024 1 Tamanho máximo do arquivo de log (em MB).
0 - desabilita a rotação automática de log.
Nota: se o tamanho limite do log for alcançado e a rotação falhar, por qualquer motivo, o log atual será zerado e um novo será iniciado.
LogRemoteCommands não 0 Ativa o log de comandos executados.
0 - inativo
1 - ativo
MaxLinesPerSecond não 1-1000 20 Quantidade máxima de linhas por segundo que o agente irá enviar ao servidor para itens de 'log', 'logrt' e 'eventlog' em modo de verificação ativa.
O valor informado será sobrescrito pelo parâmetro 'maxlines',
quando informado nas chaves de item: 'log', 'logrt' ou 'eventlog' .\\Nota: O Zabbix processa 4 vezes mais linhas do que o definido em MaxLinesPerSecond para localizar o texto necessário nos logs.
PidFile não /tmp/zabbix_agentd.pid Nome do arquivo de PID.
RefreshActiveChecks não 60-3600 120 Intervalo entre atualizações da lista de verificações ativas, em segundos.
Observe que após uma falha na obtenção da lista, nova tentativa será feita em 60 segundos.
Server sim Lista separada por vírgulas de contendo os endereços IP (ou nomes de DNS) dos Zabbix Server/Proxy permitidos. Conexões a partir de outros IPs serão rejeitadas. Espaços são permitidos desde o Zabbix 2.2.
Observe que os nomes 'hostnames' precisam ser resolvidos como hostname→endereço IP e como endereço IP→hostname.
If se o suporte a IPv6 estiver ativo, os endereços '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' serão tratados de igual forma.
ServerActive não (*) Conjunto IP:porta ou hostname:porta dos Zabbix Server/Proxy usados para verificações ativas.
São permitidos diversos endereços separados por vírgula e os servidores serão tratados de forma independente, em paralelo. Não são permitidos espaços.
Se a porta não for definida, será utilizada a padrão (10051).
Endereços IPv6 com porta definida precisam estar entre aspas, se não for definida a porta o uso de aspas é opcional.
Se este parâmetro não for definido as verificações ativas serão desativadas.
SourceIP não IP a ser utilizado nas conexões de saída.
StartAgents não 0-100 3 Quantidade de instâncias pré-alocadas do zabbix_agentd para as verificações passivas.
Se definido como '0', irá desativar as verificações passivas e o agente não irá escutar nenhuma porta TCP.
Timeout não 1-30 3 Tempo limite ao buscar determinado valor (1-255). O agente não irá abortar a execução de parâmetros de usuário ao alcançar o tempo limite!
TLSAccept não Quais conexões de entrada serão aceitas. Utilizada em verificações passivas. Múltiplos valores podem ser definidos, separados por vírgulas:
unencrypted - aceita conexões sem criptografia (padrão)
psk - aceita conexões com o uso de TLS e pre-shared key (PSK)
cert - aceita conexões com TLS e certificado
TLSCAFile não Caminho completo do arquivo contendo os certificados raiz (CA) para verificação dos certificados entre as partes, utilizado para comunicações criptografadas entre os componentes do Zabbix.
TLSCertFile não Caminho completo para o arquivo contendo o certificado de agente ou a cadeia de certificados, utilizada para comunicações criptografadas entre os componentes do Zabbix.
TLSConnect não Como o agente irá se conectar ao Zabbix Server/Proxy. Utilizado para verificações ativas. Apenas um destes pode ser definido:
unencrypted - conectar sem criptografia (padrão)
psk - conectar com o uso de TLS e pre-shared key (PSK)
cert - conectar com TLS e certificado
TLSCRLFile não Caminho completo para o arquivo contendo os certificados revogados, utilizado para comunicações criptografadas entre os componentes do Zabbix.
TLSKeyFile não Caminho completo para o arquivo contendo a chave privada do agente, utilizado para comunicações criptografadas entre os componentes do Zabbix.
TLSPSKFile não Caminho completo para o arquivo contendo a PSK do agente, utilizado para comunicações criptografadas entre os componentes do Zabbix.
TLSPSKIdentity não Identidade PSK, utilizado para comunicações criptografadas entre os componentes do Zabbix.
TLSServerCertIssuer não Emissor de certificado autorizado do server (proxy)
TLSServerCertSubject não Destino do certificado permitido pelo server (proxy)
UnsafeUserParameters não 0-1 0 Permite que qualquer caractere seja passado como argumentos em parâmetros definidos pelo usuário.
Os caracteres a seguir não são permitidos:
\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
Caracteres de nova linha também não são permitidos.
User não zabbix Modifica os privilégios para um usuário específico, existente no ambiente.
Só tem efeito se iniciado como 'root' e o parâmetro AllowRoot estiver inativo.
Suportado desde o Zabbix 2.4.0.
UserParameter Parâmetro de monitoração definido pelo usuário. Múltiplos parâmetros UserParameter poderão estar presentes.
Formato: UserParameter=<key>,<shell command>
Observe que o comando do shell precisa retornar algo diferente de texto em branco ou EOL.
UserParameter=system.test,who|wc -l

Na versão 2.0.0 do agente os parâmetros de configuração relacionados a verificações ativas e passivas foram modificados.
Consulte a página listada na seção "Veja também" ao final deste manual para maiores detalhes sobre estas modificações.

O Zabbix suporta arquivos de configuração no formato UTF-8 sem o BOM.

Comentários são iniciados com "#" e só são suportados no início das linhas.

See also

  1. Diferenças entre o arquivo de configuração do agente a partir da versão 2.0.0.

Parameters

Parameter Mandatory Range Default Description
Alias no Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.
Multiple Alias parameters may be present. Multiple parameters with the same Alias key are allowed.
Different Alias keys may reference the same item key.
Aliases can be used in HostMetadataItem but not in HostnameItem parameters.

Examples:

1. Retrieving the ID of user 'zabbix'.
Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1]
Now shorthand key zabbix.userid may be used to retrieve data.

2. Getting CPU utilization with default and custom parameters.
Alias=cpu.util:system.cpu.util
Alias=cpu.util[*]:system.cpu.util[*]
This allows use cpu.util key to get CPU utilization percentage with default parameters as well as use cpu.util[all, idle, avg15] to get specific data about CPU utilization.

3. Running multiple low-level discovery rules processing the same discovery items.
Alias=vfs.fs.discovery[*]:vfs.fs.discovery
Now it is possible to set up several discovery rules using vfs.fs.discovery with different parameters for each rule, e.g., vfs.fs.discovery[foo], vfs.fs.discovery[bar], etc.
AllowRoot no 0 Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
0 - do not allow
1 - allow
BufferSend no 1-3600 5 Do not keep data longer than N seconds in buffer.
BufferSize no 2-65535 100 Maximum number of values in a memory buffer. The agent will send
all collected data to Zabbix server or proxy if the buffer is full.
DebugLevel no 0-5 3 Specifies debug level:
0 - basic information about starting and stopping of Zabbix processes
1 - critical information
2 - error information
3 - warnings
4 - for debugging (produces lots of information)
5 - extended debugging (produces even more information)
EnableRemoteCommands no 0 Whether remote commands from Zabbix server are allowed.
0 - not allowed
1 - allowed
HostMetadata no 0-255 characters Optional parameter that defines host metadata. Host metadata is used only at host auto-registration process (active agent).
If not defined, the value will be acquired from HostMetadataItem.
An agent will issue an error and not start if the specified value is over the limit or a non-UTF-8 string.
This option is supported in version 2.2.0 and higher.
HostMetadataItem no Optional parameter that defines a Zabbix agent item used for getting host metadata. This option is only used when HostMetadata is not defined.
Supports UserParameters and aliases. Supports system.run[] regardless of EnableRemoteCommands value.
HostMetadataItem value is retrieved on each auto-registration attempt and is used only at host auto-registration process (active agent).
During an auto-registration request an agent will log a warning message if the value returned by the specified item is over the limit of 255 characters.
The value returned by the item must be a UTF-8 string otherwise it will be ignored.
This option is supported in version 2.2.0 and higher.
Hostname no Set by HostnameItem Unique, case sensitive hostname.
Required for active checks and must match hostname as configured on the server.
Allowed characters: alphanumeric, '.', ' ', '_' and '-'.
Maximum length: 64
HostnameItem no system.hostname Optional parameter that defines a Zabbix agent item used for getting host name. This option is only used when Hostname is not defined.
Does not support UserParameters or aliases, but does support system.run[] regardless of EnableRemoteCommands value.
This option is supported in version 1.8.6 and higher.
Include no You may include individual files or all files in a directory in the configuration file.
To only include relevant files in the specified directory, the asterisk wildcard character is supported for pattern matching. For example: /absolute/path/to/config/files/*.conf. Pattern matching is supported since Zabbix 2.4.0.
See special notes about limitations.
ListenIP no 0.0.0.0 List of comma delimited IP addresses that the agent should listen on.
Multiple IP addresses are supported in version 1.8.3 and higher.
ListenPort no 1024-32767 10050 Agent will listen on this port for connections from the server.
LoadModule no Module to load at agent startup. Modules are used to extend functionality of the agent.
Formats:
LoadModule=<module.so>
LoadModule=<path/module.so>
(since 4.0.9) LoadModule=</abs_path/module.so>
Either the module must be located in directory specified by LoadModulePath or (since 4.0.9) the path must precede the module name. If the preceding path is absolute (starts with '/') then LoadModulePath is ignored.
It is allowed to include multiple LoadModule parameters.
LoadModulePath no Full path to location of agent modules.
Default depends on compilation options.
LogFile yes, if LogType is set to file, otherwise
no
Name of log file.
LogFileSize no 0-1024 1 Maximum size of log file in MB.
0 - disable automatic log rotation.
Note: If the log file size limit is reached and file rotation fails, for whatever reason, the existing log file is truncated and started anew.
LogType no file Log output type:
file - write log to file specified by LogFile parameter,
system - write log to syslog,
console - write log to standard output.
This parameter is supported since Zabbix 3.0.0.
LogRemoteCommands no 0 Enable logging of executed shell commands as warnings.
0 - disabled
1 - enabled
MaxLinesPerSecond no 1-1000 20 Maximum number of new lines the agent will send per second to Zabbix server or proxy when processing 'log' and 'eventlog' active checks.
The provided value will be overridden by the parameter 'maxlines',
provided in 'log' or 'eventlog' item key.
Note: Zabbix will process 10 times more new lines than set in MaxLinesPerSecond to seek the required string in log items.
PidFile no /tmp/zabbix_agentd.pid Name of PID file.
RefreshActiveChecks no 60-3600 120 How often list of active checks is refreshed, in seconds.
Note that after failing to refresh active checks the next refresh will be attempted after 60 seconds.
Server yes, if StartAgents is not explicitly set to 0 List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers and Zabbix proxies.
Incoming connections will be accepted only from the hosts listed here.
If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address.
'0.0.0.0/0' can be used to allow any IPv4 address.
Note, that "IPv4-compatible IPv6 addresses" (0000::/96 prefix) are supported but deprecated by RFC4291.
Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain
Spaces are allowed.
ServerActive no IP:port (or hostname:port) of Zabbix server or Zabbix proxy for active checks.
Multiple comma-delimited addresses can be provided to use several independent Zabbix servers in parallel. Spaces are allowed.
If port is not specified, default port is used.
IPv6 addresses must be enclosed in square brackets if port for that host is specified.
If port is not specified, square brackets for IPv6 addresses are optional.
If this parameter is not specified, active checks are disabled.
SourceIP no Source IP address for:
- outgoing connections to Zabbix server or Zabbix proxy;
- making connections while executing some items (web.page.get, net.tcp.port, etc.)
StartAgents no 0-100 3 Number of pre-forked instances of zabbix_agentd that process passive checks.
If set to 0, disables passive checks and the agent will not listen on any TCP port.
The upper limit used to be 16 before version 1.8.5.
Timeout no 1-30 3 Spend no more than Timeout seconds on processing
TLSAccept yes, if TLS certificate or PSK parameters are defined (even for unencrypted connection), otherwise no What incoming connections to accept. Used for a passive checks. Multiple values can be specified, separated by comma:
unencrypted - accept connections without encryption (default)
psk - accept connections with TLS and a pre-shared key (PSK)
cert - accept connections with TLS and a certificate
This parameter is supported since Zabbix 3.0.0.
TLSCAFile no Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.
This parameter is supported since Zabbix 3.0.0.
TLSCertFile no Full pathname of a file containing the agent certificate or certificate chain, used for encrypted communications with Zabbix components.
This parameter is supported since Zabbix 3.0.0.
TLSCipherAll no GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
Example: TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
This parameter is supported since Zabbix 4.0.19.
TLSCipherAll13 no Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
Example for 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
Example for OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128
This parameter is supported since Zabbix 4.0.19.
TLSCipherCert no GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate-based encryption.
Example for 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
Example for OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128
This parameter is supported since Zabbix 4.0.19.
TLSCipherCert13 no Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate-based encryption.
This parameter is supported since Zabbix 4.0.19.
TLSCipherPSK no GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for PSK-based encryption.
Example for GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL
Example for OpenSSL: kECDHEPSK+AES128:kPSK+AES128
This parameter is supported since Zabbix 4.0.19.
TLSCipherPSK13 no Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for PSK-based encryption.
Example: TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
This parameter is supported since Zabbix 4.0.19.
TLSConnect yes, if TLS certificate or PSK parameters are defined (even for unencrypted connection), otherwise no How the agent should connect to Zabbix server or proxy. Used for active checks. Only one value can be specified:
unencrypted - connect without encryption (default)
psk - connect using TLS and a pre-shared key (PSK)
cert - connect using TLS and a certificate
This parameter is supported since Zabbix 3.0.0.
TLSCRLFile no Full pathname of a file containing revoked certificates. This parameter is used for encrypted communications with Zabbix components.
This parameter is supported since Zabbix 3.0.0.
TLSKeyFile no Full pathname of a file containing the agent private key used for encrypted communications with Zabbix components.
This parameter is supported since Zabbix 3.0.0.
TLSPSKFile no Full pathname of a file containing the agent pre-shared key used for encrypted communications with Zabbix components.
This parameter is supported since Zabbix 3.0.0.
TLSPSKIdentity no Pre-shared key identity string, used for encrypted communications with Zabbix server.
This parameter is supported since Zabbix 3.0.0.
TLSServerCertIssuer no Allowed server (proxy) certificate issuer.
This parameter is supported since Zabbix 3.0.0.
TLSServerCertSubject no Allowed server (proxy) certificate subject.
This parameter is supported since Zabbix 3.0.0.
UnsafeUserParameters no 0,1 0 Allow all characters to be passed in arguments to user-defined parameters.
0 - do not allow
1 - allow
The following characters are not allowed:
\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
Additionally, newline characters are not allowed.
Supported since Zabbix 1.8.2.
User no zabbix Drop privileges to a specific, existing user on the system.
Only has effect if run as 'root' and AllowRoot is disabled.
This parameter is supported since Zabbix 2.4.0.
UserParameter no User-defined parameter to monitor. There can be several user-defined parameters.
Format: UserParameter=<key>,<shell command>
Note that shell command must not return empty string or EOL only.
Example: UserParameter=system.test,who|wc -l

See also

  1. Differences in the Zabbix agent configuration for active and passive checks starting from version 2.0.0