Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

1 agente Zabbix

Visão geral

Esta seção fornece detalhes sobre as chaves de item que usam comunicação com o agent Zabbix para coleta de dados.

Existem verificações de agent passivas e ativas. Ao configurar um item, você pode selecionar o tipo necessário:

  • Zabbix agent - para verificações passivas
  • Zabbix agent (active) - para verificações ativas

Observe que todas as chaves de item suportadas pelo agent Zabbix também são suportadas pelo agent Zabbix de nova geração, o agent 2. Veja as chaves de item adicionais que você pode usar apenas com o agent 2.

Chaves de item suportadas

As chaves de item que você pode usar com o agent Zabbix estão listadas abaixo.

As chaves de item são listadas sem parâmetros e informações adicionais. Clique na chave do item para ver todos os detalhes.

Chave do item Descrição Grupo de item
kernel.maxfiles O número máximo de arquivos abertos suportados pelo SO. Kernel
kernel.maxproc O número máximo de processos suportados pelo SO.
kernel.openfiles O número de descritores de arquivos abertos atualmente.
log O monitoramento de um arquivo de log. Monitoramento de log
log.count A contagem de linhas correspondentes em um arquivo de log monitorado.
logrt O monitoramento de um arquivo de log que é rotacionado.
logrt.count A contagem de linhas correspondentes em um arquivo de log monitorado que é rotacionado.
modbus.get Lê dados Modbus. Modbus
net.dns Verifica o status de um serviço DNS. Rede
net.dns.perf Verifica o desempenho de um serviço DNS.
net.dns.record Executa uma consulta DNS.
net.if.collisions O número de colisões fora da janela.
net.if.discovery A lista de interfaces de rede.
net.if.in As estatísticas de tráfego de entrada em uma interface de rede.
net.if.out As estatísticas de tráfego de saída em uma interface de rede.
net.if.total A soma das estatísticas de tráfego de entrada e saída em uma interface de rede.
net.tcp.listen Verifica se esta porta TCP está no estado LISTEN.
net.tcp.port Verifica se é possível fazer uma conexão TCP com a porta especificada.
net.tcp.service Verifica se um serviço está em execução e aceitando conexões TCP.
net.tcp.service.perf Verifica o desempenho de um serviço TCP.
net.tcp.socket.count Retorna o número de sockets TCP que correspondem aos parâmetros.
net.udp.listen Verifica se esta porta UDP está no estado LISTEN.
net.udp.service Verifica se um serviço está em execução e respondendo a solicitações UDP.
net.udp.service.perf Verifica o desempenho de um serviço UDP.
net.udp.socket.count Retorna o número de sockets UDP que correspondem aos parâmetros.
proc.cpu.util A porcentagem de utilização da CPU do processo. Processos
proc.get A lista de processos do SO e seus parâmetros.
proc.mem A memória usada pelo processo em bytes.
proc.num O número de processos.
sensor Leitura do sensor de hardware. Sensores
system.boottime O tempo de inicialização do sistema. Sistema
system.cpu.discovery A lista de CPUs/núcleos de CPU detectados.
system.cpu.intr As interrupções do dispositivo.
system.cpu.load A carga da CPU.
system.cpu.num O número de CPUs.
system.cpu.switches A contagem de trocas de contexto.
system.cpu.util A porcentagem de utilização da CPU.
system.hostname O nome do host do sistema.
system.hw.chassis As informações do chassi.
system.hw.cpu As informações da CPU.
system.hw.devices A listagem de dispositivos PCI ou USB.
system.hw.macaddr A listagem de endereços MAC.
system.localtime A hora do sistema.
system.run Executa o comando especificado no host.
system.stat As estatísticas do sistema.
system.sw.arch As informações da arquitetura do software.
system.sw.os As informações do sistema operacional.
system.sw.os.get Informações detalhadas sobre o sistema operacional (versão, tipo, nome da distribuição, versão menor e maior, etc).
system.sw.packages A listagem de pacotes instalados.
system.sw.packages.get Uma listagem detalhada de pacotes instalados.
system.swap.in As estatísticas de swap-in (do dispositivo para a memória).
system.swap.out As estatísticas de swap-out (da memória para o dispositivo).
system.swap.size O tamanho do espaço de swap em bytes ou em porcentagem do total.
system.uname Identificação do sistema.
system.uptime O tempo de atividade do sistema em segundos.
system.users.num O número de usuários conectados.
vfs.dev.discovery A lista de dispositivos de bloco e seu tipo. Sistemas de arquivos virtuais
vfs.dev.read As estatísticas de leitura do disco.
vfs.dev.write As estatísticas de gravação do disco.
vfs.dir.count A contagem de entradas do diretório.
vfs.dir.get A lista de entradas do diretório.
vfs.dir.size O tamanho do diretório.
vfs.file.cksum O checksum do arquivo, calculado pelo algoritmo UNIX cksum.
vfs.file.contents Recuperando o conteúdo de um arquivo.
vfs.file.exists Verifica se o arquivo existe.
vfs.file.get Retorna informações sobre um arquivo.
vfs.file.md5sum O checksum MD5 do arquivo.
vfs.file.owner Recupera o proprietário de um arquivo.
vfs.file.permissions Retorna uma string de 4 dígitos contendo o número octal com permissões UNIX.
vfs.file.regexp Recupera uma string no arquivo.
vfs.file.regmatch Encontra uma string no arquivo.
vfs.file.size O tamanho do arquivo.
vfs.file.time As informações de tempo do arquivo.
vfs.fs.discovery A lista de sistemas de arquivos montados com seu tipo e opções de montagem.
vfs.fs.get A lista de sistemas de arquivos montados com seu tipo, espaço em disco disponível, estatísticas de inode e opções de montagem.
vfs.fs.inode O número ou porcentagem de inodes.
vfs.fs.size O espaço em disco em bytes ou em porcentagem do total.
vm.memory.size O tamanho da memória em bytes ou em porcentagem do total. Memória virtual
web.page.get Obtém o conteúdo de uma página da web. Monitoramento web
web.page.perf O tempo de carregamento de uma página web completa.
web.page.regexp Encontra uma string na página web.
agent.hostmetadata Os metadados do host do agent. Zabbix
agent.hostname O nome do host do agent.
agent.ping A verificação de disponibilidade do agent.
agent.variant A variante do agent Zabbix (agent Zabbix ou agent Zabbix 2).
agent.version A versão do agent Zabbix.
zabbix.stats Retorna um conjunto de métricas internas do server ou proxy Zabbix remotamente.
zabbix.stats Retorna o número de items monitorados na fila que estão atrasados no server ou proxy Zabbix remotamente.

Plataformas suportadas

Exceto quando especificado de forma diferente nos detalhes do item, os items do agent (e todos os parâmetros) são suportados em:

  • Linux
  • FreeBSD
  • Solaris
  • HP-UX
  • AIX
  • MacOS X
  • OpenBSD
  • NetBSD

Muitos items do agent também são suportados no Windows. Veja a página item do agent do Windows para mais detalhes.

Detalhes da chave do item

Parâmetros sem colchetes angulares são obrigatórios. Parâmetros marcados com colchetes angulares < > são opcionais.

kernel.maxfiles


O número máximo de arquivos abertos suportados pelo SO.
Valor de retorno: Integer.
Plataformas suportadas: Linux, FreeBSD, MacOS X, OpenBSD, NetBSD.

kernel.maxproc


O número máximo de processos suportados pelo SO.
Valor de retorno: Inteiro.
Plataformas suportadas: Linux 2.6 e posterior, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.

kernel.openfiles


O número de descritores de arquivos abertos atualmente.
Valor de retorno: Integer.
Plataformas suportadas: Linux (o item pode funcionar em outras plataformas semelhantes ao UNIX).

log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]


O monitoramento de um arquivo de log.
Valor de retorno: Log.
Veja as plataformas suportadas.

Parâmetros:

  • file - o caminho completo e o nome de um arquivo de log;
  • regexp - uma expressão regular descrevendo o padrão necessário;
  • encoding - o identificador da página de código;
  • maxlines - o número máximo de novas linhas por segundo que o agent enviará para o Zabbix server ou proxy. Este parâmetro sobrescreve o valor de 'MaxLinesPerSecond' em zabbix_agentd.conf;
  • mode - valores possíveis: all (padrão) ou skip - ignora o processamento de dados antigos (afeta apenas itens recém-criados);
  • output - um modelo de formatação de saída opcional. A sequência de escape \0 é substituída pela parte do texto que correspondeu (do primeiro caractere onde a correspondência começa até o caractere onde termina), enquanto uma sequência de escape \N (onde N=1...9) é substituída pelo N-ésimo grupo correspondente (ou uma string vazia se N exceder o número de grupos capturados);
  • maxdelay - o atraso máximo em segundos. Tipo: float. Valores: 0 - (padrão) nunca ignora linhas do arquivo de log; > 0.0 - ignora linhas mais antigas para que as linhas mais recentes sejam analisadas dentro de "maxdelay" segundos. Leia as notas sobre maxdelay antes de usá-lo!
  • options - opções adicionais:
    mtime-noreread - registros não exclusivos, relê apenas se o tamanho do arquivo mudar (ignora a alteração do tempo de modificação). (Este parâmetro está obsoleto desde a versão 5.0.2, pois agora o mtime é ignorado.)
  • persistent dir (apenas no zabbix_agentd em sistemas Unix; não suportado no Zabbix agent 2) - o caminho absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre arquivos persistentes.

Comentários:

  • O item deve ser configurado como uma verificação ativa;
  • Se o arquivo estiver ausente ou as permissões não permitirem o acesso, o item se tornará não suportado;
  • Se output for deixado em branco - toda a linha contendo o texto correspondente será retornada. Observe que todos os tipos de expressão regular global, exceto 'Result is TRUE', sempre retornam a linha inteira correspondente e o parâmetro output é ignorado.
  • A extração de conteúdo usando o parâmetro output ocorre no agent.

Exemplos:

log[/var/log/syslog]
       log[/var/log/syslog,error]
       log[/home/zabbix/logs/logfile,,,100]

Exemplo de uso do parâmetro output para extrair um número de um registro de log:

