4 Agente Zabbix 2 (UNIX)

Visão geral

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

Os parâmetros suportados pelo arquivo de configuração do Zabbix Agent 2 (zabbix_agent2.conf) estão listados nesta seção.

Os parâmetros são listados sem informações adicionais. Clique no parâmetro para ver os detalhes completos.

Parameter Description
Alias Define um alias para uma chave de item
Permitir a execução das chaves de item que correspondem a um padrão
BufferSend Não mantém dados com mais de N segundos no buffer.
BufferSize O número máximo de valores no buffer de memória
ControlSocket O soquete de controle, usado para enviar comandos de tempo de execução com a opção '-R'.
DebugLevel O nível de depuração.
DenyKey Nega a execução das chaves de item que correspondem a um padrão.
EnablePersistentBuffer](#enablepersistentbuffer) Habilita o uso de armazenamento local persistente para itens ativos
ForceActiveChecksOnStart](#forceactivechecksonstart) Realiza verificações ativas imediatamente após a reinicialização para a primeira configuração recebida
HeartbeatFrequency A frequência das mensagens de heartbeat em segundos
HostInterface Um parâmetro opcional que define a interface do host
HostInterfaceItem](#hostinterfaceitem) Um parâmetro opcional que define um item usado para obter a interface do host
hostMetadata](#hostmetadata) Um parâmetro opcional que define os metadados do host.
HostMetadataItem Um parâmetro opcional que define um item do agente Zabbix usado para obter os metadados do host
Hostname Um parâmetro opcional que define o nome do host
HostnameItem Um parâmetro opcional que define um item do agente Zabbix usado para obter o nome do host
Include Você pode incluir arquivos individuais ou todos os arquivos em um diretório no arquivo de configuração
ListenIP](#listenip) Uma lista de endereços IP delimitados por vírgulas que o agente deve escutar.
ListenPort](#listenport) O agente escutará nessa porta as conexões do servidor
LogFile O nome do arquivo de registro
LogFileSize O tamanho máximo do arquivo de log
LogType O tipo de saída de registro.
PersistentBufferFile](#persistentbufferfile) O arquivo onde o Zabbix Agent 2 deve manter o banco de dados SQLite
PersistentBufferPeriod](#persistentbufferperiod) O período de tempo durante o qual os dados devem ser armazenados quando não houver conexão com o servidor ou com o proxy
PidFile O nome do arquivo PID
Plugins.Log.MaxLinesPerSecond](#plugins.log.maxlinespersecond) O número máximo de novas linhas que o agente enviará por segundo para o servidor ou proxy Zabbix ao processar verificações ativas de 'log' e 'logrt'.
Plugins.SystemRun.LogRemoteCommands](#plugins.systemrun.logremotecommands) Habilita o registro em log dos comandos do shell executados como avisos
PluginSocket](#pluginsocket) O caminho para o soquete UNIX para comunicações de plug-in carregáveis
pluginTimeout](#plugintimeout) O tempo limite para conexões com plug-ins carregáveis, em segundos.
RefreshActiveChecks Com que frequência a lista de verificações ativas é atualizada
Server Uma lista de endereços IP delimitados por vírgulas, opcionalmente em notação CIDR, ou nomes DNS de servidores Zabbix e proxies Zabbix
ServerActive O endereço do servidor/proxy do Zabbix ou a configuração do cluster para obter verificações ativas.
SourceIP O endereço IP de origem
StatusPort Se definido, o agente escutará nessa porta as solicitações de status HTTP (http://localhost:<port>/status)
Timeout](#timeout) Não gaste mais do que Timeout segundos no processamento
TLSAccept](#tlsaccept) Quais conexões de entrada devem ser aceitas
TLSCertFile](#tlscafile) O caminho completo de um arquivo contendo os certificados de CA(s) de nível superior para verificação de certificados de pares, usados para comunicações criptografadas entre os componentes do Zabbix
TLSCertFile](#tlscertfile) O nome completo do caminho de um arquivo que contém o certificado do agente ou a cadeia de certificados, usado para comunicações criptografadas entre os componentes do Zabbix
TLSConnect](#tlsconnect) Como o agente deve se conectar ao servidor Zabbix ou ao proxy
TLSCRLFile](#tlscrlfile) O nome completo do caminho de um arquivo que contém certificados revogados. Esse parâmetro é usado para comunicações criptografadas entre os componentes do Zabbix
TLSKeyFile](#tlskeyfile) O nome completo do caminho de um arquivo que contém a chave privada do agente, usada para comunicações criptografadas entre os componentes do Zabbix
TLSPSKFile](#tlspskfile) O nome completo do caminho de um arquivo que contém a chave pré-compartilhada do agente, usada para comunicações criptografadas com o Zabbix Server
TLSPSKIdentity](#tlspskidentity) A string de identidade da chave pré-compartilhada, usada para comunicações criptografadas com o Zabbix Server
TLSServerCertIssuer](#tlsservercertissuer) O emissor do certificado permitido para o servidor (proxy)
TLSServerCertSubject](#tlsservercertsubject) O assunto do certificado permitido do servidor (proxy)
UnsafeUserParameters Permite que todos os caracteres sejam passados em argumentos para parâmetros definidos pelo usuário
UserParameter Um parâmetro definido pelo usuário para monitorar.
UserParameterDir O caminho de pesquisa padrão para comandos UserParameter.

Todos os parâmetros não são obrigatórios, a menos que seja explicitamente declarado que o parâmetro é obrigatório.

Observe que:

  • Os valores padrão refletem os padrões do processo, não os valores nos arquivos de configuração arquivos de configuração enviados;
  • O Zabbix suporta arquivos de configuração somente na codificação UTF-8 sem BOM;
  • Os comentários que começam com "#" são suportados somente no início da linha da linha.

Detalhes do parâmetro

Alias

Define um alias para uma chave de item. Pode ser usado para substituir uma chave de item longa e complexa por uma mais curta e mais simples.
Vários parâmetros Alias podem estar presentes. Não são permitidos vários parâmetros com a mesma chave Alias.
Diferentes chaves Alias podem fazer referência à mesma chave de item.
Os aliases podem ser usados em HostMetadataItem, mas não no parâmetro HostnameItem.

Exemplo 1: Recuperação do 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.

Exemplo 2: obter a utilização da CPU com parâmetros padrão e personalizados.

Alias=cpu.util:system.cpu.util
       Alias=cpu.util[*]:system.cpu.util[*]

Isso permite usar a chave cpu.util para obter a porcentagem de utilização da CPU com parâmetros padrão, bem como usar cpu.util[all, idle, avg15] para obter dados específicos sobre a utilização da CPU.

Exemplo 3: Execução de várias regras low-level discovery processando os mesmos itens de descoberta.

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, por exemplo, vfs.fs.discovery[foo], vfs.fs.discovery[bar], etc.

AllowKey

Permite a execução das chaves de item que correspondem a um padrão. O padrão de chave é uma expressão curinga que suporta o caractere "*" para corresponder a qualquer número de caracteres.
Várias regras de correspondência de chave podem ser definidas em combinação com DenyKey. Os parâmetros são processados um a um de acordo com sua ordem de aparecimento. Consulte também: Restringindo verificações do agente.

BufferSend

O intervalo de tempo em segundos que determina a frequência com que os valores são enviados do buffer para o servidor Zabbix. Observe que, se o buffer estiver cheio, os dados serão enviados mais cedo.

Padrão: 5
Intervalo: 1-3600

BufferSize

O número máximo de valores no buffer de memória. O agente enviará todos os dados coletados para o servidor ou proxy do Zabbix se o buffer estiver cheio. Esse parâmetro só deve ser usado se o buffer persistente estiver desativado (EnablePersistentBuffer=0).

Padrão: 100
Intervalo: 2-65535

ControlSocket

O soquete de controle, usado para enviar comandos de tempo de execução com a opção '-R'.

Padrão: /tmp/agent.sock

DebugLevel

Especifique o nível de depuração:
0 - informações básicas sobre a inicialização e a interrupção dos processos do Zabbix
1 - informações críticas;
2 - informações sobre erros;
3 - avisos;
4 - para depuração (produz muitas informações);
5 - depuração estendida (produz ainda mais informações).

Padrão: 3
Intervalo: 0-5

DenyKey

Nega a execução das chaves de item que correspondem a um padrão. O padrão de chave é uma expressão curinga que suporta o caractere "*" para corresponder a qualquer número de caracteres.
Várias regras de correspondência de chave podem ser definidas em combinação com AllowKey. Os parâmetros são processados um a um de acordo com sua ordem de aparecimento. Consulte também: Restringir verificações do agente.

EnablePersistentBuffer

Habilita o uso do armazenamento persistente local para itens ativos. Se o armazenamento persistente estiver desativado, será usado o buffer de memória.

Padrão: 0
Valores: 0 - desativado, 1 - ativado

ForceActiveChecksOnStart

Executa verificações ativas imediatamente após a reinicialização para a primeira configuração recebida. Também disponível como um parâmetro de configuração por plug-in, por exemplo: Plugins.Uptime.System.ForceActiveChecksOnStart=1

Padrão: 0
Valores: 0 - desativado, 1 - ativado

HeartbeatFrequency

A frequência das mensagens de heartbeat em segundos. Usada para monitorar a disponibilidade de verificações ativas.
0 - mensagens de heartbeat desativadas.

Padrão: 60
Intervalo: 0-3600

HostInterface

Um parâmetro opcional que define a interface do host. A interface do host é usada no processo autoregistration do host. Se não for definido, o valor será adquirido de HostInterfaceItem.
O agente emitirá um erro e não iniciará se o valor ultrapassar o limite de 255 caracteres.

Intervalo: 0-255 caracteres

HostInterfaceItem

Um parâmetro opcional que define um item usado para obter a interface do host.
A interface do host é usada no processo autoregistration do host. Essa opção só é usada quando HostInterface não está definido.
O item system.run[] é suportado independentemente dos valores de AllowKey/DenyKey.
Durante uma solicitação de autorregistro, o agente registrará uma mensagem de aviso se o valor retornado pelo item especificado estiver acima do limite de 255 caracteres.

HostMetadata

Um parâmetro opcional que define os metadados do host. Os metadados do host são usados somente no processo de registro automático do host. Se não for definido, o valor será adquirido de HostMetadataItem.
O agente emitirá um erro e não iniciará se o valor especificado estiver acima do limite de 2034 bytes ou for uma cadeia de caracteres não UTF-8.

Intervalo: 0-2034 bytes

HostMetadataItem

Um parâmetro opcional que define um item usado para obter metadados do host. Essa opção só é usada quando HostMetadata não está definido. Há suporte para parâmetros de usuário e aliases. O item system.run[] tem suporte independentemente dos valores de AllowKey/DenyKey.
O valor de HostMetadataItem é recuperado em cada tentativa de autorregistro e é usado somente no processo de autorregistro do host.
Durante uma solicitação de autorregistro, o agente registrará uma mensagem de aviso se o valor retornado pelo item especificado estiver acima do limite de 65535 pontos de código UTF-8. O valor retornado pelo item deve ser uma cadeia de caracteres UTF-8, caso contrário, será ignorado.

Nome do host

Uma lista de nomes de host delimitados por vírgulas, exclusivos e sensíveis a maiúsculas e minúsculas. Necessário para verificações ativas e deve corresponder aos nomes de host configurados no servidor. O valor é adquirido de HostnameItem se não estiver definido.
Caracteres permitidos: alfanumérico, '.', ' ', '_' e '-'. Comprimento máximo: 128 caracteres por nome de host, 2048 caracteres para a linha inteira.

Padrão: Definido por HostnameItem

HostnameItem

Um parâmetro opcional que define um item usado para obter o nome do host. Essa opção só é usada quando Hostname não está definido. Parâmetros de usuário ou aliases não são compatíveis, mas o item system.run[] é compatível, independentemente dos valores de AllowKey/DenyKey.

Padrão: system.hostname

Inclui

É possível 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 include em /usr/local/etc, a menos que seja modificado durante o tempo de compilação. O caminho pode ser relativo ao local do arquivo zabbix_agent2.conf.
Para incluir somente arquivos relevantes no diretório especificado, o caractere curinga asterisco é suportado para correspondência de padrão.
Consulte notas especiais sobre limitações.

Exemplo:

Include=/absolute/path/to/config/files/*.conf
ListenIP

Uma lista de endereços IP delimitados por vírgulas que o agente deve escutar. O primeiro endereço IP é enviado ao servidor Zabbix, se estiver se conectando a ele, para recuperar a lista de verificações ativas.

Padrão: 0.0.0.0

ListenPort

O agente escutará nessa porta as conexões do servidor.

Padrão: 10050
Intervalo: 1024-32767

LogFile

O nome do arquivo de registro.

Padrão: /tmp/zabbix_agent2.log
Obrigatório: Sim, se LogType estiver definido como file; caso contrário, não

LogFileSize

O tamanho máximo de um arquivo de log em MB.
0 - desativa a rotação automática de logs.
Nota: Se o limite de tamanho do arquivo de log for atingido e a rotação do arquivo falhar, por qualquer motivo, o arquivo de log existente será truncado e iniciado novamente.

Padrão: 1
Intervalo: 0-1024

LogType

O tipo de saída de registro:
file - grava o registro no arquivo especificado pelo parâmetro LogFile;
system - grava o registro no syslog;
console - grava o registro na saída padrão

Padrão: file

PersistentBufferFile

O arquivo no qual o Zabbix Agent 2 deve manter o banco de dados SQLite. Deve ser um nome de arquivo completo. Esse parâmetro só é usado se o buffer persistente estiver ativado (EnablePersistentBuffer=1).

PersistentBufferPeriod

O período de tempo durante o qual os dados devem ser armazenados quando não houver conexão com o servidor ou proxy. Os dados mais antigos serão perdidos. Os dados de registro serão preservados. Esse parâmetro só é usado se o buffer persistente estiver ativado (EnablePersistentBuffer=1).

Padrão: 1h
Intervalo: 1m-365d

PidFile

O nome do arquivo PID.

Padrão: /tmp/zabbix_agent2.pid

Plugins.Log.MaxLinesPerSecond

O número máximo de novas linhas que o agente enviará por segundo para o servidor Zabbix ou proxy ao processar verificações ativas de 'log' e 'logrt'. O valor fornecido será substituído pelo parâmetro 'maxlines', fornecido na chave do item 'log' e 'logrt'.
Nota: O Zabbix processará 10 vezes mais novas linhas do que o definido em MaxLinesPerSecond para buscar a string necessária nos itens de registro.

Padrão: 20
Faixa: 1-1000

Plugins.SystemRun.LogRemoteCommands

Habilita o registro em log dos comandos do shell executados como avisos. Os comandos serão registrados somente se forem executados remotamente. As entradas de registro não serão criadas se system.run[] for iniciado localmente pelos parâmetros HostMetadataItem, HostInterfaceItem ou HostnameItem.

Padrão: 0
Valores: 0 - desativado, 1 - ativado

PluginSocket

O caminho para o soquete UNIX para comunicações de plug-in carregáveis.

Padrão: /tmp/agent.plugin.sock

PluginTimeout

O tempo limite para conexões com plug-ins carregáveis, em segundos.

Padrão: Timeout
Intervalo: 1-30

RefreshActiveChecks

Com que frequência a lista de verificações ativas é atualizada, em segundos. Observe que, após a falha na atualização das verificações ativas, a próxima atualização será tentada em 60 segundos.

Padrão: 5
Intervalo: 1-86400

Server

Uma lista de endereços IP delimitados por vírgulas, opcionalmente em notação CIDR, ou nomes DNS de servidores Zabbix ou proxies Zabbix. As conexões de entrada serão aceitas somente dos hosts listados aqui. Se o suporte a IPv6 estiver ativado, então '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' serã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. Espaços são permitidos.

Exemplo:

Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com

Obrigatório: sim

ServerActive

O endereço do servidor/proxy do Zabbix ou a configuração do cluster para obter verificações ativas. O endereço do servidor/proxy é um endereço IP ou nome DNS e uma porta opcional separados por dois pontos.
A configuração do cluster é um ou mais endereços de servidor separados por ponto e vírgula. Vários servidores/clusters e proxies Zabbix podem ser especificados, separados por vírgula. Não deve ser especificado mais de um proxy Zabbix para cada servidor/cluster Zabbix. Se um proxy Zabbix for especificado, o servidor/cluster Zabbix para esse proxy não deve ser especificado.
Vários endereços delimitados por vírgulas podem ser fornecidos para usar vários servidores Zabbix independentes em paralelo. São permitidos espaços.
Se a porta não for especificada, será usada a porta padrão.
Os endereços IPv6 devem ser colocados entre colchetes se a porta para esse host for especificada. Se a porta não for especificada, os colchetes para endereços IPv6 são opcionais.
Se esse parâmetro não for especificado, as verificações ativas serão desativadas.

Exemplo para o proxy Zabbix:

ServerActive=127.0.0.1:10051

Exemplo para vários servidores:

ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]

Exemplo de alta disponibilidade:

ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3

Exemplo de alta disponibilidade com dois clusters e um servidor:

ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain
SourceIP

O endereço IP de origem para:
- conexões de saída para o Zabbix Server ou Zabbix Proxy;
- conexões durante a execução de alguns itens (web.page.get, net.tcp.port, etc.).

StatusPort

Se definido, o agente escutará nessa porta as solicitações de status HTTP (http://localhost:<port>/status).

Intervalo: 1024-32767

Timeout

Não gaste mais do que Timeout segundos no processamento.

Padrão: 3
Intervalo: 1-30

TLSAccept

As conexões de entrada a serem aceitas. Usado para verificações passivas. Vários 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

Obrigatório: sim, se o certificado TLS ou os parâmetros PSK estiverem definidos (mesmo para conexão não criptografada); caso contrário, não

TLSCAFile

O nome completo do caminho do arquivo que contém os certificados da(s) CA(s) de nível superior para verificação de certificados de pares, usados para comunicações criptografadas entre os componentes do Zabbix.

TLSCertFile

O nome completo do caminho do arquivo que contém o certificado do agente ou a cadeia de certificados, usado para comunicações criptografadas com os componentes do Zabbix.

TLSConnect

Como o agente deve se conectar ao servidor Zabbix ou ao proxy. Usado para verificações ativas. Somente um valor pode ser especificado:
unencrypted - conecta-se sem criptografia (padrão)
psk - conecta-se usando TLS e uma chave pré-compartilhada (PSK)
cert - conecta-se usando TLS e um certificado

Obrigatório: sim, se o certificado TLS ou os parâmetros PSK estiverem definidos (mesmo para conexão unencrypted); caso contrário, não

TLSCRLFile

O nome completo do caminho do arquivo que contém os certificados revogados. Esse parâmetro é usado para comunicações criptografadas entre os componentes do Zabbix.

TLSKeyFile

O nome completo do caminho do arquivo que contém a chave privada do agente, usada para comunicações criptografadas entre os componentes do Zabbix.

TLSPSKFile

O nome completo do caminho do arquivo que contém a chave pré-compartilhada do agente, usada para comunicações criptografadas com o servidor Zabbix.

TLSPSKIdentity

A string de identidade da chave pré-compartilhada, usada para comunicações criptografadas com o servidor Zabbix.

TLSServerCertIssuer

O emissor do certificado do servidor (proxy) permitido.

TLSServerCertSubject

O assunto do certificado do servidor (proxy) permitido.

UnsafeUserParameters

Permitir que todos os caracteres sejam passados em argumentos para parâmetros definidos pelo usuário. Os seguintes caracteres não são permitidos: \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
Além disso, os caracteres de nova linha não são permitidos.

Padrão: 0
Valores: 0 - não permitir, 1 - permitir

UserParameter

Um parâmetro definido pelo usuário a ser monitorado. Pode haver vários parâmetros definidos pelo usuário.
Formato: UserParameter=<key>,<shell command>
Observe que o comando do shell não deve retornar uma cadeia de caracteres vazia ou apenas EOL. Os comandos do shell podem ter caminhos relativos, se o parâmetro UserParameterDir for especificado.

Exemplo:

UserParameter=system.test,who|wc -l
       UserParameter=check_cpu,./custom_script.sh
UserParameterDir

O caminho de pesquisa padrão para comandos UserParameter. Se for usado, o agente alterará seu diretório de trabalho para o especificado aqui antes de executar um comando. Dessa forma, os comandos UserParameter podem ter um prefixo relativo ./ em vez de um caminho completo.
É permitida apenas uma entrada.

Exemplo:

UserParameterDir=/opt/myscripts