5 Zabbix agent (Windows)

Visão geral

Os parâmetros suportados pelo arquivo de configuração do Windows Zabbix agent (zabbix_agentd.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 item key.
AllowKey Permite a execução das item keys que correspondem a um padrão.
BufferSend Não mantém dados por mais de N segundos no buffer.
BufferSize O número máximo de valores no buffer de memória.
DebugLevel O nível de depuração.
DenyKey Nega a execução das item keys que correspondem a um padrão.
EnableRemoteCommands Se comandos remotos do Zabbix server são permitidos.
HeartbeatFrequency A frequência das mensagens de heartbeat, em segundos.
HostInterface Um parâmetro opcional que define a interface do host.
HostInterfaceItem Um parâmetro opcional que define um item usado para obter a interface do host.
HostMetadata Um parâmetro opcional que define os metadados do host.
HostMetadataItem Um parâmetro opcional que define um item do Zabbix agent 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 Zabbix agent usado para obter o nome do host.
Include Você pode incluir arquivos individuais ou todos os arquivos de um diretório no arquivo de configuração.
ListenBacklog O número máximo de conexões pendentes na fila TCP.
ListenIP Uma lista de endereços IP separados por vírgula nos quais o agent deve escutar.
ListenPort O agent escutará nesta porta por conexões do server.
LogFile O nome do arquivo de log.
LogFileSize O tamanho máximo do arquivo de log.
LogRemoteCommands Ativa o registro de comandos de shell executados como avisos.
LogType O tipo de saída do log.
MaxLinesPerSecond O número máximo de novas linhas que o agent enviará por segundo ao Zabbix server ou proxy ao processar verificações ativas log e logrt.
PerfCounter Define um novo parâmetro <parameter_name> que é o valor médio do contador de desempenho do sistema <perf_counter_path> para o período de tempo especificado <period> (em segundos).
PerfCounterEn Define um novo parâmetro <parameter_name> que é o valor médio do contador de desempenho do sistema <perf_counter_path> para o período de tempo especificado <period> (em segundos). Em comparação com PerfCounter, os caminhos de perfcounter devem estar em inglês.
RefreshActiveChecks Com que frequência a lista de verificações ativas é atualizada.
Server Uma lista de endereços IP separados por vírgula, opcionalmente em notação CIDR, ou nomes DNS de Zabbix servers e Zabbix proxies.
ServerActive O endereço do Zabbix server/proxy ou a configuração de cluster de onde obter verificações ativas.
SourceIP O endereço IP de origem.
StartAgents O número de instâncias pré-forked de zabbix_agentd que processam verificações passivas.
Timeout Especifica quanto tempo esperar (em segundos) para estabelecer conexão e trocar dados com o Zabbix proxy ou server.
TLSAccept O nível de criptografia exigido para conexões de entrada.
TLSCAFile O caminho completo de um arquivo contendo os certificados da CA de nível superior para verificação do certificado do par, usado para comunicações criptografadas entre componentes do Zabbix.
TLSCertFile O caminho completo de um arquivo contendo o certificado do agent ou a cadeia de certificados, usado para comunicações criptografadas entre componentes do Zabbix.
TLSConnect O nível de criptografia exigido para conexões do agent com o Zabbix server ou proxy.
TLSCRLFile O caminho completo de um arquivo contendo certificados revogados. Este parâmetro é usado para comunicações criptografadas entre componentes do Zabbix.
TLSKeyFile O caminho completo de um arquivo contendo a chave privada do agent, usado para comunicações criptografadas entre componentes do Zabbix.
TLSPSKFile O caminho completo de um arquivo contendo a chave pré-compartilhada do agent, usada para comunicações criptografadas com o Zabbix server.
TLSPSKIdentity A string de identidade da chave pré-compartilhada, usada para comunicações criptografadas com o Zabbix server.
TLSServerCertIssuer O emissor do certificado do server (proxy) permitido.
TLSServerCertSubject O subject do certificado do server (proxy) permitido.
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 busca padrão para comandos UserParameter.

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

Observe que:

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

Detalhes do parâmetro

Alias

Define um alias para uma chave de item. Ele pode ser usado para substituir uma chave de item longa e complexa por uma mais curta e 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 referenciar a mesma chave de item.
Aliases podem ser usados em HostMetadataItem, mas não em HostnameItem ou no parâmetro PerfCounter.

Exemplo 1: Recuperando o uso do arquivo de paginação em porcentagem do server.

Alias=pg_usage:perf_counter[\Paging File(_Total)\% Usage]

Agora a chave abreviada pg_usage pode ser usada para recuperar dados.

Exemplo 2: Obtendo a carga da CPU com parâmetros padrão e personalizados.

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

Isso permite usar a chave cpu.load para obter a carga da CPU com parâmetros padrão, bem como usar cpu.load[percpu,avg15] para obter dados específicos sobre a carga da CPU.

Exemplo 3: Executando várias regras de 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 daqueles item keys que correspondem a um padrão. O padrão da key é uma expressão curinga que suporta o caractere * para corresponder a qualquer número de quaisquer caracteres.
Várias regras de correspondência de key podem ser definidas em combinação com DenyKey. Os parâmetros são processados um a um de acordo com a ordem em que aparecem. Veja também: Restricting agent checks.

BufferSend

Não mantenha dados no buffer por mais de N segundos.

Padrão: 5
Intervalo: 1-3600

BufferSize

O número máximo de valores no buffer de memória. O agent enviará todos os dados coletados para o Zabbix server ou proxy se o buffer estiver cheio.

Padrão: 100
Intervalo: 2-65535

DebugLevel

Especifique o nível de depuração:

  • 0 - informações básicas sobre o início e a parada dos processos do Zabbix;
  • 1 - informações críticas;
  • 2 - informações de erro;
  • 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

Negue a execução das chaves de item que correspondam a um padrão. O padrão da chave é uma expressão curinga que suporta o caractere * para corresponder a qualquer número de quaisquer caracteres.
Várias regras de correspondência de chaves podem ser definidas em combinação com AllowKey. Os parâmetros são processados um por um de acordo com a ordem em que aparecem. Veja também: Restricting agent checks.

EnableRemoteCommands

Permite comandos remotos a partir do server do Zabbix.
Este parâmetro está obsoleto; use AllowKey=system.run[*] ou DenyKey=system.run[*] em seu lugar.
Ele é um alias interno para os parâmetros AllowKey/DenyKey, dependendo do valor:

  • 0 - DenyKey=system.run[*]
  • 1 - AllowKey=system.run[*]

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

HeartbeatFrequency

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

Padrão: 60
Intervalo: 0-3600

HostInterface

Um parâmetro opcional que define a interface do host (endereço IP ou nome DNS) usada durante o processo de autoregistration do host. Esse valor será usado para preencher a interface no host recém-criado e permite configurar explicitamente um endereço IP ou DNS. Para mais detalhes, consulte Using DNS as default interface.

Se não for definido, o valor será obtido de HostInterfaceItem.

O agent emitirá um erro e não iniciará se o valor exceder o limite de 255 caracteres.

Intervalo: 0-255 caracteres

HostInterfaceItem

Um parâmetro opcional que define um item usado para determinar a interface do host (endereço IP ou nome DNS) durante o processo de autoregistro do host. Esse valor é usado somente se HostInterface não estiver definido. Para mais detalhes, consulte Using DNS as default interface.

Durante uma solicitação de autoregistro, o agent registrará uma mensagem de aviso se o valor retornado pelo item especificado exceder o limite de 255 caracteres.

O item system.run[] é suportado independentemente das configurações AllowKey/DenyKey.

HostMetadata

Um parâmetro opcional que define os metadados usados para identificar ou distinguir o host durante o processo de autoregistration do host (agent ativo). HostMetadata permite distinguir entre hosts além do hostname.

Se não for definido, o valor será obtido de HostMetadataItem.

O agent emitirá um erro e não será iniciado se o valor especificado exceder o limite de 2034 bytes ou se for uma string não UTF-8. Quando um parâmetro espera um endereço IP ou nome DNS, valores que sejam UTF-8 válidos, mas que não sejam IPs ou nomes DNS válidos, também serão rejeitados e reportados como inválidos.

Metadados em várias linhas não são suportados — a saída será truncada na primeira quebra de linha.

Intervalo: 0-2034 bytes

HostMetadataItem

Um parâmetro opcional que define um item do Zabbix agent usado para obter metadados do host. Essa opção é usada somente quando HostMetadata não está definido.

O valor de HostMetadataItem é recuperado em cada tentativa de autoregistration e é usado apenas no processo de autoregistration do host (active agent). HostMetadataItem permite distinguir entre hosts além do hostname.

Parâmetros de usuário, contadores de desempenho e aliases são suportados. O item system.run[] é suportado независимо de configurações de AllowKey/DenyKey.

Durante uma solicitação de autoregistration, o agent registrará uma mensagem de aviso se o valor retornado pelo item especificado exceder o limite de 65535 pontos de código UTF-8. O valor retornado pelo item deve ser uma string UTF-8; caso contrário, será ignorado. Quando um parâmetro espera um endereço IP ou nome DNS, valores que sejam válidos em UTF-8, mas não sejam IPs ou nomes DNS válidos, também serão rejeitados e reportados como inválidos.

Metadados em várias linhas não são suportados — a saída será truncada na primeira quebra de linha.

Nome do host

Uma lista de nomes de host exclusivos, sensíveis a maiúsculas e minúsculas, separados por vírgulas. Obrigatório para verificações ativas e deve corresponder aos nomes de host configurados no server. O valor é obtido de HostnameItem se não estiver definido.
Caracteres permitidos: alfanuméricos, '.', ' ', '_' 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 do Zabbix agent usado para obter o nome do host. Essa opção é usada somente quando Hostname não está definido. Parâmetros de usuário, contadores de desempenho ou aliases não são suportados, mas o item system.run[] é suportado independentemente dos valores de AllowKey/DenyKey.
Veja também uma descrição mais detalhada.

Padrão: system.hostname

Include

Você pode incluir arquivos individuais ou todos os arquivos em um diretório no arquivo de configuração (localizado em C:\Program Files\Zabbix Agent por padrão se o agent Zabbix for instalado usando os pacotes do instalador MSI do Windows; localizado na pasta especificada durante a instalação se o agent Zabbix for instalado como um arquivo zip). Todos os arquivos incluídos devem ter sintaxe correta, caso contrário o agent não iniciará.
Para incluir apenas arquivos relevantes no diretório especificado, o caractere curinga asterisco é suportado para correspondência de padrões.
Veja notas especiais sobre limitações.

Exemplo:

Include=C:\Program Files\Zabbix Agent\zabbix_agentd.d\*.conf
ListenBacklog

O número máximo de conexões pendentes na fila TCP.
O valor padrão é uma constante codificada, que depende do sistema.
O valor máximo suportado depende do sistema, valores muito altos podem ser truncados silenciosamente para o 'máximo especificado pela implementação'.

Padrão: SOMAXCONN
Intervalo: 0 - INT_MAX

ListenIP

Uma lista de endereços IP separados por vírgula nos quais o agent deve escutar.

Padrão: 0.0.0.0

ListenPort

O agent irá escutar nesta porta por conexões do server.

Padrão: 10050
Intervalo: 1024-32767

LogFile

O nome do arquivo de log do agent.

Padrão: c:\zabbix_agentd.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 - desabilita 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

LogRemoteCommands

Ative o registro dos comandos de shell executados como avisos.
Os comandos serão registrados somente se forem executados remotamente.
As entradas de log 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

LogType

O tipo da saída de log:

  • file - grava o log no arquivo especificado pelo parâmetro LogFile;
  • system - grava o log no Windows Event Log;
  • console - grava o log na saída padrão.

Padrão: file

MaxLinesPerSecond

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

Padrão: 20
Intervalo: 1-1000

PerfCounter

Define um novo parâmetro <parameter_name> que é o valor médio do contador de desempenho do sistema <perf_counter_path> para o período de tempo especificado <period> (em segundos).
Sintaxe: <parameter_name>,"<perf_counter_path>",<period>

Por exemplo, se você quiser receber o número médio de interrupções do processador por segundo no último minuto, você pode definir um novo parâmetro "interrupts" da seguinte forma:

PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60

Observe as aspas duplas ao redor do caminho do contador de desempenho. O nome do parâmetro (interrupts) deve ser usado como a chave do item ao criar um item. As amostras para calcular o valor médio serão coletadas a cada segundo.
Você pode executar typeperf -qx para obter a lista de todos os contadores de desempenho disponíveis no Windows.

PerfCounterEn

Define um novo parâmetro <parameter_name> que é o valor médio para o contador de desempenho do sistema <perf_counter_path> para o período de tempo especificado <period> (em segundos). Comparado ao PerfCounter, os caminhos do perfcounter devem estar em inglês. Suportado apenas no Windows Server 2008/Vista e posterior.
Sintaxe: <parameter_name>,"<perf_counter_path>",<period>

Por exemplo, se você deseja receber o número médio de interrupções do processador por segundo no último minuto, pode definir um novo parâmetro "interrupts" da seguinte forma:

PerfCounterEn = interrupts,"\Processor(0)\Interrupts/sec",60

Observe as aspas duplas ao redor do caminho do contador de desempenho. O nome do parâmetro (interrupts) deve ser usado como a chave do item ao criar um item. As amostras para calcular o valor médio serão coletadas a cada segundo.
Você pode encontrar a lista de strings em inglês visualizando a seguinte chave do registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009.

RefreshActiveChecks

Com que frequência a lista de verificações ativas é atualizada, em segundos. Observe que, após falhar ao atualizar as 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 separados por vírgulas, opcionalmente em notação CIDR, ou nomes DNS de servers do Zabbix ou proxies do Zabbix. Conexões de entrada serão aceitas somente dos hosts 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. Observe que "endereços IPv6 compatíveis com IPv4" (prefixo 0000::/96) são suportados, mas estão obsoletos pela RFC4291. 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, se StartAgents não estiver definido explicitamente como 0

ServerActive

O endereço do Zabbix server/proxy ou configuração de cluster para obter verificações ativas. O endereço do server/proxy é um endereço IP ou nome DNS e porta opcional separada por dois pontos.
A configuração do cluster é um ou mais endereços de membros do grupo de server ou proxy separados por ponto e vírgula. Vários Zabbix servers/clusters e Zabbix proxies podem ser especificados, separados por vírgula. A menos que esteja usando grupos de proxy, não deve ser especificado mais de um Zabbix proxy de cada Zabbix server/cluster. Se o Zabbix proxy for especificado, então o Zabbix server/cluster para esse proxy não deve ser especificado.
Vários endereços separados por vírgula podem ser fornecidos para usar vários Zabbix servers independentes em paralelo. Espaços são permitidos.
Se a porta não for especificada, a porta padrão será usada.
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 este parâmetro não for especificado, as verificações ativas serão desabilitadas.

Exemplo para Zabbix proxy:

ServerActive=127.0.0.1:10051

Exemplo para grupo de Zabbix proxy:

ServerActive=proxy1.example.com;proxy2.example.com;proxy3.example.com;proxy4.example.com;proxy5.example.com

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

Intervalo: (*)

SourceIP

O endereço IP de origem para:

  • conexões de saída para o Zabbix server ou Zabbix proxy;
  • estabelecimento de conexões ao executar alguns items (web.page.get, net.tcp.port, etc.).
StartAgents

O número de instâncias pré-fork de zabbix_agentd que processam verificações passivas. Se definido como 0, as verificações passivas serão desativadas e o agent não escutará em nenhuma porta TCP.

Padrão: 10
Intervalo: 0-100 (*)

Timeout

Especifica quanto tempo esperar (em segundos) para estabelecer conexão e trocar dados com o Zabbix proxy ou server.

Este parâmetro define a duração de várias operações de comunicação, incluindo:

  • aguardar uma resposta do Zabbix server;
  • enviar solicitações ao Zabbix server, incluindo solicitações de configuração de item e dados de item em verificações ativas;
  • recuperar dados de log por meio do monitoramento de arquivos de log ou do log de eventos do Windows;
  • enviar mensagens de heartbeat;
  • duração máxima para verificações vfs.*;
  • usado pelos módulos do Zabbix agent;
  • servindo como fallback em cenários onde um server ou proxy anterior à versão 7.0 envia verificações sem timeouts.

Este timeout não será usado para aquelas verificações de agent que possuem configurações de timeout configuráveis no frontend (em nível global, proxy ou por item).

Padrão: 3
Intervalo: 1-30

TLSAccept

O nível de criptografia exigido para conexões de entrada. 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 os parâmetros de certificado TLS ou PSK estiverem definidos (mesmo para conexão unencrypted); caso contrário, não

TLSCAFile

O caminho completo do arquivo contendo o(s) certificado(s) da(s) CA(s) de nível superior para verificação do certificado do par, usado para comunicações criptografadas entre os componentes do Zabbix.

TLSCertFile

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

TLSConnect

O nível de criptografia exigido para conexões do agent com o Zabbix server ou proxy. Usado para verificações ativas. Apenas um valor pode ser especificado:

  • unencrypted - conectar sem criptografia (padrão);
  • psk - conectar usando TLS e uma chave pré-compartilhada (PSK);
  • cert - conectar usando TLS e um certificado.

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

TLSCRLFile

O caminho completo do arquivo contendo certificados revogados. Este parâmetro é usado para comunicações criptografadas entre os componentes do Zabbix.

TLSKeyFile

O caminho completo do arquivo contendo a chave privada do agent, usada para comunicações criptografadas entre os componentes do Zabbix.

TLSPSKFile

O caminho completo do arquivo contendo a chave pré-compartilhada do agent, usada para comunicações criptografadas com o Zabbix server.

TLSPSKIdentity

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

TLSServerCertIssuer

O emissor do certificado do servidor (proxy) permitido.

TLSServerCertSubject

O assunto do certificado do server (proxy) permitido.

UnsafeUserParameters

Permitir que todos os caracteres sejam passados como argumentos para parâmetros definidos pelo usuário. Os seguintes caracteres não são permitidos: \ ' " ` * ? [ ] { } \~ $ ! & ; ( ) < > | # @
Além disso, 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 para monitoramento. Pode haver vários parâmetros definidos pelo usuário.
Formato: UserParameter=<key>,<shell command>
Observe que o comando de shell não deve retornar uma string vazia nem apenas EOL. Os comandos de shell podem ter caminhos relativos, se o parâmetro UserParameterDir estiver especificado.

Exemplo:

UserParameter=system.test,dir /b | find /c /v ""
UserParameter=check_cpu,.\custom\_script.bat
UserParameterDir

O caminho de pesquisa padrão para comandos UserParameter. Se usado, o agent alterará seu diretório de trabalho para o especificado aqui antes de executar um comando. Assim, os comandos UserParameter podem usar um prefixo relativo ./ em vez de um caminho completo. Apenas uma entrada é permitida.

Exemplo:

UserParameterDir=C:\opt\myscripts

(*) O número de servidores ativos listados em ServerActive mais o número de instâncias pré-forked para verificações passivas especificadas em StartAgents deve ser menor que 64.