log[/app1/app.log,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #este item corresponderá a um registro de log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e enviará apenas '6080' para o server. Como um valor numérico está sendo enviado, o "Tipo de informação" para este item pode ser definido como "Numérico (sem sinal)" e o valor pode ser usado em gráficos, triggers, etc.

Exemplo de uso do parâmetro output para reescrever um registro de log antes de enviar para o server:

log[/app1/app.log,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #este item corresponderá a um registro de log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e enviará um registro modificado "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" para o server.
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]


A contagem de linhas correspondentes em um arquivo de log monitorado.
Valor de retorno: Integer.
Veja as plataformas suportadas.

Parâmetros:

  • file - o caminho completo e o nome do arquivo de log;
  • regexp - uma expressão regular descrevendo o padrão necessário;
  • encoding - o identificador da página de código;
  • maxproclines - o número máximo de novas linhas por segundo que o agent irá analisar (não pode exceder 10000). O valor padrão é 10*'MaxLinesPerSecond' em zabbix_agentd.conf.
  • mode - valores possíveis: all (padrão) ou skip - ignora o processamento de dados antigos (afeta apenas novos items criados).
  • maxdelay - o atraso máximo em segundos. Tipo: float. Valores: 0 - (padrão) nunca ignora linhas do arquivo de log; > 0.0 - ignora linhas mais antigas para que as linhas mais recentes sejam analisadas dentro de "maxdelay" segundos. Leia as notas sobre maxdelay antes de usá-lo!
  • options - opções adicionais:
    mtime-noreread - registros não exclusivos, relê apenas se o tamanho do arquivo mudar (ignora alteração do tempo de modificação). (Este parâmetro está obsoleto desde a versão 5.0.2, pois agora o mtime é ignorado.)
  • persistent dir (apenas no zabbix_agentd em sistemas Unix; não suportado no Zabbix agent 2) - o caminho absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre arquivos persistentes.

Comentários:

  • O item deve ser configurado como um active check;
  • As linhas correspondentes são contadas nas novas linhas desde a última verificação de log pelo agent e, portanto, dependem do intervalo de atualização do item;
  • Se o arquivo estiver ausente ou as permissões não permitirem o acesso, o item se tornará não suportado.
logrt[file regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]


Monitoramento de um arquivo de log que é rotacionado.
Valor de retorno: Log.
Veja as plataformas suportadas.

Parâmetros:

  • file regexp - o caminho absoluto para o arquivo, com o nome do arquivo especificado usando uma expressão regular. Observe que a expressão regular se aplica apenas ao nome do arquivo e não precisa corresponder ao nome inteiro (por exemplo, /path/to/agent corresponderá a zabbix_agentd.log).
  • regexp - uma expressão regular descrevendo o padrão de conteúdo necessário.
  • encoding - o identificador da página de código.
  • maxlines - o número máximo de novas linhas por segundo que o agent enviará para o Zabbix server ou proxy. Este parâmetro substitui o valor de 'MaxLinesPerSecond' em zabbix_agentd.conf.
  • mode - valores possíveis: all (padrão) ou skip - ignora o processamento de dados antigos (afeta apenas itens recém-criados).
  • output - um modelo opcional de formatação de saída. A sequência de escape \0 é substituída pela parte do texto correspondente (do primeiro caractere onde a correspondência começa até o caractere onde a correspondência termina), enquanto uma sequência de escape \N (onde N=1...9) é substituída pelo N-ésimo grupo correspondente (ou uma string vazia se N exceder o número de grupos capturados).
  • maxdelay - o atraso máximo em segundos. Tipo: float. Valores: 0 - (padrão) nunca ignora linhas do arquivo de log; > 0.0 - ignora linhas mais antigas para que as linhas mais recentes sejam analisadas dentro de "maxdelay" segundos. Leia as notas sobre maxdelay antes de usá-lo!
  • options - o tipo de rotação do arquivo de log e outras opções. Valores possíveis:
    rotate (padrão),
    copytruncate - observe que copytruncate não pode ser usado junto com maxdelay. Neste caso, maxdelay deve ser 0 ou não especificado; veja as notas sobre copytruncate,
    mtime-reread - registros não exclusivos, reler se a hora de modificação ou o tamanho mudar (padrão),
    mtime-noreread - registros não exclusivos, reler apenas se o tamanho mudar (ignorar alteração na hora de modificação).
  • persistent dir (apenas no zabbix_agentd em sistemas Unix; não suportado no Zabbix agent 2) - o caminho absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre arquivos persistentes.

Comentários:

  • O item deve ser configurado como um active check;
  • A rotação do log é baseada na última hora de modificação dos arquivos;
  • Observe que logrt foi projetado para funcionar com um arquivo de log atualmente ativo, com vários outros arquivos inativos correspondentes rotacionados. Se, por exemplo, um diretório tiver muitos arquivos de log ativos, um item logrt separado deve ser criado para cada um. Caso contrário, se um item logrt capturar muitos arquivos, isso pode levar ao esgotamento da memória e a uma falha no monitoramento.
  • Se output for deixado vazio - toda a linha contendo o texto correspondente será retornada. Observe que todos os tipos de expressão regular global, exceto 'Result is TRUE', sempre retornam toda a linha correspondente e o parâmetro output é ignorado.
  • A extração de conteúdo usando o parâmetro output ocorre no agent.
  • No parâmetro file regexp, o caminho do diretório do log e a expressão regular do arquivo de log devem ser separados pelo separador de diretório correto:
    • no Windows, o separador deve ser uma barra invertida (\); barras normais podem ser toleradas em outras posições, exceto naquela que separa o caminho do diretório do log e a expressão regular do arquivo de log (veja exemplos abaixo).
    • em outros sistemas, deve ser uma barra normal (/).

Exemplos para Windows:

logrt["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #este item coletará dados de arquivos de log em "c:/dir1/dir2/dir3" onde o nome do arquivo começa com "filename" e termina com qualquer extensão que corresponda a ".log".
       logrt["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #este item coletará dados de arquivos de log no compartilhamento de rede "//example.com/share/dir1/dir2/dir3" onde o nome do arquivo começa com "filename" e termina com qualquer extensão que corresponda a ".log".

Exemplos para outros sistemas:

logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] #este item corresponderá a um arquivo como "logfile1" (não corresponderá a ".logfile1").
       logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #este item coletará dados de arquivos como "logfile_abc_1" ou "logfile__001".

Exemplo de uso do parâmetro output para extrair um número de um registro de log:

logrt[/app1/^test.*log$,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #este item corresponderá a um registro de log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e enviará apenas '6080' para o server. Como um valor numérico está sendo enviado, o "Tipo de informação" para este item pode ser definido como "Numérico (sem sinal)" e o valor pode ser usado em gráficos, triggers etc.

Exemplo de uso do parâmetro output para reescrever um registro de log antes de enviar para o server:

logrt[/app1/^test.*log$,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #este item corresponderá a um registro de log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e enviará um registro modificado "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" para o server.
logrt.count[file regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]


A contagem de linhas correspondentes em um arquivo de log monitorado que é rotacionado.
Valor de retorno: Integer.
Veja as plataformas suportadas.

Parâmetros:

  • file regexp - o caminho absoluto para o arquivo, com o nome do arquivo especificado usando uma expressão regular. Observe que a expressão regular se aplica apenas ao nome do arquivo e não precisa corresponder ao nome inteiro (por exemplo, /path/to/agent corresponderá a zabbix_agentd.log).
  • regexp - uma expressão regular descrevendo o padrão necessário.
  • encoding - o identificador da página de código.
  • maxproclines - o número máximo de novas linhas por segundo que o agent irá analisar (não pode exceder 10000). O valor padrão é 10*'MaxLinesPerSecond' em zabbix_agentd.conf.
  • mode - valores possíveis: all (padrão) ou skip - ignora o processamento de dados antigos (afeta apenas itens recém-criados).
  • maxdelay - o atraso máximo em segundos. Tipo: float. Valores: 0 - (padrão) nunca ignora linhas do arquivo de log; > 0.0 - ignora linhas mais antigas para que as linhas mais recentes sejam analisadas dentro de "maxdelay" segundos. Leia as notas sobre maxdelay antes de usá-lo!
  • options - o tipo de rotação do arquivo de log e outras opções. Valores possíveis:
    rotate (padrão),
    copytruncate - observe que copytruncate não pode ser usado junto com maxdelay. Neste caso, maxdelay deve ser 0 ou não especificado; veja as notas sobre copytruncate,
    mtime-reread - registros não exclusivos, reler se o tempo de modificação ou tamanho mudar (padrão),
    mtime-noreread - registros não exclusivos, reler apenas se o tamanho mudar (ignorar alteração do tempo de modificação).
  • persistent dir (apenas no zabbix_agentd em sistemas Unix; não suportado no Zabbix agent 2) - o caminho absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre arquivos persistentes.

Comentários:

  • O item deve ser configurado como um active check;
  • As linhas correspondentes são contadas nas novas linhas desde a última verificação de log pelo agent e, portanto, dependem do intervalo de atualização do item;
  • A rotação do log é baseada no último tempo de modificação dos arquivos;
  • No parâmetro file regexp, o caminho do diretório do log e a expressão regular do arquivo de log devem ser separados pelo separador de diretório correto:
    • no Windows, o separador deve ser uma barra invertida (\); barras normais podem ser toleradas em outras posições, exceto aquela que separa o caminho do diretório do log e a expressão regular do arquivo de log (veja exemplos abaixo).
    • em outros sistemas, deve ser uma barra normal (/).

Exemplos para Windows:

logrt.count["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #este item contará o número de correspondências para o padrão "pattern_to_match" em arquivos de log localizados em "c:/dir1/dir2/dir3".
       logrt.count["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #este item contará o número de correspondências para o padrão "pattern_to_match" em arquivos de log no compartilhamento de rede "//example.com/share/dir1/dir2/dir3".

Exemplos para outros sistemas:

logrt.count["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] #este item contará o número de correspondências para o padrão "^logfile[0-9]{1,3}$" em arquivos de log no diretório "/home/zabbix/logs".
       logrt.count["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #este item contará o número de ocorrências do padrão "pattern_to_match" em arquivos de log localizados em "/home/user".
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>]


Lê dados Modbus.
Valor de retorno: string JSON.
Plataformas suportadas: Linux.

Parâmetros:

  • endpoint - o endpoint definido como protocol://connection_string;
  • slave id - o ID do slave;
  • function - a função Modbus;
  • address - o endereço do primeiro registro, coil ou input;
  • count - o número de registros a serem lidos;
  • type - o tipo de dado;
  • endianness - a configuração de endianness;
  • offset - o número de registros, a partir de 'address', cujos resultados serão descartados.

Veja uma descrição detalhada dos parâmetros.

net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]


Verifica o status de um serviço DNS.
Valores de retorno: 0 - resolução de DNS falhou (o servidor DNS não respondeu ou retornou um erro); 1 - resolução de DNS bem-sucedida.
Veja as plataformas suportadas.

Parâmetros:

  • ip (ignorado no Windows, a menos que use o Zabbix agent 2) - o endereço IP do servidor DNS (deixe em branco para o servidor DNS padrão);
  • name - o nome DNS a ser consultado;
  • type - o tipo de registro a ser consultado (o padrão é SOA);
  • timeout (ignorado no Windows, a menos que use o Zabbix agent 2) - o tempo limite para a solicitação em segundos (o padrão é 1 segundo);
  • count (ignorado no Windows, a menos que use o Zabbix agent 2) - o número de tentativas para a solicitação (o padrão é 2);
  • protocol - o protocolo usado para executar consultas DNS: udp (padrão) ou tcp.

Comentários:

  • Os valores possíveis para type são: ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (não suportado para o Zabbix agent no Windows, Zabbix agent 2 em todos os SO), HINFO, MINFO, TXT, SRV
  • Para pesquisas de DNS reverso (quando type é definido como PTR), você pode fornecer o nome DNS tanto no formato invertido quanto no não invertido (veja exemplos abaixo). Observe que quando o registro PTR é solicitado, o nome DNS é na verdade um endereço IP.
  • Nomes de domínio internacionalizados não são suportados, use nomes codificados em IDNA.

Exemplos:

net.dns[198.51.100.1,example.com,MX,2,1]
       
       net.dns[,198.51.100.1,PTR]
       net.dns[,1.100.51.198.in-addr.arpa,PTR]
       
       net.dns[,2a00:1450:400f:800::200e,PTR]
       net.dns[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.perf[<ip>,name,<type>,<timeout>,<count>,<protocol>]


Verifica o desempenho de um serviço DNS.
Valor de retorno: Float (0 - serviço está inativo; segundos - número de segundos aguardando uma resposta do serviço).
Veja as plataformas suportadas.

Parâmetros:

  • ip (ignorado no Windows, a menos que esteja usando o Zabbix agent 2) - o endereço IP do servidor DNS (deixe em branco para o servidor DNS padrão);
  • name - o nome DNS a ser consultado;
  • type - o tipo de registro a ser consultado (o padrão é SOA);
  • timeout (ignorado no Windows, a menos que esteja usando o Zabbix agent 2) - o tempo limite para a solicitação em segundos (o padrão é 1 segundo);
  • count (ignorado no Windows, a menos que esteja usando o Zabbix agent 2) - o número de tentativas para a solicitação (o padrão é 2);
  • protocol - o protocolo usado para realizar consultas DNS: udp (padrão) ou tcp.

Comentários:

  • Os valores possíveis para type são:
    ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (não suportado para Zabbix agent no Windows, Zabbix agent 2 em todos os SO), HINFO, MINFO, TXT, SRV
  • Para pesquisas de DNS reverso (quando type é definido como PTR), você pode fornecer o nome DNS tanto no formato invertido quanto no não invertido (veja exemplos abaixo). Observe que quando o registro PTR é solicitado, o nome DNS é na verdade um endereço IP.
  • Nomes de domínio internacionalizados não são suportados, use nomes codificados em IDNA.
  • O item retorna um tempo de resposta em vez de 0 quando o servidor DNS responde com um código de erro (por exemplo, NXDOMAIN ou SERVFAIL).

Exemplos:

net.dns.perf[198.51.100.1,example.com,MX,2,1]
       
       net.dns.perf[,198.51.100.1,PTR]
       net.dns.perf[,1.100.51.198.in-addr.arpa,PTR]
       
       net.dns.perf[,2a00:1450:400f:800::200e,PTR]
       net.dns.perf[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]


Executa uma consulta DNS.

O Zabbix agent 2 também fornece net.dns.get, que oferece recursos adicionais, como mais tipos de registros e maior controle sobre o monitoramento de DNS. Valor de retorno: uma string de caracteres com o tipo de informação requerida.
Veja plataformas suportadas.

Parâmetros:

  • ip (ignorado no Windows, a menos que use o Zabbix agent 2) - o endereço IP do servidor DNS (deixe em branco para o servidor DNS padrão);
  • name - o nome DNS a ser consultado;
  • type - o tipo de registro a ser consultado (o padrão é SOA);
  • timeout (ignorado no Windows, a menos que use o Zabbix agent 2) - o tempo limite para a solicitação em segundos (o padrão é 1 segundo);
  • count (ignorado no Windows, a menos que use o Zabbix agent 2) - o número de tentativas para a solicitação (o padrão é 2);
  • protocol - o protocolo usado para executar consultas DNS: udp (padrão) ou tcp.

Comentários:

  • Os valores possíveis para type são:
    ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (não suportado para o Zabbix agent no Windows, Zabbix agent 2 em todos os SO), HINFO, MINFO, TXT, SRV
  • Para pesquisas de DNS reverso (quando type é definido como PTR), você pode fornecer o nome DNS no formato invertido ou não invertido (veja exemplos abaixo). Observe que, quando o registro PTR é solicitado, o nome DNS é, na verdade, um endereço IP.
  • Nomes de domínio internacionalizados não são suportados, use nomes codificados em IDNA.

Exemplos:

net.dns.record[198.51.100.1,example.com,MX,2,1]
       
       net.dns.record[,198.51.100.1,PTR]
       net.dns.record[,1.100.51.198.in-addr.arpa,PTR]
       
       net.dns.record[,2a00:1450:400f:800::200e,PTR]
       net.dns.record[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.if.collisions[if]


O número de colisões fora da janela.
Valor de retorno: Integer.
Plataformas suportadas: Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD. Privilégios de root são necessários no NetBSD.

Parâmetro:

  • if - nome da interface de rede
net.if.discovery


A lista de interfaces de rede. Usado para descoberta de baixo nível.
Valor de retorno: string JSON.
Plataformas suportadas: Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD.

net.if.in[if,<mode>]


As estatísticas de tráfego de entrada em uma interface de rede.
Valor de retorno: Integer.
Plataformas suportadas: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD. Privilégios de root são necessários no NetBSD.

Parâmetros:

  • if - nome da interface de rede (Unix); descrição completa da interface de rede ou endereço IPv4; ou, se entre chaves, GUID da interface de rede (Windows);
  • mode - valores possíveis:
    bytes - número de bytes (padrão)
    packets - número de pacotes
    errors - número de erros
    dropped - número de pacotes descartados
    overruns (fifo) - número de erros de buffer FIFO
    frame - número de erros de enquadramento de pacotes
    compressed - número de pacotes compactados recebidos pelo driver do dispositivo
    multicast - número de quadros multicast recebidos pelo driver do dispositivo

Comentários:

  • Você pode usar esta chave com a etapa de pré-processamento Change per second para obter as estatísticas de bytes por segundo;
  • O modo dropped é suportado apenas em Linux, FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD;
  • Os modos overruns, frame, compressed, multicast são suportados apenas em Linux;
  • No HP-UX este item não fornece detalhes sobre interfaces de loopback (por exemplo, lo0).

Exemplos:

net.if.in[eth0]
       net.if.in[eth0,errors]
net.if.out[if,<mode>]


As estatísticas de tráfego de saída em uma interface de rede.
Valor de retorno: Integer.
Plataformas suportadas: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD. Privilégios de root são necessários no NetBSD.

Parâmetros:

  • if - nome da interface de rede (Unix); descrição completa da interface de rede ou endereço IPv4; ou, se entre chaves, GUID da interface de rede (Windows);
  • mode - valores possíveis:
    bytes - número de bytes (padrão)
    packets - número de pacotes
    errors - número de erros
    dropped - número de pacotes descartados
    overruns (fifo) - número de erros de buffer FIFO
    collisions (colls) - número de colisões detectadas na interface
    carrier - número de perdas de portadora detectadas pelo driver do dispositivo
    compressed - número de pacotes comprimidos transmitidos pelo driver do dispositivo

Comentários:

  • Você pode usar esta chave com a etapa de pré-processamento Change per second para obter as estatísticas de bytes por segundo;
  • O modo dropped é suportado apenas no Linux, HP-UX;
  • Os modos overruns, collision, carrier, compressed são suportados apenas no Linux;
  • No HP-UX este item não fornece detalhes sobre interfaces de loopback (por exemplo, lo0).

Exemplos:

net.if.out[eth0]
       net.if.out[eth0,errors]
net.if.total[if,<mode>]


A soma das estatísticas de tráfego de entrada e saída em uma interface de rede.
Valor de retorno: Integer.
Plataformas suportadas: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD. Privilégios de root são necessários no NetBSD.

Parâmetros:

  • if - nome da interface de rede (Unix); descrição completa da interface de rede ou endereço IPv4; ou, se entre chaves, GUID da interface de rede (Windows);
  • mode - valores possíveis:
    bytes - número de bytes (padrão)
    packets - número de pacotes
    errors - número de erros
    dropped - número de pacotes descartados
    overruns (fifo) - número de erros de buffer FIFO
    collisions (colls) - número de colisões detectadas na interface
    compressed - número de pacotes compactados transmitidos ou recebidos pelo driver do dispositivo

Comentários:

  • Você pode usar esta chave com a etapa de pré-processamento Change per second para obter estatísticas de bytes por segundo;
  • O modo dropped é suportado apenas no Linux, HP-UX. Pacotes descartados são suportados apenas se ambos net.if.in e net.if.out funcionarem para pacotes descartados em sua plataforma.
  • Os modos overruns, collision, compressed são suportados apenas no Linux;
  • No HP-UX este item não fornece detalhes sobre interfaces de loopback (por exemplo, lo0).

Exemplos:

net.if.total[eth0]
       net.if.total[eth0,errors]
net.tcp.listen[port]


Verifica se esta porta TCP está no estado LISTEN.
Valores de retorno: 0 - não está no estado LISTEN; 1 - está no estado LISTEN.
Plataformas suportadas: Linux, FreeBSD, Solaris, MacOS X.

Parâmetro:

  • port - número da porta TCP

Em kernels Linux 2.6.14 e superiores, as informações sobre sockets TCP em escuta são obtidas da interface NETLINK do kernel, se possível. Caso contrário, as informações são recuperadas dos arquivos /proc/net/tcp e /roc/net/tcp6.

Exemplo:

net.tcp.listen[80]
net.tcp.port[<ip>,port]


Verifica se é possível fazer uma conexão TCP com a porta especificada.
Valores de retorno: 0 - não é possível conectar; 1 - é possível conectar.
Veja as plataformas suportadas.

Parâmetros:

  • ip - o endereço IP ou nome DNS (o padrão é 127.0.0.1);
  • port - o número da porta.

Comentários:

  • Para um teste simples de desempenho TCP, use net.tcp.service.perf[tcp,<ip>,<port>];
  • Essas verificações podem resultar em mensagens adicionais nos arquivos de log do sistema (sessões SMTP e SSH geralmente são registradas).

Exemplo:

net.tcp.port[,80] #este item pode ser usado para testar a disponibilidade do servidor web em execução na porta 80
net.tcp.service[service,<ip>,<port>]


Verifica se um serviço está em execução e aceitando conexões TCP.
Valores de retorno: 0 - serviço está inativo; 1 - serviço está em execução.
Veja as plataformas suportadas.

Parâmetros:

  • service - ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https ou telnet (veja detalhes);
  • ip - o endereço IP ou nome DNS (o padrão é 127.0.0.1);
  • port - o número da porta (por padrão, o número da porta padrão do serviço é usado).

Comentários:

  • Essas verificações podem resultar em mensagens adicionais nos arquivos de log do sistema (sessões SMTP e SSH geralmente são registradas);
  • A verificação de protocolos criptografados (como IMAP na porta 993 ou POP na porta 995) atualmente não é suportada. Como alternativa, use net.tcp.port[] para verificações como essas.
  • A verificação de LDAP e HTTPS no Windows é suportada apenas pelo Zabbix agent 2;
  • A verificação telnet procura por um prompt de login (':' no final).

Exemplo:

net.tcp.service[ftp,,45] #este item pode ser usado para testar a disponibilidade do servidor FTP na porta TCP 45
net.tcp.service.perf[service,<ip>,<port>]


Verifica o desempenho de um serviço TCP.
Valores de retorno: Float (0 - serviço está inativo; segundos - o número de segundos gastos esperando por uma resposta do serviço).
Veja as plataformas suportadas.

Parâmetros:

  • service - ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https ou telnet (veja detalhes);
  • ip - o endereço IP ou nome DNS (padrão é 127.0.0.1);
  • port - o número da porta (por padrão, o número da porta padrão do serviço é usado).

Comentários:

  • A verificação de protocolos criptografados (como IMAP na porta 993 ou POP na porta 995) atualmente não é suportada. Como alternativa, use net.tcp.service.perf[tcp,<ip>,<port>] para verificações como essas.
  • A verificação do telnet procura por um prompt de login (':' no final).

Exemplo:

net.tcp.service.perf[ssh] #este item pode ser usado para testar a velocidade da resposta inicial do servidor SSH
net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]


Retorna o número de sockets TCP que correspondem aos parâmetros.
Valor de retorno: Integer.
Plataformas suportadas: Linux.

Parâmetros:

  • laddr - o endereço IPv4/6 local ou sub-rede CIDR;
  • lport - o número da porta local ou nome do serviço;
  • raddr - o endereço IPv4/6 remoto ou sub-rede CIDR;
  • rport - o número da porta remota ou nome do serviço;
  • state - o estado da conexão (established, syn_sent, syn_recv, fin_wait1, fin_wait2, time_wait, close, close_wait, last_ack, listen, closing).

Exemplo:

net.tcp.socket.count[,80,,,established] #o número de conexões para a porta TCP local 80 no estado established
net.udp.listen[port]


Verifica se esta porta UDP está no estado LISTEN.
Valores de retorno: 0 - não está no estado LISTEN; 1 - está no estado LISTEN.
Plataformas suportadas: Linux, FreeBSD, Solaris, MacOS X.

Parâmetro:

  • port - número da porta UDP

Exemplo:

net.udp.listen[68]
net.udp.service[service,<ip>,<port>]


Verifica se um serviço está em execução e respondendo a solicitações UDP.
Valores de retorno: 0 - serviço está inativo; 1 - serviço está em execução.
Veja as plataformas suportadas.

Parâmetros:

  • service - ntp (veja detalhes);
  • ip - o endereço IP ou nome DNS (padrão é 127.0.0.1);
  • port - o número da porta (por padrão, o número da porta padrão do serviço é usado).

Exemplo:

net.udp.service[ntp,,45] #este item pode ser usado para testar a disponibilidade do serviço NTP na porta UDP 45
net.udp.service.perf[service,<ip>,<port>]


Verifica o desempenho de um serviço UDP.
Valores de retorno: Float (0 - serviço está inativo; segundos - o número de segundos gastos aguardando uma resposta do serviço).
Veja as plataformas suportadas.

Parâmetros:

  • service - ntp (veja detalhes);
  • ip - o endereço IP ou nome DNS (o padrão é 127.0.0.1);
  • port - o número da porta (por padrão, o número da porta padrão do serviço é usado).

Exemplo:

net.udp.service.perf[ntp] #este item pode ser usado para testar o tempo de resposta do serviço NTP
net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]


Retorna o número de sockets UDP que correspondem aos parâmetros.
Valor de retorno: Integer.
Plataformas suportadas: Linux.

Parâmetros:

  • laddr - o endereço IPv4/6 local ou sub-rede CIDR;
  • lport - o número da porta local ou nome do serviço;
  • raddr - o endereço IPv4/6 remoto ou sub-rede CIDR;
  • rport - o número da porta remota ou nome do serviço;
  • state - o estado da conexão (established, unconn).

Exemplo:

net.udp.socket.count[,,,,established] #retorna o número de sockets UDP no estado conectado
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]


A porcentagem de utilização da CPU pelo processo.
Valor de retorno: Float.
Plataformas suportadas: Linux, Solaris6.

Parâmetros:

  • name - o nome do processo (o padrão é todos os processos);
  • user - o nome do usuário (o padrão é todos os usuários);
  • type - o tipo de utilização da CPU: total (padrão), user ou system;
  • cmdline - filtro pela linha de comando (é uma expressão regular);
  • mode - o modo de coleta de dados: avg1 (padrão), avg5 ou avg15;
  • zone - a zona de destino: current (padrão) ou all. Este parâmetro é suportado apenas no Solaris.

Comentários:

  • O valor retornado é baseado na porcentagem de utilização de um único núcleo de CPU. Por exemplo, a utilização da CPU de um processo usando totalmente dois núcleos é 200%.
  • Os dados de utilização da CPU do processo são coletados por um coletor que suporta no máximo 1024 consultas únicas (por nome, usuário e linha de comando). Consultas não acessadas nas últimas 24 horas são removidas do coletor.
  • Ao definir o parâmetro zone como current (ou padrão), caso o agent tenha sido compilado em um Solaris sem suporte a zonas, mas esteja rodando em um Solaris mais novo onde zonas são suportadas, então o agent retornará NOTSUPPORTED (o agent não pode limitar os resultados apenas à zona atual). No entanto, all é suportado neste caso.

Exemplos:

proc.cpu.util[,root] #Utilização da CPU de todos os processos rodando sob o usuário "root"
       proc.cpu.util[zabbix_server,zabbix] #Utilização da CPU de todos os processos zabbix_server rodando sob o usuário zabbix
proc.get[<name>,<user>,<cmdline>,<mode>]


A lista de processos do SO e seus parâmetros. Pode ser usado para descoberta de baixo nível.
Valor de retorno: string JSON.
Plataformas suportadas: Linux, FreeBSD, Windows, OpenBSD, NetBSD.

Parâmetros:

  • name - o nome do processo (padrão todos os processos);
  • user - o nome do usuário (padrão todos os usuários);
  • cmdline - filtro por linha de comando (é uma expressão regular). Este parâmetro não é suportado para Windows; em outras plataformas não é suportado se o modo estiver definido como 'summary'.
  • mode - valores possíveis:
    process (padrão), thread (não suportado para NetBSD), summary. Veja uma lista de parâmetros de processo retornados para cada modo e SO.

Comentários:

  • Se um valor não puder ser recuperado, por exemplo, devido a um erro (processo já morreu, falta de permissões, falha na chamada do sistema), -1 será retornado;
  • Veja notas sobre a seleção de processos com os parâmetros name e cmdline (específico do Linux).

Exemplos:

proc.get[zabbix_server,zabbix,,process] #lista de todos os processos zabbix_server em execução sob o usuário zabbix, retorna uma entrada por PID
       proc.get[java,,,thread] #lista de todos os processos Java, retorna uma entrada por thread
       proc.get[,zabbix,,summary] #dados combinados para processos de cada tipo em execução sob o usuário zabbix, retorna uma entrada por nome de processo
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]


A memória usada pelo processo em bytes.
Valor de retorno: Integer - com mode como max, min, sum; Float - com mode como avg
Plataformas suportadas: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

Parâmetros:

  • name - o nome do processo (padrão é todos os processos);
  • user - o nome do usuário (padrão é todos os usuários);
  • mode - valores possíveis: avg, max, min ou sum (padrão);
  • cmdline - filtro pela linha de comando (é uma expressão regular);
  • memtype - o tipo de memória usada pelo processo

Comentários:

  • O parâmetro memtype é suportado apenas em Linux, FreeBSD, Solaris6, AIX;
  • Quando vários processos usam memória compartilhada, a soma da memória usada pelos processos pode resultar em valores grandes e irreais.

    Veja notas sobre seleção de processos com os parâmetros name e cmdline (específico para Linux).

    Quando este item é invocado pela linha de comando e contém um parâmetro de linha de comando (por exemplo, usando o modo de teste do agent: zabbix_agentd -t proc.mem[,,,apache2]), um processo extra será contado, pois o agent contará a si mesmo.

Exemplos:

proc.mem[,root] #a memória usada por todos os processos executados pelo usuário "root"
       proc.mem[zabbix_server,zabbix] #a memória usada por todos os processos zabbix_server executados pelo usuário zabbix
       proc.mem[,oracle,max,oracleZABBIX] #a memória usada pelo processo que mais consome memória executado pelo Oracle e que possui oracleZABBIX em sua linha de comando
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]


O número de processos.
Valor de retorno: Integer.
Plataformas suportadas: Linux, FreeBSD, Solaris6, HP-UX, AIX, OpenBSD, NetBSD.

Parâmetros:

  • name - o nome do processo (padrão: todos os processos);
  • user - o nome do usuário (padrão: todos os usuários);
  • state - valores possíveis:
    all (padrão),
    disk - sono ininterrupto,
    run - em execução,
    sleep - sono interrompível,
    trace - parado,
    zomb - zumbi;
  • cmdline - filtro pela linha de comando (é uma expressão regular);
  • zone - a zona de destino: current (padrão) ou all. Este parâmetro é suportado apenas no Solaris.

Comentários:

  • Os parâmetros de estado disk e trace são suportados apenas em Linux, FreeBSD, OpenBSD, NetBSD;
  • Quando este item é invocado pela linha de comando e contém um parâmetro de linha de comando (por exemplo, usando o modo de teste do agent: zabbix_agentd -t proc.num[,,,apache2]), um processo extra será contado, pois o agent contará a si mesmo;
  • Ao definir o parâmetro zone como current (ou padrão) caso o agent tenha sido compilado em um Solaris sem suporte a zonas, mas esteja rodando em um Solaris mais novo onde zonas são suportadas, então o agent retornará NOTSUPPORTED (o agent não pode limitar os resultados apenas à zona atual). No entanto, all é suportado neste caso.
  • Veja notas sobre seleção de processos com os parâmetros name e cmdline (específico para Linux).

Exemplos:

proc.num[,mysql] #número de processos rodando sob o usuário mysql
       proc.num[apache2,www-data] #número de processos apache2 rodando sob o usuário www-data
       proc.num[,oracle,sleep,oracleZABBIX] #número de processos em estado sleep rodando sob Oracle com oracleZABBIX em sua linha de comando
sensor[device,sensor,<mode>]


Leitura de sensor de hardware.
Valor de retorno: Float.
Plataformas suportadas: Linux, OpenBSD.

Parâmetros:

  • device - o nome do dispositivo, pode ser uma expressão regular se o modo for omitido;
  • sensor - o nome do sensor, pode ser uma expressão regular se o modo for omitido;
  • mode - valores possíveis: avg, max ou min (se este parâmetro for omitido, device e sensor são tratados literalmente).

Comentários:

  • Lê /proc/sys/dev/sensors no Linux 2.4;
  • Lê /sys/class/hwmon no Linux 2.6+. Veja uma descrição mais detalhada do item sensor no Linux.
  • Lê o MIB hw.sensors no OpenBSD.

Exemplos:

sensor[w83781d-i2c-0-2d,temp1]
       sensor[cpu0,temp0] #a temperatura de uma CPU
       sensor["cpu[0-2]$",temp,avg] #a temperatura média das três primeiras CPUs
system.boottime


O tempo de inicialização do sistema.
Valor de retorno: Inteiro (timestamp Unix).
Plataformas suportadas: Linux, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.

system.cpu.discovery


A lista de CPUs/núcleos de CPU detectados. Usado para descoberta de baixo nível.
Valor de retorno: string JSON.
Veja plataformas suportadas.

system.cpu.intr


As interrupções do dispositivo.
Valor de retorno: Inteiro.
Plataformas suportadas: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

system.cpu.load[<cpu>,<mode>]


A carga da CPU.
Valor de retorno: Float.
Veja as plataformas suportadas.

Parâmetros:

  • cpu - valores possíveis: all (padrão) ou percpu (a carga total dividida pelo número de CPUs online);
  • mode - valores possíveis: avg1 (média de um minuto, padrão), avg5 ou avg15.

Exemplo:

system.cpu.load[,avg5]
system.cpu.num[<type>]


O número de CPUs.
Valor de retorno: Integer.
Plataformas suportadas: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD.

Parâmetro:

  • type - valores possíveis: online (padrão) ou max

O parâmetro de tipo max é suportado apenas em Linux, FreeBSD, Solaris, MacOS X.

Exemplo:

system.cpu.num
system.cpu.switches


A contagem de trocas de contexto.
Valor de retorno: Inteiro.
Plataformas suportadas: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

system.cpu.util[<cpu>,<type>,<mode>,<logical or physical>]


A porcentagem de utilização da CPU.
Valor de retorno: Float.
Plataformas suportadas: Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD.

Parâmetros:

  • cpu - <número da CPU> ou all (padrão);
  • type - valores possíveis: user (padrão), idle, nice, system, iowait, interrupt, softirq, steal, spin (no OpenBSD), guest (em kernels Linux 2.6.24 e superiores) ou guest_nice (em kernels Linux 2.6.33 e superiores);
  • mode - valores possíveis: avg1 (média de um minuto, padrão), avg5 ou avg15;
  • logical or physical - valores possíveis: logical (padrão) ou physical. Este parâmetro é suportado apenas no AIX.

Comentários:

  • O parâmetro de tipo nice é suportado apenas em Linux, FreeBSD, HP-UX, OpenBSD, NetBSD.
  • O parâmetro de tipo iowait é suportado apenas em Linux 2.6 e superior, Solaris, AIX.
  • O parâmetro de tipo interrupt é suportado apenas em Linux 2.6 e superior, FreeBSD, OpenBSD.
  • Os parâmetros de tipo softirq, steal, guest, guest_nice são suportados apenas em Linux 2.6 e superior.
  • Os parâmetros de modo avg5 e avg15 são suportados em Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD.

Exemplo:

system.cpu.util[0,user,avg5]
system.hostname[<type>,<transform>]


O nome do host do sistema.
Valor de retorno: String.
Veja plataformas suportadas.

Parâmetros:

  • type - valores possíveis: netbios (padrão no Windows), host (padrão no Linux), shorthost (retorna parte do nome do host antes do primeiro ponto, uma string completa para nomes sem pontos), fqdn (retorna o Fully Qualified Domain Name);
  • transform - valores possíveis: none (padrão) ou lower (converte para minúsculas).

O valor é obtido pegando o nodename da saída da API do sistema uname().

Exemplos de valores retornados:

system.hostname → linux-w7x1
       system.hostname → example.com
       system.hostname[shorthost] → example
       system.hostname → WIN-SERV2008-I6
       system.hostname[host] → Win-Serv2008-I6LonG
       system.hostname[host,lower] → win-serv2008-i6long
       system.hostname[fqdn,lower] → blog.zabbix.com
system.hw.chassis[<info>]


Informações do chassi.
Valor de retorno: String.
Plataformas suportadas: Linux.

Parâmetro:

  • info - valores possíveis: full (padrão), model, serial, type ou vendor

Comentários:

  • Esta chave de item depende da disponibilidade da tabela SMBIOS;
  • Tentará ler a tabela DMI do sysfs, se o acesso ao sysfs falhar, tentará ler diretamente da memória;
  • Permissões de root são necessárias porque o valor é obtido lendo do sysfs ou da memória.

Exemplo:

system.hw.chassis[full] → Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop
system.hw.cpu[<cpu>,<info>]


Informações da CPU.
Valor de retorno: String ou Integer.
Plataformas suportadas: Linux.

Parâmetros:

  • cpu - <número da CPU> ou all (padrão);
  • info - valores possíveis: full (padrão), curfreq, maxfreq, model ou vendor.

Comentários:

  • Coleta informações de /proc/cpuinfo e /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq;
  • Se um número de CPU e curfreq ou maxfreq for especificado, um valor numérico é retornado (Hz).

Exemplo:

system.hw.cpu[0,vendor] → AuthenticAMD
system.hw.devices[<type>]


A listagem de dispositivos PCI ou USB.
Valor de retorno: Texto.
Plataformas suportadas: Linux.

Parâmetro:

  • type - pci (padrão) ou usb

Retorna a saída do utilitário lspci ou lsusb (executado sem nenhum parâmetro).

Exemplo:

system.hw.devices → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
system.hw.macaddr[<interface>,<format>]


A listagem de endereços MAC.
Valor de retorno: String.
Plataformas suportadas: Linux.

Parâmetros:

  • interface - all (padrão) ou uma expressão regular;
  • format - full (padrão) ou short

Comentários:

  • Lista os endereços MAC das interfaces cujo nome corresponde à expressão regular interface fornecida (all lista para todas as interfaces);
  • Se format for especificado como short, nomes de interfaces e endereços MAC idênticos não são listados.

Exemplo:

system.hw.macaddr["eth0$",full] → [eth0] 00:11:22:33:44:55
system.localtime[<type>]


A hora do sistema.
Valor de retorno: Integer - com type como utc; String - com type como local.
Veja as plataformas suportadas.

Parâmetros:

  • type - valores possíveis: utc - (padrão) o tempo desde a Época (00:00:00 UTC, 1 de janeiro de 1970), medido em segundos ou local - o tempo no formato 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm'

Deve ser usado como uma verificação passiva para o agent Zabbix; no agent Zabbix 2 pode ser configurado como uma verificação ativa.

Exemplo:

system.localtime[local] #crie um item usando esta chave e depois use-o para exibir a hora do host no widget *Clock* do dashboard.
system.run[command,<mode>]


Executa o comando especificado no host.
Valor de retorno: resultado do Texto do comando ou 1 - com mode como nowait (independentemente do resultado do comando).
Veja as plataformas suportadas.

Parâmetros:

  • command - comando para execução;
  • mode - valores possíveis: wait - aguarda o término da execução (padrão) ou nowait - não aguarda.

Comentários:

  • Este item está desabilitado por padrão. Saiba como habilitá-los;
  • O valor de retorno do item é a saída padrão juntamente com o erro padrão produzido pelo comando. A verificação do código de saída não é realizada;
  • Para ser processado corretamente, o valor de retorno do comando deve ser do tipo de dado text. Um resultado vazio também é permitido;
  • O valor de retorno é limitado a 16MB (incluindo espaços em branco à direita que são truncados); limites do banco de dados também se aplicam;
  • Veja também: Execução de comandos.

Exemplo:

system.run[ls -l /] #retorna uma lista detalhada de arquivos do diretório raiz
system.stat[resource,<type>]


As estatísticas do sistema.
Valor de retorno: Integer ou float.
Plataformas suportadas: AIX.

Parâmetros:

  • ent - o número de unidades de processador que esta partição tem direito de receber (float);
  • kthr,<type> - informações sobre os estados das threads do kernel:
    r - número médio de threads do kernel executáveis (float)
    b - número médio de threads do kernel colocadas na fila de espera do Gerenciador de Memória Virtual (float)
  • memory,<type> - informações sobre o uso de memória virtual e real:
    avm - páginas virtuais ativas (integer)
    fre - tamanho da lista livre (integer)
  • page,<type> - informações sobre falhas de página e atividade de paginação:
    fi - page-ins de arquivo por segundo (float)
    fo - page-outs de arquivo por segundo (float)
    pi - páginas paginadas do espaço de paginação (float)
    po - páginas paginadas para o espaço de paginação (float)
    fr - páginas liberadas (substituição de página) (float)
    sr - páginas examinadas pelo algoritmo de substituição de página (float)
  • faults,<type> - taxa de trap e interrupção:
    in - interrupções de dispositivo (float)
    sy - chamadas de sistema (float)
    cs - trocas de contexto de threads do kernel (float)
  • cpu,<type> - detalhamento da porcentagem de uso do tempo do processador:
    us - tempo de usuário (float)
    sy - tempo de sistema (float)
    id - tempo ocioso (float)
    wa - tempo ocioso durante o qual o sistema tinha solicitações pendentes de I/O de disco/NFS (float)
    pc - número de processadores físicos consumidos (float)
    ec - porcentagem da capacidade de direito consumida (float)
    lbusy - indica a porcentagem de utilização do(s) processador(es) lógico(s) que ocorreu enquanto executava no nível de usuário e sistema (float)
    app - indica os processadores físicos disponíveis no pool compartilhado (float)
  • disk,<type> - estatísticas de disco:
    bps - indica a quantidade de dados transferidos (lidos ou gravados) para a unidade em bytes por segundo (integer)
    tps - indica o número de transferências por segundo que foram emitidas para o disco/tape físico (float)

Comentários:

  • Observe as seguintes limitações nesses items:
    system.stat[cpu,app] - suportado apenas em AIX LPAR do tipo "Shared"
    system.stat[cpu,ec] - suportado em AIX LPAR do tipo "Shared" e "Dedicated" ("Dedicated" sempre retorna 100 (por cento))
    system.stat[cpu,lbusy] - suportado apenas em AIX LPAR do tipo "Shared"
    system.stat[cpu,pc] - suportado em AIX LPAR do tipo "Shared" e "Dedicated"
    system.stat[ent] - suportado em AIX LPAR do tipo "Shared" e "Dedicated"
system.sw.arch


Informação da arquitetura do software.
Valor de retorno: String.
Veja plataformas suportadas.

A informação é adquirida da função uname().

Exemplo:

system.sw.arch → i686
system.sw.os[<info>]


Informação do sistema operacional.
Valor de retorno: String.
Plataformas suportadas: Linux, Windows.

Parâmetro:

  • info - valores possíveis: full (padrão), short ou name

A informação é obtida de (note que nem todos os arquivos e opções estão presentes em todas as distribuições):

  • /proc/version (full) no Linux;
  • /proc/version_signature (short) no Linux;
  • o parâmetro PRETTY_NAME de /etc/os-release em sistemas Linux que o suportam ou /etc/issue.net (name);
  • a chave de registro HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion no Windows.

Exemplos:

system.sw.os[short] → Ubuntu 2.6.35-28.50-generic 2.6.35.11
       system.sw.os[full] → [s|Windows 10 Enterprise 22621.1.asd64fre.ni_release.220506-1250 Build 22621.963]
system.sw.os.get


Informações detalhadas sobre o sistema operacional (versão, tipo, nome da distribuição, versão menor e principal, etc).
Valor de retorno: string JSON.
Plataformas suportadas: Linux, Windows.

system.sw.packages[<regexp>,<manager>,<format>]


A listagem dos pacotes instalados.
Valor de retorno: Texto.
Plataformas suportadas: Linux.

Parâmetros:

  • regexp - all (padrão) ou uma expressão regular;
  • manager - all (padrão) ou um gerenciador de pacotes;
  • format - full (padrão) ou short.

Comentários:

  • Lista (em ordem alfabética) os pacotes instalados cujo nome corresponde à expressão regular fornecida (all lista todos);
  • Gerenciadores de pacotes suportados (comando executado):
    dpkg (dpkg --get-selections)
    pkgtool (ls /var/log/packages)
    rpm (rpm -qa)
    pacman (pacman -Q)
    portage
  • Se format for especificado como full, os pacotes são agrupados por gerenciadores de pacotes (cada gerenciador em uma linha separada, começando com seu nome entre colchetes);
  • Se format for especificado como short, os pacotes não são agrupados e são listados em uma única linha.

Exemplo:

system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal
system.sw.packages.get[<regexp>,<manager>]


Uma listagem detalhada dos pacotes instalados.
Valor de retorno: string JSON.
Plataformas suportadas: Linux.

Parâmetros:

  • regexp - all (padrão) ou uma expressão regular;
  • manager - all (padrão) ou um gerenciador de pacotes (valores possíveis: rpm, dpkg, pkgtool, pacman ou portage).

Comentários:

  • Retorna um JSON não formatado com os pacotes instalados cujo nome corresponde à expressão regular fornecida;
  • A saída é um array de objetos, cada um contendo as seguintes chaves: name, manager, version, size, architecture, buildtime e installtime (veja mais detalhes).
system.swap.in[<device>,<type>]


As estatísticas de swap-in (do dispositivo para a memória).
Valor de retorno: Integer.
Plataformas suportadas: Linux, FreeBSD, OpenBSD.

Parâmetros:

  • device - especifica o dispositivo usado para swap (apenas Linux) ou all (padrão);
  • type - valores possíveis: count (número de swapins, padrão em plataformas que não sejam Linux), sectors (setores trocados), ou pages (páginas trocadas, padrão no Linux).

Comentários:

  • A fonte desta informação é:
    /proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
    /proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
  • Observe que pages só funcionará se o dispositivo não for especificado;
  • O parâmetro de tipo sectors é suportado apenas no Linux.

Exemplo:

system.swap.in[,pages]
system.swap.out[<device>,<type>]


As estatísticas de swap-out (da memória para o dispositivo).
Valor de retorno: Integer.
Plataformas suportadas: Linux, FreeBSD, OpenBSD.

Parâmetros:

  • device - especifica o dispositivo usado para swap (apenas Linux) ou all (padrão);
  • type - valores possíveis: count (número de swapouts, padrão em plataformas não-Linux), sectors (setores trocados), ou pages (páginas trocadas, padrão no Linux).

Comentários:

  • A fonte desta informação é:
    /proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
    /proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
  • Observe que pages só funcionará se o dispositivo não for especificado;
  • O parâmetro de tipo sectors é suportado apenas no Linux.

Exemplo:

system.swap.out[,pages]
system.swap.size[<device>,<type>]


O tamanho do espaço de swap em bytes ou em porcentagem do total.
Valor de retorno: Integer - para bytes; Float - para porcentagem.
Plataformas suportadas: Linux, FreeBSD, Solaris, AIX, OpenBSD.

Parâmetros:

  • device - especifica o dispositivo usado para swap (apenas FreeBSD) ou all (padrão);
  • type - valores possíveis: free (espaço de swap livre, padrão), pfree (espaço de swap livre, em porcentagem), pused (espaço de swap usado, em porcentagem), total (espaço de swap total) ou used (espaço de swap usado).

Comentários:

  • Note que pfree, pused não são suportados no Windows se o tamanho do swap for 0;
  • Se o dispositivo não for especificado, o agent Zabbix levará em consideração apenas dispositivos de swap (arquivos), a memória física será ignorada. Por exemplo, em sistemas Solaris, o comando swap -s inclui uma parte da memória física e dispositivos de swap (diferente do swap -l).

Exemplo:

system.swap.size[,pfree] → porcentagem de espaço de swap livre
system.uname


Identificação do sistema.
Valor de retorno: String.
Veja plataformas suportadas.

Comentários:

  • No UNIX, o valor deste item é obtido com a chamada de sistema uname();
  • No Windows, o item retorna a arquitetura do SO, enquanto no UNIX retorna a arquitetura da CPU.

Exemplos:

system.uname → FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386
       system.uname → Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86
system.uptime


O tempo de atividade do sistema em segundos.
Valor de retorno: Integer.
Plataformas suportadas: Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD.

Na configuração do item, use as unidades s ou uptime para obter valores legíveis.

system.users.num


O número de usuários conectados.
Valor de retorno: Inteiro.
Veja as plataformas suportadas.

O comando who é usado no lado do agent para obter o valor.

vfs.dev.discovery


A lista de dispositivos de bloco e seu tipo. Usado para descoberta de baixo nível.
Valor de retorno: string JSON.
Plataformas suportadas: Linux.

vfs.dev.read[<device>,<type>,<mode>]


As estatísticas de leitura do disco.
Valor de retorno: Integer - com type em sectors, operations, bytes; Float - com type em sps, ops, bps.
Plataformas suportadas: Linux, FreeBSD, Solaris, AIX, OpenBSD.

Parâmetros:

  • device - dispositivo de disco (o padrão é all 3);
  • type - valores possíveis: sectors, operations, bytes, sps, ops ou bps (sps, ops, bps significam: setores, operações, bytes por segundo, respectivamente);
  • mode - valores possíveis: avg1 (média de um minuto, padrão), avg5 ou avg15. Este parâmetro é suportado apenas com type em: sps, ops, bps.

Comentários:

  • Se usar um intervalo de atualização de três horas ou mais2, este item sempre retornará '0';
  • Os parâmetros de tipo sectors e sps são suportados apenas no Linux;
  • O parâmetro de tipo ops é suportado apenas no Linux e FreeBSD;
  • O parâmetro de tipo bps é suportado apenas no FreeBSD;
  • O parâmetro de tipo bytes é suportado apenas no FreeBSD, Solaris, AIX, OpenBSD;
  • O parâmetro mode é suportado apenas no Linux, FreeBSD;
  • Você pode usar nomes de dispositivos relativos (por exemplo, sda) bem como um prefixo /dev/ opcional (por exemplo, /dev/sda);
  • Volumes lógicos LVM são suportados;
  • Os valores padrão do parâmetro 'type' para diferentes sistemas operacionais:
    AIX - operations
    FreeBSD - bps
    Linux - sps
    OpenBSD - operations
    Solaris - bytes
  • sps, ops e bps nas plataformas suportadas são limitados a 1024 dispositivos (1023 individuais e um para all).

Exemplo:

vfs.dev.read[,operations]
vfs.dev.write[<device>,<type>,<mode>]


As estatísticas de escrita em disco.
Valor de retorno: Integer - com type em sectors, operations, bytes; Float - com type em sps, ops, bps.
Plataformas suportadas: Linux, FreeBSD, Solaris, AIX, OpenBSD.

Parâmetros:

  • device - dispositivo de disco (o padrão é all 3);
  • type - valores possíveis: sectors, operations, bytes, sps, ops ou bps (sps, ops, bps significam: setores, operações, bytes por segundo, respectivamente);
  • mode - valores possíveis: avg1 (média de um minuto, padrão), avg5 ou avg15. Este parâmetro é suportado apenas com type em: sps, ops, bps.

Comentários:

  • Se usar um intervalo de atualização de três horas ou mais2, este item sempre retornará '0';
  • Os parâmetros de tipo sectors e sps são suportados apenas no Linux;
  • O parâmetro de tipo ops é suportado apenas no Linux e FreeBSD;
  • O parâmetro de tipo bps é suportado apenas no FreeBSD;
  • O parâmetro de tipo bytes é suportado apenas no FreeBSD, Solaris, AIX, OpenBSD;
  • O parâmetro mode é suportado apenas no Linux, FreeBSD;
  • Você pode usar nomes de dispositivos relativos (por exemplo, sda) bem como um prefixo /dev/ opcional (por exemplo, /dev/sda);
  • Volumes lógicos LVM são suportados;
  • Os valores padrão do parâmetro 'type' para diferentes sistemas operacionais:
    AIX - operations
    FreeBSD - bps
    Linux - sps
    OpenBSD - operations
    Solaris - bytes
  • sps, ops e bps nas plataformas suportadas são limitados a 1024 dispositivos (1023 individuais e um para all).

Exemplo:

vfs.dev.write[,operations]
vfs.dir.count[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]


A contagem de entradas de diretório.
Valor de retorno: Inteiro.
Veja as plataformas suportadas.

Parâmetros:

  • dir - o caminho absoluto para o diretório;
  • regex incl - uma expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) a ser incluída; inclui todas se vazio (valor padrão);
  • regex excl - uma expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) a ser excluída; não exclui nenhuma se vazio (valor padrão);
  • types incl - tipos de entradas de diretório a serem contadas, valores possíveis: file - arquivo regular, dir - subdiretório, sym - link simbólico, sock - socket, bdev - dispositivo de bloco, cdev - dispositivo de caractere, fifo - FIFO, dev - sinônimo de "bdev,cdev", all - todos os tipos (padrão), ou seja, "file,dir,sym,sock,bdev,cdev,fifo". Vários tipos devem ser separados por vírgula e entre aspas.
  • types excl - tipos de entradas de diretório (veja types incl) que NÃO devem ser contadas. Se algum tipo de entrada estiver em ambos types incl e types excl, as entradas desse tipo NÃO serão contadas.
  • max depth - a profundidade máxima de subdiretórios a serem percorridos:
    -1 (padrão) - ilimitado,
    0 - não desce em subdiretórios.
  • min size - o tamanho mínimo (em bytes) para que o arquivo seja contado. Arquivos menores não serão contados. Sufixos de memória podem ser usados.
  • max size - o tamanho máximo (em bytes) para que o arquivo seja contado. Arquivos maiores não serão contados. Sufixos de memória podem ser usados.
  • min age - a idade mínima (em segundos) da entrada de diretório a ser contada. Entradas mais recentes não serão contadas. Sufixos de tempo podem ser usados.
  • max age - a idade máxima (em segundos) da entrada de diretório a ser contada. Entradas tão antigas e mais antigas não serão contadas (tempo de modificação). Sufixos de tempo podem ser usados.
  • regex excl dir - uma expressão regular descrevendo o padrão de nome do diretório a ser excluído. Todo o conteúdo do diretório será excluído (em contraste com regex_excl)

Comentários:

  • Variáveis de ambiente, por exemplo, %APP_HOME%, $HOME e %TEMP% não são suportadas;
  • Pseudo-diretórios "." e ".." nunca são contados;
  • Links simbólicos nunca são seguidos para percorrer diretórios;
  • Tanto regex incl quanto regex excl são aplicados a arquivos e diretórios ao calcular a contagem de entradas, mas são ignorados ao escolher subdiretórios para percorrer (se regex incl for “(?i)^.+\.zip$” e max depth não estiver definido, então todos os subdiretórios serão percorridos, mas apenas os arquivos do tipo zip serão contados).
  • O tempo de execução é limitado pelo valor de timeout na configuração do agent (3 seg). Como a varredura de diretórios grandes pode levar mais tempo do que isso, nenhum dado será retornado e o item ficará como não suportado. A contagem parcial não será retornada.
  • Ao filtrar por tamanho, apenas arquivos regulares têm tamanhos significativos. No Linux e BSD, diretórios também têm tamanhos diferentes de zero (normalmente alguns Kb). Dispositivos têm tamanho zero, por exemplo, o tamanho de /dev/sda1 não reflete o tamanho da partição respectiva. Portanto, ao usar <min_size> e <max_size>, recomenda-se especificar <types_incl> como "file", para evitar surpresas.

Exemplos:

vfs.dir.count[/dev] #monitora o número de dispositivos em /dev (Linux)
       vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] #monitora o número de arquivos em um diretório temporário
vfs.dir.get[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]


A lista de entradas do diretório.
Valor de retorno: string JSON.
Veja as plataformas suportadas.

Parâmetros:

  • dir - o caminho absoluto para o diretório;
  • regex incl - uma expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) a ser incluída; inclui todos se vazio (valor padrão);
  • regex excl - uma expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) a ser excluída; não exclui nenhum se vazio (valor padrão);
  • types incl - tipos de entradas de diretório a serem listadas, valores possíveis: file - arquivo regular, dir - subdiretório, sym - link simbólico, sock - socket, bdev - dispositivo de bloco, cdev - dispositivo de caractere, fifo - FIFO, dev - sinônimo de "bdev,cdev", all - todos os tipos (padrão), ou seja, "file,dir,sym,sock,bdev,cdev,fifo". Vários tipos devem ser separados por vírgula e entre aspas.
  • types excl - tipos de entradas de diretório (veja types incl) que NÃO devem ser listadas. Se algum tipo de entrada estiver em ambos types incl e types excl, as entradas desse tipo NÃO serão listadas.
  • max depth - a profundidade máxima de subdiretórios a serem percorridos:
    -1 (padrão) - ilimitado,
    0 - não desce em subdiretórios.
  • min size - o tamanho mínimo (em bytes) para o arquivo ser listado. Arquivos menores não serão listados. Sufixos de memória podem ser usados.
  • max size - o tamanho máximo (em bytes) para o arquivo ser listado. Arquivos maiores não serão listados. Sufixos de memória podem ser usados.
  • min age - a idade mínima (em segundos) da entrada do diretório a ser listada. Entradas mais recentes não serão listadas. Sufixos de tempo podem ser usados.
  • max age - a idade máxima (em segundos) da entrada do diretório a ser listada. Entradas tão antigas e mais antigas não serão listadas (hora de modificação). Sufixos de tempo podem ser usados.
  • regex excl dir - uma expressão regular descrevendo o padrão de nome do diretório a ser excluído. Todo o conteúdo do diretório será excluído (em contraste com regex excl)

Comentários:

  • Variáveis de ambiente, por exemplo, %APP_HOME%, $HOME e %TEMP% não são suportadas;
  • Pseudo-diretórios "." e ".." nunca são listados;
  • Links simbólicos nunca são seguidos para percorrer diretórios;
  • Tanto regex incl quanto regex excl são aplicados a arquivos e diretórios ao gerar a lista de entradas, mas são ignorados ao escolher subdiretórios para percorrer (se regex incl for “(?i)^.+\.zip$” e max depth não estiver definido, então todos os subdiretórios serão percorridos, mas apenas os arquivos do tipo zip serão contados).
  • O tempo de execução é limitado pelo valor de timeout na configuração do agent. Como a varredura de diretórios grandes pode levar mais tempo do que isso, nenhum dado será retornado e o item ficará como não suportado. A lista parcial não será retornada.
  • Ao filtrar por tamanho, apenas arquivos regulares têm tamanhos significativos. No Linux e BSD, diretórios também têm tamanhos diferentes de zero (normalmente alguns Kb). Dispositivos têm tamanho zero, por exemplo, o tamanho de /dev/sda1 não reflete o tamanho da partição respectiva. Portanto, ao usar min size e max size, recomenda-se especificar types incl como "file", para evitar surpresas.

Exemplos:

vfs.dir.get[/dev] #recupera a lista de dispositivos em /dev (Linux)
       vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] #recupera a lista de arquivos em um diretório temporário
vfs.dir.size[dir,<regex incl>,<regex excl>,<mode>,<max depth>,<regex excl dir>]


O tamanho do diretório (em bytes).
Valor de retorno: Integer.
Plataformas suportadas: Linux, Windows. O item pode funcionar em outras plataformas do tipo UNIX.

Parâmetros:

  • dir - o caminho absoluto para o diretório;
  • regex incl - uma expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) a ser incluída; inclui todos se vazio (valor padrão);
  • regex excl - uma expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) a ser excluída; não exclui nenhum se vazio (valor padrão);
  • mode - valores possíveis: apparent (padrão) - obtém tamanhos aparentes de arquivos em vez do uso em disco (atua como du -sb dir), disk - obtém o uso em disco (atua como du -s -B1 dir). Diferente do comando du, o item vfs.dir.size leva em consideração arquivos ocultos ao calcular o tamanho do diretório (atua como du -sb .[^.]* * dentro do dir).
  • max depth - a profundidade máxima de subdiretórios a percorrer: -1 (padrão) - ilimitado, 0 - não desce em subdiretórios.
  • regex excl dir - uma expressão regular descrevendo o padrão de nome do diretório a ser excluído. Todo o conteúdo do diretório será excluído (em contraste com regex excl)

Comentários:

  • Apenas diretórios com pelo menos permissão de leitura para o usuário zabbix são calculados. Para diretórios com permissão apenas de leitura, o tamanho do próprio diretório é calculado. Diretórios com permissões de leitura e execução são calculados incluindo o conteúdo.
  • Com diretórios grandes ou discos lentos, este item pode exceder o tempo limite devido à configuração Timeout nos arquivos de configuração do agent e do server/proxy. Aumente os valores de timeout conforme necessário.
  • O limite de tamanho de arquivo depende do suporte a arquivos grandes.

Exemplos:

vfs.dir.size[/tmp,log] #calcula o tamanho de todos os arquivos em /tmp contendo 'log' em seus nomes
       vfs.dir.size[/tmp,log,^.+\.old$] #calcula o tamanho de todos os arquivos em /tmp contendo 'log' em seus nomes, excluindo arquivos com nomes terminando em '.old'
vfs.file.cksum[file,<mode>]


O checksum do arquivo, calculado pelo algoritmo UNIX cksum.
Valor de retorno: Integer - com mode como crc32, String - com mode como md5, sha256.
Veja plataformas suportadas.

Parâmetros:

  • file - o caminho completo para o arquivo;
  • mode - crc32 (padrão), md5 ou sha256.

O limite de tamanho do arquivo depende do suporte a arquivos grandes.

Exemplo:

vfs.file.cksum[/etc/passwd]

Exemplos de valores retornados (crc32/md5/sha256 respectivamente):

675436101
       9845acf68b73991eb7fd7ee0ded23c44
       ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
vfs.file.contents[file,<encoding>]


Recupera o conteúdo de um arquivo7.
Valor de retorno: Texto.
Veja plataformas suportadas.

Parâmetros:

  • file - o caminho completo para o arquivo;
  • encoding - o identificador da página de código.

Comentários:

  • O valor de retorno é limitado a 16MB (incluindo espaços em branco à direita que são truncados); limites do banco de dados também se aplicam;
  • Uma string vazia é retornada se o arquivo estiver vazio ou contiver apenas caracteres LF/CR;
  • A marca de ordem de bytes (BOM) é excluída da saída.

Exemplo:

vfs.file.contents[/etc/passwd]
vfs.file.exists[file,<types incl>,<types excl>]


Verifica se o arquivo existe.
Valor de retorno: 0 - não encontrado; 1 - arquivo do tipo especificado existe.
Veja as plataformas suportadas.

Parâmetros:

  • file - caminho completo para o arquivo;
  • types incl - lista de tipos de arquivo a serem incluídos, valores possíveis: file (arquivo regular, padrão (se types_excl não estiver definido)), dir (diretório), sym (link simbólico), sock (socket), bdev (dispositivo de bloco), cdev (dispositivo de caractere), fifo (FIFO), dev (sinônimo de "bdev,cdev"), all (todos os tipos mencionados, padrão se types_excl estiver definido).
  • types excl - lista de tipos de arquivo a serem excluídos, veja types_incl para valores possíveis (por padrão, nenhum tipo é excluído)

Comentários:

  • Vários tipos devem ser separados por vírgula e todo o conjunto entre aspas "";
  • Se o mesmo tipo estiver em <types_incl> e <types_excl>, arquivos desse tipo serão excluídos;
  • O limite de tamanho do arquivo depende do suporte a arquivos grandes.

Exemplos:

vfs.file.exists[/tmp/application.pid]
       vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
       vfs.file.exists[/tmp/application_dir,dir]
vfs.file.get[file]


Retorna informações sobre um arquivo.
Valor de retorno: string JSON.
Veja plataformas suportadas.

Parâmetro:

  • file - o caminho completo para o arquivo

Comentários:

  • Tipos de arquivos suportados em sistemas UNIX-like: arquivo regular, diretório, link simbólico, socket, bloco de dispositivo, dispositivo de caractere, FIFO.
  • O limite de tamanho do arquivo depende do suporte a arquivos grandes.

Exemplo:

vfs.file.get[/etc/passwd] #retorna um JSON com informações sobre o arquivo /etc/passwd (tipo, usuário, permissões, SID, uid etc)
vfs.file.md5sum[file]


O checksum MD5 do arquivo.
Valor de retorno: String de caracteres (hash MD5 do arquivo).
Veja plataformas suportadas.

Parâmetro:

  • file - o caminho completo para o arquivo

O limite de tamanho do arquivo depende do suporte a arquivos grandes.

Exemplo:

vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]

Exemplo de valor retornado:

b5052decb577e0fffd622d6ddc017e82
vfs.file.owner[file,<ownertype>,<resulttype>]


Recupera o proprietário de um arquivo.
Valor de retorno: String.
Veja plataformas suportadas.

Parâmetros:

  • file - o caminho completo para o arquivo;
  • ownertype - user (padrão) ou group (somente Unix);
  • resulttype - name (padrão) ou id; para id - retorna uid/gid no Unix, SID no Windows.

O limite de tamanho do arquivo depende do suporte a arquivos grandes.

Exemplos:

vfs.file.owner[/tmp/zabbix_server.log] #retorna o proprietário do arquivo /tmp/zabbix_server.log
       vfs.file.owner[/tmp/zabbix_server.log,,id] #retorna o ID do proprietário do arquivo /tmp/zabbix_server.log
vfs.file.permissions[file]


Retorna uma string de 4 dígitos contendo o número octal com as permissões UNIX.
Valor de retorno: String.
Plataformas suportadas: Linux. O item pode funcionar em outras plataformas semelhantes ao UNIX.

Parâmetros:

  • file - o caminho completo para o arquivo

O limite de tamanho do arquivo depende do suporte a arquivos grandes.

Exemplo:

vfs.file.permissions[/etc/passwd] #retorna as permissões de /etc/passwd, por exemplo, '0644'
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]


Recupera uma string no arquivo7.
Valor de retorno: A linha contendo a string correspondente ou conforme especificado pelo parâmetro opcional output.
Veja as plataformas suportadas.

Parâmetros:

  • file - o caminho completo para o arquivo;
  • regexp - uma expressão regular descrevendo o padrão necessário;
  • encoding - o identificador da página de código;
  • start line - o número da primeira linha a ser pesquisada (primeira linha do arquivo por padrão);
  • end line - o número da última linha a ser pesquisada (última linha do arquivo por padrão);
  • output - um modelo de formatação de saída opcional. A sequência de escape \0 é substituída pela parte correspondente do texto (do primeiro caractere onde a correspondência começa até o caractere onde termina), enquanto uma sequência de escape \N (onde N=1...9) é substituída pelo N-ésimo grupo correspondente (ou uma string vazia se N exceder o número de grupos capturados).

Comentários:

  • O limite de tamanho do arquivo depende do suporte a arquivos grandes.
  • Apenas a primeira linha correspondente é retornada;
  • Uma string vazia é retornada se nenhuma linha corresponder à expressão;
  • A marca de ordem de bytes (BOM) é excluída da saída;
  • A extração de conteúdo usando o parâmetro output ocorre no agent.

Exemplos:

vfs.file.regexp[/etc/passwd,zabbix]
       vfs.file.regexp[/path/to/some/file,"([0-9]+)$",,3,5,\1]
       vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1] → obtendo o ID do usuário *zabbix*
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]


Procura uma string no arquivo7.
Valores de retorno: 0 - correspondência não encontrada; 1 - encontrada.
Veja as plataformas suportadas.

Parâmetros:

  • file - o caminho completo para o arquivo;
  • regexp - uma expressão regular descrevendo o padrão necessário;
  • encoding - o identificador da página de código;
  • start line - o número da primeira linha a ser pesquisada (primeira linha do arquivo por padrão);
  • end line - o número da última linha a ser pesquisada (última linha do arquivo por padrão).

Comentários:

Exemplo:

vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file,<mode>]


O tamanho do arquivo (em bytes).
Valor de retorno: Integer.
Veja as plataformas suportadas.

Parâmetros:

  • file - o caminho completo para o arquivo;
  • mode - valores possíveis: bytes (padrão) ou lines (linhas vazias também são contadas).

Comentários:

  • O arquivo deve ter permissões de leitura para o usuário zabbix;
  • O limite de tamanho do arquivo depende do suporte a arquivos grandes.

Exemplo:

vfs.file.size[/var/log/syslog]
vfs.file.time[file,<mode>]


A informação de tempo do arquivo.
Valor de retorno: Integer (timestamp Unix).
Veja plataformas suportadas.

Parâmetros:

  • file - o caminho completo para o arquivo;
  • mode - valores possíveis:
    modify (padrão) - o último tempo de modificação do conteúdo do arquivo,
    access - o último tempo de leitura do arquivo,
    change - o último tempo de alteração das propriedades do arquivo

O limite de tamanho do arquivo depende do suporte a arquivos grandes.

Exemplo:

vfs.file.time[/etc/passwd,modify]
vfs.fs.discovery


A lista de sistemas de arquivos montados com seu tipo e opções de montagem. Usado para descoberta de baixo nível.
Valor de retorno: string JSON.
Plataformas suportadas: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD.

vfs.fs.get


A lista de sistemas de arquivos montados com seu tipo, espaço em disco disponível, estatísticas de inode e opções de montagem. Pode ser usado para descoberta de baixo nível.
Valor de retorno: string JSON.
Plataformas suportadas: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD.

Comentários:

  • Sistemas de arquivos com contagem de inodes igual a zero, o que pode ser o caso de sistemas de arquivos com inodes dinâmicos (por exemplo, btrfs), também são relatados;
  • Veja também: Descoberta de sistemas de arquivos montados.
vfs.fs.inode[fs,<mode>]


O número ou a porcentagem de inodes.
Valor de retorno: Integer - para número; Float - para porcentagem.
Veja as plataformas suportadas.

Parâmetros:

  • fs - o sistema de arquivos;
  • mode - valores possíveis: total (padrão), free, used, pfree (livre, porcentagem) ou pused (usado, porcentagem).

Se a contagem de inodes for igual a zero, o que pode ocorrer para sistemas de arquivos com inodes dinâmicos (por exemplo, btrfs), os valores de pfree/pused serão relatados como "100" e "0", respectivamente.

Exemplo:

vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<mode>]


O espaço em disco em bytes ou em porcentagem do total.
Valor de retorno: Integer - para bytes; Float - para porcentagem.
Veja as plataformas suportadas.

Parâmetros:

  • fs - o sistema de arquivos;
  • mode - valores possíveis: total (padrão), free, used, pfree (livre, porcentagem) ou pused (usado, porcentagem).

Comentários:

  • Se o sistema de arquivos não estiver montado, retorna o tamanho de um sistema de arquivos local onde o ponto de montagem está localizado;
  • O espaço reservado de um sistema de arquivos é levado em consideração e não é incluído ao usar o modo free.

Exemplo:

vfs.fs.size[/tmp,free]
vm.memory.size[<mode>]


O tamanho da memória em bytes ou em porcentagem do total.
Valor de retorno: Integer - para bytes; Float - para porcentagem.
Veja as plataformas suportadas.

Parâmetro:

  • mode - valores possíveis: total (padrão), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (usado, porcentagem), available ou pavailable (disponível, porcentagem).

Comentários:

  • Este item aceita três categorias de parâmetros:
    1) total - quantidade total de memória
    2) tipos de memória específicos da plataforma: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired
    3) estimativas em nível de usuário sobre quanta memória está sendo usada e disponível: used, pused, available, pavailable
  • O parâmetro de modo active é suportado apenas no FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD;
  • Os parâmetros de modo anon, exec, file são suportados apenas no NetBSD;
  • O parâmetro de modo buffers é suportado apenas no Linux, FreeBSD, OpenBSD, NetBSD;
  • O parâmetro de modo cached é suportado apenas no Linux, FreeBSD, AIX, OpenBSD, NetBSD;
  • Os parâmetros de modo inactive, wired são suportados apenas no FreeBSD, MacOS X, OpenBSD, NetBSD;
  • O parâmetro de modo pinned é suportado apenas no AIX;
  • O parâmetro de modo shared é suportado apenas no Linux 2.4, FreeBSD, OpenBSD, NetBSD;
  • Veja também detalhes adicionais para este item.

Exemplo:

vm.memory.size[pavailable]
web.page.get[host,<path>,<port>]


Obtém o conteúdo de uma página web.
Valor de retorno: Fonte da página web como texto (incluindo cabeçalhos).
Veja as plataformas suportadas.

Parâmetros:

  • host - o nome do host ou URL (como scheme://host:port/path, onde apenas host é obrigatório). Esquemas de URL permitidos: http, https4. Um esquema ausente será tratado como http. Se uma URL for especificada, path e port devem estar vazios. Especificar nome de usuário/senha ao conectar-se a servidores que exigem autenticação, por exemplo: http://user:[email protected] só é possível com suporte a cURL 4. Punycode é suportado em nomes de host.
  • path - o caminho para um documento HTML (o padrão é /);
  • port - o número da porta (o padrão é 80 para HTTP)

Comentários:

  • Este item se torna não suportado se o recurso especificado em host não existir ou estiver indisponível;
  • host pode ser um nome de host, nome de domínio, endereço IPv4 ou IPv6. Mas para endereço IPv6 o agent Zabbix deve ser compilado com suporte a IPv6 habilitado.

Exemplos:

web.page.get[www.example.com,index.php,80]
       web.page.get[https://www.example.com]
       web.page.get[https://blog.example.com/?s=zabbix]
       web.page.get[localhost:80]
       web.page.get["[::1]/server-status"]
web.page.perf[host,<path>,<port>]


O tempo de carregamento de uma página web completa (em segundos).
Valor de retorno: Float.
Veja plataformas suportadas.

Parâmetros:

  • host - o nome do host ou URL (como scheme://host:port/path, onde apenas host é obrigatório). Esquemas de URL permitidos: http, https4. Um esquema ausente será tratado como http. Se uma URL for especificada, path e port devem estar vazios. Especificar nome de usuário/senha ao conectar-se a servidores que exigem autenticação, por exemplo: http://user:[email protected] só é possível com suporte a cURL 4. Punycode é suportado em nomes de host.
  • path - o caminho para um documento HTML (o padrão é /);
  • port - o número da porta (o padrão é 80 para HTTP)

Comentários:

  • Este item se torna não suportado se o recurso especificado em host não existir ou estiver indisponível;
  • host pode ser um nome de host, nome de domínio, endereço IPv4 ou IPv6. Mas para endereço IPv6 o agent Zabbix deve ser compilado com suporte a IPv6 habilitado.

Exemplos:

web.page.perf[www.example.com,index.php,80]
       web.page.perf[https://www.example.com]
web.page.regexp[host,<path>,<port>,regexp,<length>,<output>]


Procura uma string na página web.
Valor de retorno: A string correspondente, ou conforme especificado pelo parâmetro opcional output.
Veja as plataformas suportadas.

Parâmetros:

  • host - o nome do host ou URL (como scheme://host:port/path, onde apenas host é obrigatório). Esquemas de URL permitidos: http, https4. Um esquema ausente será tratado como http. Se uma URL for especificada, path e port devem estar vazios. Especificar nome de usuário/senha ao conectar-se a servidores que exigem autenticação, por exemplo: http://user:[email protected] só é possível com suporte a cURL 4. Punycode é suportado em nomes de host.
  • path - o caminho para um documento HTML (o padrão é /);
  • port - o número da porta (o padrão é 80 para HTTP)
  • regexp - uma expressão regular descrevendo o padrão necessário;
  • length - o número máximo de caracteres a retornar;
  • output - um modelo de formatação de saída opcional. A sequência de escape \0 é substituída pela parte correspondente do texto (do primeiro caractere onde a correspondência começa até o caractere onde termina), enquanto uma sequência de escape \N (onde N=1...9) é substituída pelo N-ésimo grupo correspondente (ou uma string vazia se N exceder o número de grupos capturados).

Comentários:

  • Este item se torna não suportado se o recurso especificado em host não existir ou estiver indisponível;
  • host pode ser um nome de host, nome de domínio, endereço IPv4 ou IPv6. Mas para endereço IPv6 o agent Zabbix deve ser compilado com suporte a IPv6 habilitado.
  • A extração de conteúdo usando o parâmetro output ocorre no agent.

Exemplos:

web.page.regexp[www.example.com,index.php,80,OK,2]
       web.page.regexp[https://www.example.com,,,OK,2]
agent.hostmetadata


A metadata do host do agent.
Valor de retorno: String.
Veja as plataformas suportadas.

Retorna o valor dos parâmetros HostMetadata ou HostMetadataItem, ou uma string vazia se nenhum deles estiver definido.

agent.hostname


O nome do host do agent.
Valor de retorno: String.
Veja plataformas suportadas.

Retorna:

  • Como verificação passiva - o nome do primeiro host listado no parâmetro Hostname do arquivo de configuração do agent;
  • Como verificação ativa - o nome do hostname atual.
agent.ping


A verificação de disponibilidade do agent.
Valor de retorno: Nada - indisponível; 1 - disponível.
Veja plataformas suportadas.

Use a função de trigger nodata() para verificar a indisponibilidade do host.

agent.variant


A variante do agent do Zabbix (agent do Zabbix ou agent 2 do Zabbix).
Valor de retorno: 1 - agent do Zabbix; 2 - agent 2 do Zabbix.
Veja plataformas suportadas.

agent.version


A versão do agent Zabbix.
Valor de retorno: String.
Veja plataformas suportadas.

Exemplo de valor retornado:

6.0.3
zabbix.stats[<ip>,<port>]


Retorna um conjunto de métricas internas do Zabbix server ou proxy remotamente.
Valor de retorno: string JSON.
Veja as plataformas suportadas.

Parâmetros:

  • ip - a lista de IP/DNS/máscara de rede dos servers/proxies a serem consultados remotamente (padrão é 127.0.0.1);
  • port - a porta do server/proxy a ser consultado remotamente (padrão é 10051)

Comentários:

  • Um conjunto selecionado de métricas internas é retornado por este item. Para detalhes, veja Monitoramento remoto de estatísticas do Zabbix;
  • Note que a solicitação de estatísticas só será aceita dos endereços listados no parâmetro 'StatsAllowedIP' do server/proxy na instância de destino.
zabbix.stats[<ip>,<port>,queue,<from>,<to>]


Retorna o número de items monitorados na fila que estão atrasados no Zabbix server ou proxy remotamente.
Valor de retorno: string JSON.
Veja as plataformas suportadas.

Parâmetros:

  • ip - a lista de IP/DNS/máscara de rede dos servers/proxies a serem consultados remotamente (padrão é 127.0.0.1);
  • port - a porta do server/proxy a ser consultado remotamente (padrão é 10051)
  • queue - constante (usar como está)
  • from - atrasado por pelo menos (padrão é 6 segundos)
  • to - atrasado por no máximo (padrão é infinito)

Observe que a solicitação de estatísticas só será aceita dos endereços listados no parâmetro 'StatsAllowedIP' do server/proxy na instância de destino.

Notas de rodapé

1Nota específica do Linux. O agent Zabbix deve ter acesso somente leitura ao sistema de arquivos /proc. Patches de kernel do www.grsecurity.org limitam os direitos de acesso de usuários não privilegiados.

2 vfs.dev.read[], vfs.dev.write[]: O agent Zabbix encerrará conexões de dispositivos "obsoletos" se os valores do item não forem acessados por mais de 3 horas. Isso pode acontecer se um sistema tiver dispositivos com caminhos que mudam dinamicamente ou se um dispositivo for removido manualmente. Observe também que esses itens, se usarem um intervalo de atualização de 3 horas ou mais, sempre retornarão '0'.

3 vfs.dev.read[], vfs.dev.write[]: Se o padrão all for usado para o primeiro parâmetro, a chave retornará estatísticas resumidas, incluindo todos os dispositivos de bloco como sda, sdb e suas partições (sda1, sda2, sdb3...) e múltiplos dispositivos (MD raid) baseados nesses dispositivos/partições de bloco e volumes lógicos (LVM) baseados nesses dispositivos/partições de bloco. Nesses casos, os valores retornados devem ser considerados apenas como valores relativos (dinâmicos no tempo), mas não como valores absolutos.

4 SSL (HTTPS) é suportado apenas se o agent for compilado com suporte a cURL. Caso contrário, o item ficará como não suportado.

5 Os valores bytes e errors não são suportados para interfaces loopback em sistemas Solaris até e incluindo Solaris 10 6/06, pois as estatísticas de bytes, erros e utilização não são armazenadas e/ou relatadas pelo kernel. No entanto, se você estiver monitorando um sistema Solaris via net-snmp, valores podem ser retornados, pois o net-snmp possui código legado do cmu-snmp datado de 1997 que, ao falhar em ler valores de bytes das estatísticas da interface, retorna o contador de pacotes (que existe em interfaces loopback) multiplicado por um valor arbitrário de 308. Isso pressupõe que o comprimento médio de um pacote é de 308 octetos, o que é uma estimativa muito grosseira, já que o limite de MTU em sistemas Solaris para interfaces loopback é de 8892 bytes. Esses valores não devem ser considerados corretos ou mesmo próximos da precisão. Eles são estimativas. O agent Zabbix não faz nenhuma suposição, mas o net-snmp retornará um valor para esses campos.

6 A linha de comando no Solaris, obtida de /proc/pid/psinfo, é limitada a 80 bytes e contém a linha de comando como era quando o processo foi iniciado.

7 Os itens vfs.file.contents[], vfs.file.regexp[], vfs.file.regmatch[] podem ser usados para recuperar o conteúdo de arquivos. Se você deseja restringir o acesso a arquivos específicos com informações confidenciais, execute o agent Zabbix sob um usuário que não tenha permissões de acesso para visualizar esses arquivos.

Uso com utilitários de linha de comando

Observe que, ao testar ou usar chaves de item com zabbix_agentd ou zabbix_get a partir da linha de comando, você também deve considerar a sintaxe do shell.

Por exemplo, se um determinado parâmetro da chave precisar ser colocado entre aspas duplas, você deverá escapar explicitamente as aspas duplas, caso contrário, elas serão removidas pelo shell como caracteres especiais e não serão passadas para o utilitário Zabbix.

Exemplos:

zabbix_agentd -t 'vfs.dir.count[/var/log,,,"file,dir",,0]'
       
       zabbix_agentd -t vfs.dir.count[/var/log,,,\"file,dir\",,0]

Configurações de codificação

Para garantir que os dados adquiridos não sejam corrompidos, você pode especificar a codificação correta para processar a verificação (por exemplo, 'vfs.file.contents') no parâmetro encoding. A lista de codificações suportadas (identificadores de página de código) pode ser encontrada na documentação da libiconv (Projeto GNU) ou na documentação do Microsoft Windows SDK para "Code Page Identifiers". Observe que a Microsoft às vezes marca algumas páginas de código como "disponíveis apenas para aplicativos gerenciados" — ou seja, expostas apenas via .NET runtime e não disponíveis por meio das APIs nativas do Win32. O agent Zabbix implementa sua própria lógica de conversão de codificação, portanto, essas páginas de código são suportadas pelo agent Zabbix mesmo quando as funções nativas do Windows não as fornecem.

Se nenhuma codificação for especificada no parâmetro encoding, as seguintes estratégias de resolução serão aplicadas:

  • Se a codificação não for especificada (ou for uma string vazia), assume-se que é UTF-8, os dados são processados "como estão";
  • Análise de BOM - aplicável para items 'vfs.file.contents', 'vfs.file.regexp', 'vfs.file.regmatch'. É feita uma tentativa de determinar a codificação correta usando a marca de ordem de bytes (BOM) no início do arquivo. Se o BOM não estiver presente, a resolução padrão (veja acima) será aplicada.

Solução de problemas de itens do agent

No caso de verificações passivas, para evitar que o item não receba nenhum valor porque a solicitação do server ao agent atinge o tempo limite primeiro, o seguinte deve ser observado: