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

1 Zabbix Agent

Visão geral

Essas verificações usam a comunicação com o Zabbix Agent para coleta de dados.

Existem verificações passivas e ativas. Ao configurar um item, você pode selecionar o modelo:

  • Agente Zabbix - para verificações passivas
  • Agente Zabbix (ativo) - para verificações ativas

Chaves de itens compatíveis

A tabela fornece detalhes sobre as chaves de item que você pode usar com os itens do agente Zabbix.

Veja também:

Chaves de itens compatíveis

A tabela fornece detalhes sobre as chaves de item que você pode usar com os itens do agente Zabbix.

Veja também:

Chave
Descrição Valor de retorno Parâmetros Comentários
agent.hostmetadata
Metadados do host do agente. String Retorna o valor dos parâmetros HostMetadata ou HostMetadataItem, ou um texto vazio se nenhum for definido.

Suportado desde o Zabbix 6.0.
agent.hostname
Nome do host do agente. String Retorno:
Como verificação passiva - o nome do primeiro host listado no parâmetro Hostname do arquivo de configuração do agente;
Como verificação ativa - o nome do host atual.
agent.ping
Verificação de disponibilidade do agente. Nada - indisponível

1 - disponível
Use a função de gatilho nodata() para verificar pela indisponibilidade do host.
agent.variant
Variante do agente Zabbix (Zabbix Agent ou Zabbix Agent 2). Inteiro Exemplo de valor retornado:
1 - Zabbix Agent
2 - Zabbix Agent 2
agent.version
Versão do agente Zabbix. String Exemplo de valor retornado:
6.0.3
kernel.maxfiles
Número máximo de arquivos abertos suportado pelo SO. Inteiro
kernel.maxproc
Número máximo de processos suportado pelo SO. Inteiro
kernel.openfiles
Retorna o número atual de descritores de arquivos abertos. Inteiro Este item é suportado no Linux desde o Zabbix 6.0.
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>]
Monitoramento de um arquivo de log. Log file - caminho completo e nome do arquivo de log
regexp - expressão regular descrevendo o padrão requerido
encoding - identificador de código da página
maxlines - número máximo de novas linhas por segundo que o agente enviará para o Zabbix Server ou Proxy. Este parâmetro sobrescreve o valor 'MaxLinesPerSecond' no zabbix_agentd.conf
mode (desde a versão 2.0) - valores possíveis:
all (padrão) - tudo, skip - pula o processamento de dados mais antigos (afeta apenas itens recém-criados).
output (desde a versão 2.2) - um modelo de formatação de saída opcional. A sequência de escape \0 é substituída pela parte de texto correspondente (do primeiro caracter onde a correspondência inicia até o caracter onde ela termina) enquanto uma sequência de escape \N (onde N=1...9) é substituída com o N-ésimo grupo correspondente (ou um texto vazio se N excede o número de grupos capturados).
maxdelay (desde a versão 3.2) - tempo de espera máximo em segundos. Tipo: número flutuante. Valores: 0 - (padrão) nunca ignorar linhas do arquivo de log; > 0.0 - ignorar linhas mais antigas com o objetivo de analisar as linhas mais recentes dentro do valor de "maxdelay". Leia as notas sobre espera máxima antes de usá-la!
options (desde a versão 4.4.7) - opções adicionais:
mtime-noreread - registros não únicos, com releitura apenas se o tamanho do arquivo for alterado (ignora alteração de data). (Este parâmetro está em desuso desde a versão 5.0.2, porque agora mtime é ignorado.)
persistent_dir (desde a versão 5.0.18, 5.4.9, apenas no zabbix_agentd para sistemas Unix; não suportado com Agent2) - endereço absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre arquivos persistentes.
O item deve ser configurado como uma verificação ativa.
Se o arquivo não for encontrado ou o permissionamento não conceder o acesso necessário, o item se torna não suportado.

Se output for deixado em branco - a linha completa contendo o texto correspondente é retornada. Note que todos os tipos globais de expressão regular, exceto 'Result is TRUE', sempre retornam a linha correspondente completa e o parâmetro output é ignorado.

A extração de conteúdo usando o parâmetro output ocorre no agente.

Exemplos:
=> log[/var/log/syslog]
=> log[/var/log/syslog,error]
=> log[/home/zabbix/logs/logfile,,,100]

Usando o 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] → 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. Por um valor numérico estar sendo enviado, o "Tipo de informação" deste item pode ser configurada como "Numérico (unsigned)" e o valor pode ser usado em gráficos, gatilhos, etc.

Usando o 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"] → 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" ao Server.

Consulte também informações adicionais sobre monitoramento de log.
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>]
Contagem de linhas correspondentes em um arquivo de log monitorado. Inteiro file - caminho completo e nome do arquivo de log
regexp - expressão regular descrevendo o padrão necessário
encoding - identificador de código de página
maxproclines - número máximo de novas linhas por segundo que o agente analisará (não pode exceder 10000). O valor padrão é 10*'MaxLinesPerSecond' no zabbix_agentd.conf.
mode - valores possíveis:
all (padrão) - tudo, skip - pula o processamento de dados mais antigos (afeta apenas itens recém-criados).
maxdelay - tempo de espera máximo em segundos. Tipo: número flutuante. Valores: 0 - (padrão) nunca ignorar linhas do arquivo de log; > 0.0 - ignorar linhas mais antigas com o objetivo de analisar as linhas mais recentes dentro do valor de "maxdelay". Leia as notas sobre espera máxima antes de usá-la!
options (desde a versão 4.4.7) - opções adicionais:
mtime-noreread - registros não únicos, com releitura apenas se o tamanho do arquivo for alterado (ignora alteração de data). (Este parâmetro está em desuso desde a versão 5.0.2, porque agora mtime é ignorado.)
persistent_dir (desde a versão 5.0.18, 5.4.9, apenas no zabbix_agentd para sistemas Unix; não suportado com Agent2) - endereço absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre arquivos persistentes.
O item deve ser configurado como uma verificação ativa.
Se o arquivo não for encontrado ou o permissionamento não conceder o acesso necessário, o item se torna não suportado.

Consulte também informações adicionais sobre monitoramento de log.

Este item não é suportado para logs de Evento do Windows.

Suportado desde a versão Zabbix 3.2.0.
logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>]
Monitoramento de um arquivo de log que é rotacionado. Log file_regexp - caminho absoluto para o arquivo com o nome do arquivo descrito por uma expressão regular. Note que apenas o nome do arquivo é uma expressão regular
regexp - expressão regular descrevendo o padrão de conteúdo necessário
encoding - identificador de código de página
maxlines - número máximo de novas linhas por segundo que o agente enviará para o Zabbix Server ou Proxy. Este parâmetro sobrescreve o valor de 'MaxLinesPerSecond' no zabbix_agentd.conf
mode (desde a versão 2.0) - valores possíveis:
all (default) - tudo, skip - pula o processamento de dados mais antigos (afeta apenas itens recém-criados).
output (desde a versão 2.2) - um modelo de formatação de saída opcional. A sequência de escape \0 é substituída pela parte de texto correspondente (do primeiro caracter onde a correspondência inicia até o caracter onde ela termina) enquanto uma sequência de escape \N (onde N=1...9) é substituída com o N-ésimo grupo correspondente (ou um texto vazio se N excede o número de grupos capturados).
maxdelay (desde a versão 3.2) - tempo de espera máximo em segundos. Tipo: número flutuante. Valores: 0 - (padrão) nunca ignorar linhas do arquivo de log; > 0.0 - ignorar linhas mais antigas com o objetivo de analisar as linhas mais recentes dentro do valor de "maxdelay". Leia as notas sobre espera máxima antes de usá-la!
options (desde a versão 4.0; as opções mtime-reread, mtime-noreread desde a versão 4.4.7) - tipo de rotação de arquivo de log e outras opções. Valores possíveis:
rotate (padrão),
copytruncate - note que copytruncate não pode ser usado junto com maxdelay. Neste caso maxdelay deve ser 0 ou não declarado; veja notas para copytruncate,
mtime-reread - registros não únicos, releitura se houver mudança de data ou tamanho do arquivo (padrão),
mtime-noreread - registros não únicos, releitura apenas se o tamanho mudar (ignora alteração de data).
persistent_dir (desde a versão 5.0.18, 5.4.9, apenas no zabbix_agentd para sistemas Unix; não suportado com Agent2) - endereço absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre arquivos persistentes.
O item deve ser configurado como uma verificação ativa.
A rotação de log é baseada na última data de modificação dos arquivos.

Note que o logrt foi construído para trabalhar com um arquivo de log ativo atual, com vários outros arquivos rotacionados correspondentes inativos. Se, por exemplo, um diretório tem muitos arquivos de log ativos, um item logrt deve ser criado para cada um deles. Caso contrário se um item logrt captar arquivos demais pode haver exaustão de memória e quebra do monitoramento.

Se output for deixado em branco - a linha completa contendo o texto correspondente é retornada. Note que todos os tipos globais de expressão regular, exceto 'Result is TRUE', sempre retornam a linha correspondente completa e o parâmetro output é ignorado.

A extração de conteúdo usando o parâmetro output ocorre no agente.

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

Usando 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] → 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. Pelo fato de um valor numérico estar sendo enviado, o "Tipo de informação" para este item pode ser configurado para "Numérico (unsigned)" e o valor pode ser usado em gráficos, gatilhos, etc.

Usando o 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"] → 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.

Consulte também informações adicionais sobre monitoramento de log.
logrt.count[file_regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>]
Contagem de linhas correspondidas em um arquivo de log monitorado que é rotacionado. Inteiro file_regexp - caminho absoluto para o arquivo com o nome do arquivo descrito por uma expressão regular.
regexp - expressão regular descrevendo o padrão de conteúdo necessário
encoding - identificador de código de página
maxproclines - número máximo de novas linhas por segundo que o agente analisará (não pode exceder 10000). O valor padrão é 10*'MaxLinesPerSecond' no zabbix_agentd.conf.
mode - valores possíveis:
all (default) - tudo, skip - pula o processamento de dados mais antigos (afeta apenas itens recém-criados).
maxdelay - tempo de espera máximo em segundos. Tipo: número flutuante. Valores: 0 - (padrão) nunca ignorar linhas do arquivo de log; > 0.0 - ignorar linhas mais antigas com o objetivo de analisar as linhas mais recentes dentro do valor de "maxdelay". Leia as notas sobre espera máxima antes de usá-la!
options (desde a versão 4.0; as opções mtime-reread, mtime-noreread desde a versão 4.4.7) - tipo de rotação de arquivo de log e outras opções. Valores possíveis:
rotate (padrão),
copytruncate - note que copytruncate não pode ser usado junto com maxdelay. Neste caso maxdelay deve ser 0 ou não declarado; veja notas para copytruncate,
mtime-reread - registros não únicos, releitura se houver mudança de data ou tamanho do arquivo (padrão),
mtime-noreread - registros não únicos, releitura apenas se o tamanho mudar (ignora alteração de data).
persistent_dir (desde as versões 5.0.18, 5.4.9, apenas para zabbix_agentd em sistemas Unix; são suportado no Agent2) - endereço absoluto do diretório onde armazenar arquivos persistentes. Consulte também notas adicionais sobre arquivos persistentes.
Este item deve ser configurado como uma verificação ativa.
A rotação de log é baseada na última modificação de data dos arquivos.

Consulte também informações adicionais sobre monitoramento de log.

Este item não é suportado para logs de Evento do Windows.

Suportado desde a versão Zabbix 3.2.0.
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>]
Lê dados Modbus. Objeto JSON endpoint - ponto de conexão definido como protocolo://string_de_conexão
slave id - ID secundário
function - função Modbus
address - endereço do primeiro registro, bobina ou contato
count - número de registros a serem lidos
type - tipo de dado
endianness - configuração de extremidade
offset - número de registros, começando de 'address', do qual os resultados serão descartados.

Veja uma descrição detalhada dos parâmetros.
Suportado desde o Zabbix 5.2.0.
net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Verifica se o serviço de DNS está no ar. 0 - DNS indisponível (servidor não respondeu ou resolução de DNS falhou)

1 - DNS disponível
ip - endereço IP do servidor DNS (deixe em branco para servidor de DNS padrão, ignorado no Windows)
name - Nome do DNS a ser questionado
type - tipo do registro a ser questionado (padrão é SOA)
timeout (ignorado no Windows) - tempo máximo para a requisição em segundos (o padrão é 1 segundo)
count (ignorado no Windows) - número de tentativas para a requisição (padrão é 2)
protocol (desde a versão 3.0) - o protocolo utilizado para executar as requisições DNS: udp (padrão) ou tcp
Exemplo:
=> net.dns[8.8.8.8,example.com,MX,2,1]

Os valores possíveis para type (tipo) são:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (exceto para Windows), HINFO, MINFO, TXT, SRV

Nomes de domínio internacionalizados não são suportados, por favor utilize nomes com codificação IDNA em vez disso.

O tipo de registro SRV é suportado desde o Zabbix 1.8.6 (Unix) e 2.0.0 (Windows).

Nomenclatura anterior a Zabbix 2.0 (ainda suportado): net.tcp.dns
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Executa uma requisição DNS. String de caracteres com o tipo de informação requerida ip - endereço IP do servidor DNS (deixe em branco para servidor de DNS padrão, ignorado no Windows)
name - Nome do DNS a ser questionado
type - tipo do registro a ser questionado (padrão é SOA)
timeout (ignorado no Windows) - tempo máximo para a requisição em segundos (o padrão é 1 segundo)
count (ignorado no Windows) - número de tentativas para a requisição (padrão é 2)
protocol (desde a versão 3.0) - o protocolo utilizado para executar as requisições DNS: udp (padrão) ou tcp
Exemplo:
=> net.dns[8.8.8.8,example.com,MX,2,1]

Os valores possíveis para type (tipo) são:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (exceto para Windows), HINFO, MINFO, TXT, SRV

Nomes de domínio internacionalizados não são suportados, por favor utilize nomes com codificação IDNA em vez disso.

O tipo de registro SRV é suportado desde o Zabbix 1.8.6 (Unix) e 2.0.0 (Windows).

Nomenclatura anterior a Zabbix 2.0 (ainda suportado): net.tcp.dns.query
net.if.collisions[if]
Número de colisões atrasadas (out-of-window). Inteiro if - nome da interface de rede
net.if.discovery
Lista de interfaces de rede. Usada para descobertas de baixo-nivel. Objeto JSON Suportado desde o Zabbix 2.0.

No FreeBSD, OpenBSD e NetBSD suportado desde o Zabbix 2.2.

Algumas versões de Windows (por exemplo, Server 2008) podem exigir a instalação das últimas atualizações para suportar caracteres não-ASCII nos nomes das interfaces.
net.if.in[if,<mode>]
Estatísticas de tráfego de entrada na interface de rede. Inteiro 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) - o número de erros no buffer FIFO
frame - o número de pacotes com erros de frame (framing errors)
compressed - o número de pacotes compactados recebidos ou transmitidos pelo driver de dispositivo
multicast - o número de frames multicast recebidos pelo driver de dispositivo
No Windows, o item obtém valores de contadores 64-bit se disponível. Contadores de estatística de interface 64-bit foram introduzidos no Windows Vista e Windows Server 2008. Se contadores 64-bit não estão disponíveis, o agente usa contadores 32-bit.

Nomes de interface Multi-byte são suportados no Windows desde o Zabbix 1.8.6.

Exemplos:
=> net.if.in[eth0,errors]
=> net.if.in[eth0]

Você pode obter descrições de interface de rede no Windows com itens net.if.discovery ou net.if.list.

Você deve usar esta chave com a etapa de pré-processamento Alterações por segundo de forma a obter as estatísticas de bytes por segundo.
net.if.out[if,<mode>]
Estatísticas de tráfego de saída na interface de rede. Inteiro 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) - o número de erros no buffer FIFO
collisions (colls) - o número de colisões detectadas na interface
carrier - o número de perdas no sensor de carrier detectados pelo driver de dispositivo
compressed - o número de pacotes compactados recebidos ou transmitidos pelo driver de dispositivo
No Windows, o item obtém valores de contadores 64-bit se disponível. Contadores de estatística de interface 64-bit foram introduzidos no Windows Vista e Windows Server 2008. Se contadores 64-bit não estão disponíveis, o agente usa contadores 32-bit.

Nomes de interface Multi-byte são suportados no Windows desde o Zabbix 1.8.6.

Exemplos:
=> net.if.out[eth0,errors]
=> net.if.out[eth0]

Você pode obter descrições de interface de rede no Windows com itens net.if.discovery ou net.if.list.

Você deve usar esta chave com a etapa de pré-processamento Alterações por segundo de forma a obter as estatísticas de bytes por segundo.
net.if.total[if,<mode>]
Soma das estatísticas de tráfego de entrada e saída na interface de rede. Inteiro 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) - o número de erros no buffer FIFO
compressed - o número de pacotes compactados recebidos ou transmitidos pelo driver de dispositivo
No Windows, o item obtém valores de contadores 64-bit se disponível. Contadores de estatística de interface 64-bit foram introduzidos no Windows Vista e Windows Server 2008. Se contadores 64-bit não estão disponíveis, o agente usa contadores 32-bit.

Exemplos:
=> net.if.total[eth0,errors]
=> net.if.total[eth0]

Você pode obter descrições de interface de rede no Windows com itens net.if.discovery ou net.if.list.

Você deve usar esta chave com a etapa de pré-processamento Alterações por segundo de forma a obter as estatísticas de bytes por segundo.

Note que pacotes descartados são suportados apenas se ambos net.if.in e net.if.out funcionarem para pacotes descartados em sua plataforma.
net.tcp.listen[port]
Verifica se esta porta TCP está ouvindo (estado LISTEN). 0 - a porta não está ouvindo

1 - a porta está ouvindo
port - número da porta TCP Exemplo:
=> net.tcp.listen[80]

Suportado no Linux desde o Zabbix 1.8.4

Desde o Zabbix 3.0.0, nos kernels Linux 2.6.14 e superiores, a informação sobre sockets TCP na escuta é obtida pela interface NETLINK do kernel, se possível. Caso contrário, a informação é obtida dos arquivos /proc/net/tcp e /proc/net/tcp6.
net.tcp.port[<ip>,port]
Verifica se é possível estabelecer conexão TCP na porta especificada. 0 - não é possível conectar

1 - é possível conectar
ip - endereço IP ou nome DNS (padrão é 127.0.0.1)
port - número da porta
Exemplo:
=> net.tcp.port[,80] → pode ser usado para testar a disponibilidade de servidores web rodando na porta 80.

Para teste simples de performance TCP use net.tcp.service.perf[tcp,<ip>,<port>]

Note que estas verificações podem resultar em mensagens adicionais nos arquivos de log dos daemons do sistema (sessões SMTP e SSH sendo logadas comumente).
net.tcp.service[service,<ip>,<port>]
Verifica se o serviço está em execução e aceitando conexões TCP. 0 - serviço está parado

1 - serviço está em execução
service - qualquer um de:
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (consulte detalhes)
ip - endereço IP (padrão é 127.0.0.1)
port - número da porta (por padrão a porta de serviço padrão é usada)
Exemplo:
=> net.tcp.service[ftp,,45] → pode ser usado para testar a disponibilidade de um servidor FTP na porta 45/TCP.

Note que estas verificações podem resultar em mensagens adicionais nos arquivos de log dos daemons do sistema (sessões SMTP e SSH sendo logadas comumente).

Verificação de protocolos criptografados (como IMAP na porta 993 ou POP na prota 995) não é suportado atualmente. Como contingência, por favor use net.tcp.port para verificações como estas.

Verificações LDAP e HTTPS no Windows são suportadas apenas com Zabbix Agent 2.

Note que a verificação telnet procura por um prompt de login (':' no final).

Consulte também os problemas conhecidos para verificação de serviço HTTPS.

Os serviços https e telnet são suportados desde o Zabbix 2.0.
net.tcp.service.perf[service,<ip>,<port>]
Verifica performance do serviço de TCP. 0 - serviço está parado

segundos - o número de segundos gastos enquanto conectando-se ao serviço
service - qualquer um de:
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (consulte detalhes)
ip - endereço IP (padrão é 127.0.0.1)
port - número da porta (por padrão a porta de serviço padrão é usada)
Exemplo:
=> net.tcp.service.perf[ssh] → pode ser usado para testar a velocidade de resposta inicial de um servidor SSH.

Verificação de protocolos criptografados (como IMAP na porta 993 ou POP na prota 995) não é suportado atualmente. Como contingência, por favor use net.tcp.service.perf[tcp,<ip>,<port>] para verificações como estas.

Verificação de LDAP e HTTPS no Windows é suportada somente por Zabbix Agent 2.

Note que a verificação telnet procura por um prompt de login (':' no final).

Consulte também os problemas conhecidos para verificação de serviço HTTPS.

Os serviços https e telnet são suportados desde o Zabbix 2.0.
net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]
Retorna o número de sockets TCP que correspondem aos parâmetros. Inteiro laddr - endereço local IPv4/6 ou CIDR para a subnet
lport - número da porta local ou nome do serviço
raddr - endereço IPv4/6 remoto ou CIDR para a subnet
rport - número da porta remota ou nome do serviço
state - estado de conexão (established (estabelecido), syn_sent, syn_recv, fin_wait1, fin_wait2, time_wait, close, close_wait, last_ack, listen (ouvindo), closing (fechando))
Este item é suportado, apenas no Linux, em ambos Zabbix Agent/Agent 2. Com Zabbix Agent 2 também é suportado em Windows 64-bit.

Exemplo:
=> net.tcp.socket.count[,80,,,established] → verifica se a porta local 80/TCP está em estado "estabelecido"

Este item é suportado desde o Zabbix 6.0.
net.udp.listen[port]
Verifica se esta porta UDP está ouvindo (estado LISTEN). 0 - não está ouvindo

1 - está ouvindo
port - número da porta UDP Exemplo:
=> net.udp.listen[68]

Suportado no Linux desde o Zabbix 1.8.4
net.udp.service[service,<ip>,<port>]
Verifica se serviço está em execução e respondendo a requisições UDP. 0 - serviço está parado

1 - serviço está em execução
service - ntp (veja detalhes)
ip - endereço IP (padrão é 127.0.0.1)
port - número de porta (por padrão a porta de serviço padrão é usada)
Exemplo:
=> net.udp.service[ntp,,45] → pode ser usado para testar a disponibilidade de serviço NTP na porta 45/UDP.

Este item é suportado desde o Zabbix 3.0.0, mas o serviço ntp estava disponível para o item net.tcp.service[] em versões anteriores.
net.udp.service.perf[service,<ip>,<port>]
Verifica a performance de serviço UDP. 0 - serviço está parado

segundos - o número de segundos gastos aguardando pela resposta do serviço
service - ntp (veja detalhes)
ip - endereço IP (padrão é 127.0.0.1)
port - número de porta (por padrão a porta de serviço padrão é usada)
Exemplo:
=> net.udp.service.perf[ntp] → pode ser usado para testar a disponibilidade de serviço NTP.

Este item é suportado desde o Zabbix 3.0.0, mas o serviço ntp estava disponível para o item net.tcp.service[] em versões anteriores.
net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]
Retorna o número de sockets TCP que correspondem aos parâmetros. Inteiro laddr - endereço local IPv4/6 ou CIDR da subnet
lport - número da porta local ou nome do serviço
raddr - endereço remoto IPv4/6 ou CIDR da subnet
rport - número da porta remota ou nome do serviço
state - estado da conexão (established (estabelecido), unconn)
Este item é suportado apenas no Linux em ambos Zabbix Agent/Agent 2. Com Zabbix Agent 2 é também suportado em Windows 64-bit.

Exemplo:
=> net.udp.socket.count[,,,,listening] → verifica se qualquer socket UDP está ouvindo ("listening")

Este item é suportado desde o Zabbix 6.0.
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]
Porcentagem de uso de CPU por processo. Número flutuante name - nome do processo (o padrão é todos os processos)
user - nome de usuário (o padrão é todos os usuários)
type - tipo de utilização de CPU:
total (padrão), user (usuário), system (sistema)
cmdline - filtro por linha de comando (é uma expressão regular)
mode - modo de aquisição de dados: avg1 (padrão), avg5, avg15
zone - zona alvo: current → atual (padrão), all → tudo. Este parâmetro é suportado apenas em Solaris.
Exemplos:
=> proc.cpu.util[,root] → utilização de CPU por todos os processos sendo executados sob o usuário "root"
=> proc.cpu.util[zabbix_server,zabbix] → utilização de CPU por todos os processos zabbix_server sendo executados sob o usuário zabbix

O valor retornado é baseado na porcentagem de utilização de um único core de CPU. Por exemplo, a utilização de CPU de um processo usando dois cores completos é 200%.

Os dados de uso de CPU são reunidos por um coletor que suporta um máximo de 1024 consultas únicas (por nome, usuário e linha de comando). Consultas não acessadas durante as últimas 24h são removidas do coletor.

Note que quando configurando o parâmetro zone para current (atual)) (ou padrão) no caso de o agente ter sido compilado em um Solaris sem suporte a zona, mas executando em um Solaris mais recente onde zonas são suportadas, então o agente retornará NOTSUPPORTED (NÃO SUPORTADO)) (o agente não pode limitar os resultados apenas à zona atual). No entanto, all (tudo) é suportado neste caso.

Esta chave é suportada desde o Zabbix 3.0.0 e está disponível em várias plataformas (veja Items suportados por plataforma).
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
Memória usada por processo em bytes. Inteiro - com mode como max, min, sum

Número Flutuante - com mode como avg
name - nome do processo (o padrão é todos os processos)
user - nome de usuário (padrão é todos os usuários)
mode - valores possíveis:
avg, max, min, sum (padrão)
cmdline - filtro por comando (é uma expressão regular)
memtype - tipo de memória usado pelo processo
Exemplos:
=> proc.mem[,root] → memória usada por todos os processos sendo executados sob o usuário "root"
=> proc.mem[zabbix_server,zabbix] → memória usada por todos os processos zabbix_server sendo executados sob o usuário zabbix
=> proc.mem[,oracle,max,oracleZABBIX] → memória usada pelo processo com maior consumo de memória sendo executado sob oracle e tendo oracleZABBIX na sua linha de comando

Nota: Quando vários processos usam memória compartilhada, a soma da memória usada pelos processos pode resultar em valores grandes, não realísticos.

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

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

O parâmetro memtype é suportado em várias plataformas desde o Zabbix 3.0.0.
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]
O número de processos. Inteiro name - nome do processo (padrão é todos os processos)
user - nome de usuário (padrão é todos os usuários)
state (opções disk e trace desde a versão 3.4.0) - valores possíveis:
all (padrão),
disk - inativo ininterruptamente,
run - em execução,
sleep - inativo interruptamente,
trace - parado,
zomb - zumbi
cmdline - filtro por linha de comando (é uma expressão regular)
zone - zona alvo: current (padrão), all. Este parâmetro é suportado apenas em Solaris.
Exemplos:
=> proc.num[,mysql] → número de processos em execução sob o usuário mysql
=> proc.num[apache2,www-data] → número de processos em execução sob o usuário www-data
=> proc.num[,oracle,sleep,oracleZABBIX] → número de processos inativos sob o usuário oracle contendo oracleZABBIX em sua linha de comando

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

No Windows, somente os parâmetros name e user são suportados.

Quando este item é instanciado na linha de comando e contém um parâmetro de linha de comando (p.e. usando o modo de teste do agente: zabbix_agentd -t proc.num[,,,apache2]), um processo extra será contabilizado, pois o agente contará a si mesmo.

Note que quando configurando o parâmetro zone para current (atual)) (ou padrão) no caso de o agente ter sido compilado em um Solaris sem suporte a zona, mas executando em um Solaris mais recente onde zonas são suportadas, então o agente retornará NOTSUPPORTED (NÃO SUPORTADO)) (o agente não pode limitar os resultados apenas à zona atual). No entanto, all (tudo) é suportado neste caso.
sensor[device,sensor,<mode>]
Leitura de sensor de hardware. Número flutuante device - nome do dispositivo
sensor - nome do sensor
mode - valores possíveis:
avg, max, min (se este parâmetro for omitido, dispositivo e sensor são tratados literalmente).
Lê /proc/sys/dev/sensors no Linux 2.4.

Exemplo:
=> sensor[w83781d-i2c-0-2d,temp1]

Antes do Zabbix 1.8.4, o formato sensor[temp1] era usado.
Lê /sys/class/hwmon no Linux 2.6+.

Consulte uma descrição mais detalhada sobre item de sensor no Linux.
Lê a MIB hw.sensors no OpenBSD.

Exemplos:
=> sensor[cpu0,temp0] → temperatura de uma CPU
=> sensor["cpu[0-2]$",temp,avg] → média de temperatura das primeiras três CPUs

Suportado no OpenBSD desde o Zabbix 1.8.4.
system.boottime
Horário de boot do sistema. Inteiro (Unix timestamp)
system.cpu.discovery
Lista de CPUs/cores de CPU detectados. Usado para descoberta de baixo-nível. Objeto JSON Suportado em todas as plataformas desde a versão 2.4.0.
system.cpu.intr
Interrupções de dispositivo. Inteiro
system.cpu.load[<cpu>,<mode>]
Carga (Load) de CPU. Número flutuante cpu - valores possíveis:
all (padrão), percpu (desde a versão 2.0; carga total dividida pela contagem de CPUs disponíveis (online))
mode - valores possíveis:
avg1 (média de 1 minuto, padrão), avg5, avg15
Exemplo:
=> system.cpu.load[,avg5].
system.cpu.num[<type>]
Número de CPUs. Inteiro type - valores possíveis:
online (padrão), max
Exemplo:
=> system.cpu.num
system.cpu.switches
Contagem de alternâncias de contexto (context switches). Inteiro
system.cpu.util[<cpu>,<type>,<mode>,<logical_or_physical>]
Porcentagem de utilização de CPU. Número flutuante cpu - <número CPU> ou all (padrão)
type - valores possíveis:
user (padrão), idle, nice, system (padrão para Windows), iowait, interrupt, softirq, steal, guest (No Linux com kernels 2.6.24 e superior), guest_nice (No Linux com kernels 2.6.33 e superior).
Veja também detalhes específicos de platforma para este parâmetro.
mode - valores possíveis:
avg1 (média de 1 minuto, padrão), avg5, avg15
logical_or_physical (desde a versão 5.0.3; apenas no AIX) - valores possíveis: logical (padrão), physical. Este parâmetro é suportado apenas no AIX.
Exemplo:
=> system.cpu.util[0,user,avg5]

Nomenclatura antiga: system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX
system.hostname[<type>, <transform>]
Nome de host do sistema. String type (antes da versão 5.4.7 suportado apenas no Windows) - valores possíveis: netbios (padrão para Windows), host (padrão no Linux), shorthost (desde a versão 5.4.7; retorna parte do nome do host antes do primeiro ponto, e texto completo para nomes sem ponto).
transform (desde a versão 5.4.7) - valores possíveis:
none (padrão), lower (converte para minúsculo)
O valor é obtido pela função GetComputerName() (para netbios) ou gethostname() (para host) no Windows e pelo comando "hostname" nos outros sistemas.

Exemplos de valores retornados:
no Linux:
=> system.hostname → linux-w7x1
=> system.hostname → exemplo.com
=> system.hostname[shorthost] → exemplo
no Windows:
=> system.hostname → WIN-SERV2008-I6
=> system.hostname[host] → Win-Serv2008-I6LonG
=> system.hostname[host,lower] → win-serv2008-i6long

Consulte também uma descrição mais detalhada.
system.hw.chassis[<info>]
Informação de Chassis. String info - uma das opções:
full → completo (padrão),
model → modelo,
serial,
type → tipo ou
vendor → fornecedor
Exemplo: system.hw.chassis[full]
Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop]

Esta chave depende da disponibilidade da tabela SMBIOS.
Tentará ler a tabela DMI de sysfs, se o acesso a sysfs falhar então tenta ler diretamente da memória.

Permissões de root são necessárias porque o valor é obtido pela leitura do sysfs ou memória.

Suportado desde o Zabbix 2.0.
system.hw.cpu[<cpu>,<info>]
Informação de CPU. String ou inteiro cpu - <número da CPU> ou
all → tudo (padrão)
info - valores possíveis:
full → completo (padrão),
curfreq,
maxfreq,
model → modelo ou
vendor → fornecedor
Exemplo:
=> system.hw.cpu[0,vendor] → AuthenticAMD

Reúne informação de /proc/cpuinfo e /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq.

Se o número de CPU e curfreq ou maxfreq for especificado, um valor numérico é retornado (Hz).

Suportado desde o Zabbix 2.0.
system.hw.devices[<type>]
Listagem de dispositivos PCI ou USB. Texto type (desde a versão 2.0) - pci (padrão) ou usb Exemplo:
=> system.hw.devices[pci] → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
[..]

Retorna a saída do utilitário lspci ou lsusb (executado sem quaisquer parâmetros).
system.hw.macaddr[<interface>,<format>]
Listagem de endereços MAC. String interface - all → tudo (padrão) ou uma expressão regular
format - full → completo (padrão) ou
short → curto
Lista endereços MAC das interfaces cujos nomes correspondem com a expressão regular para interface (all (tudo) lista todas as interfaces).

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

Se format for especificado como short, nomes de interface e endereços de MAC idênticos não são listados.

Suportado desde o Zabbix 2.0.
system.localtime[<type>]
Horário de sistema. Inteiro - com type como utc

String - com type como local
type (desde a versão 2.0) - (tipo) valores possíveis:
utc - (padrão) tempo decorrido desde Epoch (00:00:00 UTC, 1º de Janeiro, 1970), medido em segundos.
local - o tempo no formato 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm', onde y → ano.
Deve ser usado apenas como verificação passiva.

Exemplo:
=> system.localtime[local] → cria um item usando esta chave e então a usa para mostrar o horário do host no widget de Relógio no dashboard.
system.run[command,<mode>]
Executa o comando especificado no host. Resultado do comando em texto

1 - com mode como nowait (independente do resultado do comando)
command - comando para execução
mode - valores possíveis:
wait - aguarda término da execução (padrão),
nowait - não aguarda
Até 512KB de dados podem ser retornados, incluindo espaço em branco à direita que é truncado.
Para ser processado corretamente, a saída do comando deve ser texto.

Exemplo:
=> system.run[ls -l /] → lista de arquivo detalhada do diretório root.

Nota: itens system.run são desabilitados por padrão. Aprenda como habilitá-los.

O valor de retorno do item é a saída padrão junto com saída de erro padrão produzidas pelo comando. O código de saída não é verificado.

Resultado vazio é permitido a partir do Zabbix 2.4.0.
Veja também: Execução de comando.
system.stat[resource,<type>]
Estatísticas de sistema. Inteiro ou número flutuante ent - número de unidades de processador que esta partição tem direito a receber (número flutuante)
kthr,<type> - informação sobre estados das threads do kernel:
r - número médio de threads de kernel executáveis (número flutuante)
b - número médio de threads de kernel colocadas na fila de espera do Gerenciador de Memória Virtual (Virtual Memory Manager)(número flutuante)
memory,<type> - informação sobre uso de memória virtual e real:
avm - páginas virtuais ativas (inteiro)
fre - tamanho da lista livre (inteiro)
page,<type> - informação sobre falta de páginas e atividade de paginação:
fi - paginação de arquivo (file page-ins) por segundo (número flutuante)
fo - despaginação de arquivo (file page-outs) por segundo (número flutuante)
pi - páginas paginadas do espaço de paginação (número flutuante)
po - páginas despaginadas para o espaço de paginação (número flutuante)
fr - páginas liberadas (substituição de página) (número flutuante)
sr - páginas escaneadas pelo algoritmo de substituição de páginas (número flutuante)
faults,<type> - taxa de interceptação e interrupção:
in - interrupções de dispositivo (número flutuante)
sy - chamadas de sistema (número flutuante)
cs - alternâncias de contexto de thread de kernel (número flutuante)
cpu,<type> - detalhamento da porcentagem de uso de tempo de processador:
us - tempo de usuário (número flutuante)
sy - tempo de sistemas (número flutuante)
id - tempo ocioso (número flutuante)
wa - tempo ocioso durante o qual o sistema possui requisições de disco/NFS I/O pendentes (número flutuante)
pc - número de processadores físicos consumidos (número flutuantet)
ec - porcentagem de capacidade autorizada consumida (número flutuante)
lbusy - indica a porcentagem de utilização de processadores lógicos ocorrida durante a execução no nível de usuário ou sistema (número flutuante)
app - indica os processadores físicos disponíveis na área de compartilhamento (número flutuante)
disk,<type> - estatísticas de disco:
bps - indica quantidade de dados transferidos (leitura ou escrita) para o drive em bytes por segundo (inteiro)
tps - indica o número de transferências por segundo que foram emitidas para o disco físico/fita (número flutuante)
Comentários
Este item é suportado apenas no AIX, desde o Zabbix 1.8.1.
Esteja ciente das seguintes limitações nestes itens:
=> system.stat[cpu,app] - suportado apenas no AIX LPAR do tipo "Compartilhado (Shared)"
=> system.stat[cpu,ec] - suportado no AIX LPAR do tipo "Compartilhado (Shared)" e "Dedicado" ("Dedicado" sempre retorna 100 (porcento))
=> system.stat[cpu,lbusy] - suportado apenas no AIX LPAR do tipo "Compartilhado (Shared)"
=> system.stat[cpu,pc] - suportado no AIX LPAR do tipo "Compartilhado (Shared)" e "Dedicado"
=> system.stat[ent] - suportado no AIX LPAR do tipo "Compartilhado (Shared)" e "Dedicado"
system.sw.arch
Informação de arquitetura de software. String Exemplo:
=> system.sw.arch → i686

Informação é obtida da função uname().

Suportado desde o Zabbix 2.0.
system.sw.os[<info>]
Informação de sistema operacional. String info - valores possíveis:
full → completo (padrão),
short → curto ou
name → nome
Exemplo:
=> system.sw.os[short]→ Ubuntu 2.6.35-28.50-generic 2.6.35.11

Informação obtida de (note que nem todas os arquivos e opções estão presentes em todas as distribuições):
/proc/version (completo)
/proc/version_signature (curto)
Parâmetro PRETTY_NAME de /etc/os-release nos sitemas que o suportam, ou /etc/issue.net (nome)

Suportado desde o Zabbix 2.0.
system.sw.packages[<package>,<manager>,<format>]
Listagem de pacotes instalados. Texto package - all → tudo (padrão) ou uma expressão regular
manager - all → tudo (padrão) ou um gerenciador de pacote
format - full → completo (padrão) ou short → curto
Lista (alfabeticamente) os pacotes instalados cujo nome de pacote corresponde à expressão regular fornecida (tudo lista todos).

Exemplo:
=> system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal

Gerenciadores de pacote suportados (comando executado):
dpkg (dpkg --get-selections)
pkgtool (ls /var/log/packages)
rpm (rpm -qa)
pacman (pacman -Q)

Se format é especificado como completo, os pacotes são agrupados por gerenciadores de pacote (cada gerenciador em uma linha separada iniciando com seu nome entre colchetes).
Se format é especificado como curto, os pacotes não são agrupados e são listados em uma única linha.

Suporto desde o Zabbix 2.0.
system.swap.in[<device>,<type>]
Estatísticas de leitura de swap (do dispositivo para memória). Inteiro device - dispositivo usado para o swapping (padrão é all (todos))
type - valores possíveis:
count (número de leituras de swap), sectors (setores lidos), pages (páginas lidas).
Veja também detalhes específicos de plataforma para este parâmetro.
Exemplo:
=> system.swap.in[,pages]

A origem desta informação é:
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
system.swap.out[<device>,<type>]
Estatísticas de gravação de swap (da memória para o dispositivo). Inteiro device - dispositivo usado para o swapping (padrão é all (todos))
type - valores possíveis:
count (número de gravações), sectors (setores gravados), pages (páginas gravadas).
Veja também detalhes específicos de plataforma para este parâmetro.
Exemplo:
=> system.swap.out[,pages]

A origem desta informação é:
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
system.swap.size[<device>,<type>]
Tamanho de espaço de swap em bytes ou em porcentagem do total. Inteiro - para bytes

Número flutuante - para porcentagem
device - dispositivo usado para o swapping (padrão é all (todos))
type - valores possíveis:
free (espaço de swap livre, padrão), pfree (espaço de swap livre, em porcento), pused (espaço de swap usado, em porcento), total (espaço de swap total), used (espaço de swap usado)
Note que pfree, pused e não são suportados no Windows se o tamanho de swap for 0.
Veja também detalhes específicos de plataforma para este parâmetro.
Exemplo:
=> system.swap.size[,pfree] → porcentagem de espaço de swap livre

Se device não for especificado o Zabbix Agent levará em conta apenas dispositivos de swap (arquivos), a memória física será ignorada. Por exemplo, nos sistemas Solaris o comando swap -s inclui uma porção de memória física e dispositivos de swap (diferente de swap -l).

Note que esta chave pode retornar tamanho/porcentagem de swap incorreto em plataformas Windows virtualizadas (VMware ESXi, VirtualBox). Neste caso você pode usar a chave perf_counter[\700(_Total)\702] para obter a porcentagem de espaço correta.
system.uname
Identificação do sistema. String Exemplo de valor retornado (Unix):
FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386

Exemplo de valor retornado (Windows):
Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86

No Unix desde o Zabbix 2.2.0 o valor para este item é obtido com a chamada de sistema uname(). Previamente era obtido invocando "uname -a". O valor deste item pode diferir da saída de "uname -a" e não inclui informação adicional que "uname -a" mostra baseado em outras fontes.

No Windows desde o Zabbix 3.0 o valor para este item é obtido das classes WMI Win32_OperatingSystem e Win32_Processor. Previamente era obtido de APIs Windows voláteis e chaves de registro não documentadas. O nome de SO (incluindo edição) pode ser traduzido para o idioma de apresentação do ususário. Em algumas versões de Windows há símbolos de marca registrada e espaços extras.

Note que no Windows o item retorna a arquitetura do SO, enquanto no Unix ele retorna a arquitetura da CPU.
system.uptime
Tempo de atividade do sistema em segundos. Inteiro Em configuração de item, use unidades s ou uptime para obter valores legíveis.
system.users.num
Número de usuários logados. Inteiro O comando who é usado no lado do agente para obter o valor.
vfs.dev.discovery
Lista de dispositivos de bloco e seu tipo. Usado para descoberta de baixo-nível. Objeto JSON Este item é suportado apenas na plataforma Linux.

Suportado desde o Zabbix 4.4.0.
vfs.dev.read[<device>,<type>,<mode>]
Estatísticas de leitura de disco. Inteiro - com type em sectors, operations, bytes

Número flutuante - com type em sps, ops, bps

Nota: se usando um intervalo de atualização de três horas ou mais2, retornará sempre '0'
device - dispositivo de disco (padrão é all (todos) 3)
type - valores possíveis: sectors, operations, bytes, sps, ops, bps
Note que o suporte e padrões para o parâmetro 'type' dependem da plataforma. Consulte detalhes específicos de plataforma.
sps, ops, bps correspondem a: setores, operações, bytes por segundo, respectivamente.
mode - valores possíveis: avg1 (média de 1 minuto, padrão), avg5, avg15.
Este parâmetro é suportado apenas com type como: sps, ops, bps.
Você pode usar nomes de dispositivo relativos (por exemplo, sda) bem como com um prefixo opcional /dev/ (por exemplo, /dev/sda).

Volumes lógicos LVM são suportados.

Valores padrão do parâmetro 'type' para diferentes SOs:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

Exemplo:
=> vfs.dev.read[,operations]

sps, ops e bps em plataformas suportadas costumam estar limitados a 8 dispositivos (7 individuais e um all). Desde o Zabbix 2.0.1 este limite é de 1024 dispositivos (1023 individuais e um para all).
vfs.dev.write[<device>,<type>,<mode>]
Estatísticas de escrita em disco. Inteiro - com type como sectors, operations, bytes

Número flutuante - com type como sps, ops, bps

Nota: se usando um intervalo de atualização de três horas ou mais2, retornará sempre '0'
device - dispositivo de disco (padrão é all (todos) 3)
type - valores possíveis: sectors, operations, bytes, sps, ops, bps
Note que o suporte e padrões para o parâmetro 'type' depende da plataforma. Consulte detalhes específicos de plataforma.
sps, ops, bps correspondem a: setores, operações, bytes por segundo, respectivamente.
mode - valores possíveis: avg1 (média de 1 minuto, padrão), avg5, avg15.
Este parâmetro é suportado apenas com type como: sps, ops, bps.
Você pode usar nomes de dispositivo relativos (por exemplo, sda) bem como com um prefixo opcional /dev/ (por exemplo, /dev/sda).

Volumes lógicos LVM são suportados.

Valores padrão do parâmetro 'type' para diferentes SOs:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

Exemplo:
=> vfs.dev.write[,operations]

sps, ops e bps em plataformas suportadas costumam estar limitados a 8 dispositivos (7 individuais e um all). Desde o Zabbix 2.0.1 este limite é de 1024 dispositivos (1023 individuais e um para all).
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>]
Contagem de entrada de diretório. Inteiro dir - caminho absoluto para o diretório
regex_incl - expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) a ser incluído; inclui tudo se vazio (valor padrão)
regex_excl - expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) a ser excluído; não exclui nada se vazio (valor padrão)
types_incl - tipos de entrada de diretório para contagem, valores possíveis:
file - arquivo regular, dir - subdiretório, sym - link simbólico, sock - socket, bdev - dispositivo de bloco, cdev - dispositivo de caracter, fifo - FIFO, dev - sinônimo de "bdev,cdev", all - todos os tipos (padrão), p.e. "file,dir,sym,sock,bdev,cdev,fifo". Tipos múltiplos deve ser separados com vírgula e entre aspas duplas.
types_excl - tipos de entrada de diretório (veja <types_incl>) para NÃO contar. Se algum tipo de entrada estiver em ambos <types_incl> e <types_excl>, as entradas de diretório deste tipo NÃO são contadas.
max_depth - profundidade máxima de subdiretórios a serem examinados. -1 (padrão) - ilimitado, 0 - sem descida aos subdiretórios.
min_size - tamanho mínimo (em bytes) para o arquivo ser contado. Arquivos menores não serão contados. Sufixos de memória podem ser usados.
max_size - tamanho máximo (em bytes) para o arquivo ser contado. Arquivos maiores não serão contados. Sufixos de memória podem ser usados.
min_age - idade mínima (em segundos) da entrada de diretório para ser contada. Entradas mais recentes não serão contadas. Sufixos de tempo podem ser usados.
max_age - idade máxima (em segundos) da entrada de diretório para ser contada. Entradas tão antigas quanto ou mais antigas não serão contadas (data de modificação). Sufixos de tempo podem ser usados.
regex_excl_dir - expressão regular decrevendo o padrão de nome de diretório a excluir. Todo o conteúdo do diretório será excluído (em contraste ao regex_excl)
Variáveis de ambiente, p.e. %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 nas passagens de diretório.

No Windows, links de diretório simbólicos são pulados e links físicos são contados apenas uma vez.

Ambos regex_incl e regex_excl são aplicados a arquivos e diretórios quando calculando tamanho da entrada, mas são ignorados quando selecionando subdiretórios para passagem (se regex_incl é “(?i)^.+\.zip$” e max_depth não estiver configurado, então todos os subdiretórios serão passados, mas apenas do tipo zip serão contados).

O tempo de execução é limitado pelo valor de tempo máximo (timeout) padrão na configuração do agente (3 seg). Dado que a passagem por grandes diretórios pode levar mais tempo que isso, nenhum dado será retornado e o item não será suportado. Contagem parcial não será retornada.

Quando filtrando por tamanho, apenas arquivos regulares têm tamanhos significativos. Sob Linux e BSD, diretórios também têm tamanhos não-zerados (tipicamente alguns Kb). Dispositivos têm tamanhos zerados, p.e. o tamanho de /dev/sda1 não reflete no tamanho da respectiva partição. Deste modo, quando usando <min_size>e <max_size>, é aconselhável 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 no diretório temporário (Windows)

Suportado desde o Zabbix 4.0.0.
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>]
Lista de entradas de diretório. JSON dir - caminho absoluto para o diretório
regex_incl - expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) para inclusão; inclui tudo se vazio (valor padrão)
regex_excl - expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) para exclusão; não exclui nenhum se estiver vazio (valor padrão)
types_incl - tipos de entrada de diretório para listar, valores possíveis:
file - arquivo regular, dir - subdiretório, sym - link simbólico, sock - socket, bdev - dispositivo de bloco, cdev - dispositivo de caracter, fifo - FIFO, dev - sinônimo de "bdev,cdev", all - todos os tipos (padrão), p.e. "file,dir,sym,sock,bdev,cdev,fifo". Tipos múltiplos devem ser separados com vírgula e entre aspas duplas.
types_excl - tipos de entrada de diretório (veja <types_incl>) para NÃO listar. Se algum tipo de entrada está em ambos <types_incl> e <types_excl>, entradas de diretório deste tipo NÃO são listadas.
max_depth - profundidade máxima de subdiretórios a serem examinados. -1 (padrão) - ilimitado, 0 - sem descida aos subdiretórios.
min_size - tamanho mínimo (em bytes) para o arquivo ser contado. Arquivos menores não serão contados. Sufixos de memória podem ser usados.
max_size - tamanho máximo (em bytes) para o arquivo ser contado. Arquivos maiores não serão contados. Sufixos de memória podem ser usados.
min_age - idade mínima (em segundos) da entrada de diretório para ser contada. Entradas mais recentes não serão contadas. Sufixos de tempo podem ser usados.
max_age - idade máxima (em segundos) da entrada de diretório para ser contada. Entradas tão antigas quanto ou mais antigas não serão contadas (data de modificação). Sufixos de tempo podem ser usados.
regex_excl_dir - expressão regular decrevendo o padrão de nome de diretório a excluir. Todo o conteúdo do diretório será excluído (em contraste ao regex_excl)
Variáveis de ambiente, p.e. %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 nas passagens de diretório.

No Windows, links de diretório simbólicos são pulados e links físicos são contados apenas uma vez.

Ambos regex_incl e regex_excl são aplicados a arquivos e diretórios quando calculando tamanho da entrada, mas são ignorados quando selecionando subdiretórios para passagem (se regex_incl é “(?i)^.+\.zip$” e max_depth não estiver configurado, então todos os subdiretórios serão passados, mas apenas do tipo zip serão contados).

O tempo de execução é limitado pelo valor de tempo máximo (timeout) padrão na configuração do agente (3 seg). Dado que a passagem por grandes diretórios pode levar mais tempo que isso, nenhum dado será retornado e o item não será suportado. Contagem parcial não será retornada.

Quando filtrando por tamanho, apenas arquivos regulares têm tamanhos significativos. Sob Linux e BSD, diretórios também têm tamanhos não-zerados (tipicamente alguns Kb). Dispositivos têm tamanhos zerados, p.e. o tamanho de /dev/sda1 não reflete no tamanho da respectiva partição. Deste modo, quando usando <min_size>e <max_size>, é aconselhável especificar <types_incl> como "file", para evitar surpresas.

Exemplos:
⇒ vfs.dir.get[/dev] - coleta lista de dispositivos em /dev (Linux)
⇒ vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] - coleta lista de arquivos no diretório temporário (Windows)

Suportado desde o Zabbix 6.0.0.
vfs.dir.size[dir,<regex_incl>,<regex_excl>,<mode>,<max_depth>,<regex_excl_dir>]
Tamanho de diretório (em bytes). Inteiro dir - caminho absoluto para o diretório
regex_incl - expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) para inclusão; inclui tudo se vazio (valor padrão)
regex_excl - expressão regular descrevendo o padrão de nome da entidade (arquivo, diretório, link simbólico) para exclusão; não exclui nenhum se estiver vazio (valor padrão)
mode - valores possíveis:
apparent (padrão) - obtém o valor aparente do tamanho dos arquivos em vez do uso em disco (age como du -sb dir), disk - obtém o uso em disco (age como du -s -B1 dir). Diferente do comando du, o item vfs.dir.size leva em conta arquivos ocultos quando calculando o tamanho do diretório (age como du -sb .[^.]* * de dentro do diretório).
max_depth - profundidade máxima de subdiretórios a serem examinados. -1 (padrão) - ilimitado, 0 - sem descida aos subdiretórios.
regex_excl_dir - expressão regular decrevendo o padrão de nome de diretório a excluir. Todo o conteúdo do diretório será excluído (em contraste ao regex_excl)
Apenas diretórios com no mínimo permissão de leitura para o usuário zabbix serão calculados.

No Windows, links de diretório simbólicos são pulados e links físicos são contados apenas uma vez.

Com diretórios grandes ou dispositivos lentos este item pode esgotar o tempo de execução devido à configuração de Timeout nos arquivos de configuração do Agent e Server/Proxy. Aumente o valor de timeout conforme necessário.

Exemplos:
⇒ vfs.dir.size[/tmp,log] - calcula o tamanho de todos os arquivos em /tmp que contêm 'log'
⇒ vfs.dir.size[/tmp,log,^.+\.old$] - calcula o tamanho de todos os arquivos em /tmp que contêm 'log', excluindo arquivos contendo '.old'

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

Suportado desde o Zabbix 3.4.0.
vfs.file.cksum[file,<mode>]
Checksum de arquivo, calculado pelo algoritmo cksum do UNIX. Inteiro - com mode como crc32

String - com mode como md5, sha256
file - caminho completo para o arquivo
mode - crc32 (padrão), md5, sha256
Exemplo:
=> vfs.file.cksum[/etc/passwd]

Exemplo de valores retornados (crc32/md5/sha256 respectivamente):
675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc

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

O parâmetro mode é suportado desde o Zabbix 6.0.
vfs.file.contents[file,<encoding>]
Obtendo o conteúdo de um arquivo. Text file - caminho completo para o arquivo
encoding - identificador de código de página
Retorna uma string vazia se o arquivo estiver vazio ou conter apens caracteres LF/CR.

Byte order mark (BOM) é excluída da saída.

Exemplo:
=> vfs.file.contents[/etc/passwd]

Este item é limitado a arquivos não maiores que 64 Kbytes.

Suportado desde o Zabbix 2.0.
vfs.file.exists[file,<types_incl>,<types_excl>]
Verifica se arquivo existe. 0 - não encontrado

1 - arquivo do tipo especificado existe
file - caminho completo para o arquivo
types_incl - lista de tipos de arquivo a incluir, valores possíveis: file (arquivo regular, padrão (se types_excl não estiver configurado)), dir (diretório), sym (link simbólico), sock (socket), bdev (dispositivo de bloco), cdev (dispositivo de caracter), fifo (FIFO), dev (sinônimo de "bdev,cdev"), all (todos os tipos mencionados, padrão se types_excl estiver especificado).
types_excl - lista de tipos de arquivos a excluir, veja types_incl para valores possíveis (por padrão nenhum tipo é excluído)
Tipos múltiplos devem ser separados com vírgula e entre aspas duplas "".
No Windows as aspas duplas devem ser escapadas '\' com contrabarra e a chave do item completamente quotadas com aspas duplas quando usando o utilitário de linha de comando para chamar o zabbix_get.exe ou agent2.

Se o mesmo tipo estiver em ambos <types_incl> e <types_excl>, os arquivos deste tipo são excluídos.

Exemplos:
=> vfs.file.exists[/tmp/application.pid]
=> vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
=> vfs.file.exists[/tmp/application_dir,dir]

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

Note que o item pode se tornar não suportado no Windows se um diretório for procurado dentro de um diretório não existente, p.e. vfs.file.exists[C:\no\dir,dir] (onde 'no' não existe).
vfs.file.get[file]
Retorna informação sobre um arquivo. Objeto JSON file - caminho completo para o arquivo Tipos de arquivo suportados em sistemas tipo-UNIX: arquivo regular, diretório, link simbólico, socket, dispositivo de bloco, dispositivo de caracter, FIFO

Tipos de arquivo suportados no Windows: arquivo regular, diretório, link simbólico

Exemplo:
=> vfs.file.get[/etc/passwd] → retorna um JSON com informação sobre o arquivo /etc/passwd (tipo, usuário, permissões, SID, uid, etc.)

Suportado desde o Zabbix 6.0.
vfs.file.md5sum[file]
Checksum MD5 de um arquivo. String de caracter (hash MD5 do arquivo) file - caminho completo para o arquivo Exemplo:
=> vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]

Exemplo de valor retornado:
b5052decb577e0fffd622d6ddc017e82

O limite de tamanho de arquivo (64 MB) para este item foi removido na versão 1.8.6.

O limite de tamanho de arquivo depende do suporte a grandes arquivos.
vfs.file.owner[file,<ownertype>,<resulttype>]
Obtém o proprietário de um arquivo. String de caracter file - caminho completo para o arquivo
ownertype - user → usuário (padrão) ou group → grupo (apenas Unix)
resulttype - name (padrão) ou id; para id - retorna uid/gid no Unix, SID no Windows
Exemplo:
=> vfs.file.owner[/tmp/zabbix_server.log] → retorna o proprietário de /tmp/zabbix_server.log
=> vfs.file.owner[/tmp/zabbix_server.log,,id] → retorna o ID do proprietário de /tmp/zabbix_server.log

Suportado desde o Zabbix 6.0.
vfs.file.permissions[file]
Retorna uma string de 4 dígitos contendo o número octal de permissões Unix. String file - caminho completo para o arquivo Não suportado no Windows.

Exemplo:
=> vfs.file.permissions[/etc/passwd] → retorna as permissões de /etc/passwd, por exemplo, '0644'

Suportado desde o Zabbix 6.0.
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]
Encontre um texto em um arquivo. A linha contendo o texto correspondente, ou como especificado pelo parâmetro opcional output file - caminho completo para o arquivo
regexp - expressão regular descrevendo o padrão requerido
encoding - identificador de código de página
start line - o número da primeira linha para busca (primeira linha do arquivo por padrão).
end line - o número da última linha para busca (última linha do arquivo por padrão).
output - um modelo opcional de formatação de saída. A sequência de escape \0 é substituída pela parte de texto correspondente (do primeiro caracter onde a correspondência começa até o caracter onde a correspondência termina) enquanto uma sequência de escape \N (onde N=1...9) é substituída pelo N-ésimo grupo correspondente (ou um texto vazio caso N exceda o número de grupos capturados).
Apenas a primeira linha correspondente é retornada.
Um texto vazio é retornado caso nenhuma linha corresponda à expressão.

Byte order mark (BOM) é excluído da saída.

A extração de conteúdo usando o parâmetro output ocorre no agente.

Os parâmetros start line, end line e output são suportadps desde a versão 2.2.

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>]
Encontre um texto em um arquivo. 0 - correspondência não encontrada

1 - encontrada
file - caminho completo para o arquivo
regexp - expressão regular descrevendo o padrão requerido
encoding - identificador de código de página
start line - o número da primeira linha para busca (primeira linha do arquivo por padrão).
end line - o número da última linha para busca (última linha do arquivo por padrão).
Byte order mark (BOM) é ignorado.

Os parâmetros start line e end line são suportados desde a versão 2.2.

Exemplo:
=> vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file,<mode>]
Tamanho de arquivo (em bytes). Inteiro file - caminho completo para o arquivo
mode - valores possíveis:
bytes (padrão) ou lines (linhas vazias são contadas, também)
O arquivo deve ter permissões de leitura para o usuário zabbix.

Exemplo:
=> vfs.file.size[/var/log/syslog]

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

O parâmetro mode é suportado desde o Zabbix 6.0.
vfs.file.time[file,<mode>]
Informação de data de arquivo. Inteiro (Unix timestamp) file - caminho completo para o arquivo
mode - valores possíveis:
modify (padrão) - última data de modificação de conteúdo do arquivo,
access - última data de leitura do arquivo,
change - última data de alteração das propriedades do arquivo
Exemplo:
=> vfs.file.time[/etc/passwd,modify]

O limite de tamanho de arquivo depende do suporte a grandes arquivos.
vfs.fs.discovery
Lista de sistemas de arquivo montados e seus tipos. Usado para descoberta de baixo-nível. Objeto JSON Suportado desde o Zabbix 2.0.

A macro {#FSDRIVETYPE} é suportada no Windows desde o Zabbix 3.0.

A macro {#FSLABEL} é suportada no Windows desde o Zabbix 6.0.
vfs.fs.get
Lista de sistemas de arquivo montados, seus tipos, espaço em disco e estatísticas de inode. Pode ser usado para descoberta de baixo-nível. Objeto JSON Suportado desde o Zabbix 4.4.5.

A macro {#FSLABEL} é suportada no Windows desde o Zabbix 6.0.
vfs.fs.inode[fs,<mode>]
Número ou porcentagem de inodes. Inteiro - para número

Número flutuante - para porcentagem
fs - sistema de arquivo
mode - valores possíveis:
total (padrão), free, used, //pfree // (livre, porcentagem), pused (usado, porcentagem)
Exemplo:
=> vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<mode>]
Espaço em disco em bytes ou em porcentagem do total. Inteiro - para bytes

Número flutuante - para porcentagem
fs - sistema de arquivo
mode - valores possíveis:
total (padrão), free, used, pfree (livre, porcentagem), pused (usado, porcentagem)
No caso de um volume montado, o espaço em disco para o sistema de arquivo local é retornado.

Exemplo:
=> vfs.fs.size[/tmp,free]

O espaço reservado de um sistema de arquivo é levado em conta e não incluído quando usado o modo free.
vm.memory.size[<mode>]
Espaço em memória em bytes ou porcentagem do total. Inteiro - para bytes

Número flutuante - para porcentagem
mode - valores possíveis:
total (padrão), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (usado, porcentagem), available, pavailable (disponível, porcentagem)
Consulte também suporte específico para plataforma e detalhes adicionais para este parâmetro.
Este item aceita três categorias de parâmetros:

1) total - quantidade total de memória;
2) tipos específicos de memória por plataforma: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired;
3) estimativas de nível de usuário para quanta memória é usada e disponível: used, pused, available, pavailable.
web.page.get[host,<path>,<port>]
Obtém conteúdo de uma página web. Código da página web como texto (incluindo cabeçalhos (headers)) host - nome de host ou URL (como scheme://host:port/path, onde apenas host é obrigatório).
Esquemas URL permitidos: http, https4. A ausência de esquema será tratada como http. Se um URL é especificada, path e port devem ser vazios. Especificação de nome de usuário/senha quando conectando a servidores que requerem autenticação, por exemplo: http://user:[email protected] só é possível com suporte a cURL 4.
Punycode é suportado nos nomes de host.
path - caminho para o documeto HTML (padrão é /)
port - número de porta (padrão é 80 para HTTP)
Este item se torna não suportado se o recurso especificado em host não existir ou estiver indisponível.

host pode ser nome de host, nome de domínio, endereço IPv4 ou IPv6. Mas para endereço IPv6 o Zabbix Agent deve ser compilado com suporte a IPv6 habilitado.

Exemplo:
=> 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>]
Tempo de carregamento da página web completa (em segundos). Número flutuante host - nome de host ou URL (como scheme://host:port/path, onde apenas host é obrigatório).
Esquemas URL permitidos: http, https4. A ausência de esquema será tratada como http. Se um URL é especificada, path e port devem ser vazios. Especificação de nome de usuário/senha quando conectando a servidores que requerem autenticação, por exemplo: http://user:[email protected] só é possível com suporte a cURL 4.
Punycode é suportado nos nomes de host.
path - caminho para o documeto HTML (padrão é /)
port - número de porta (padrão é 80 para HTTP)
Este item se torna não suportado se o recurso especificado em host não existir ou estiver indisponível.

host pode ser nome de host, nome de domínio, endereço IPv4 ou IPv6. Mas para endereço IPv6 o Zabbix Agent deve ser compilado com suporte a IPv6 habilitado.

Exemplo:
=> 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>]
Encontre texto em página web. O texto correspondente, ou como especificado pelo parâmetro opcional output host - nome de host ou URL (como scheme://host:port/path, onde apenas host é obrigatório).
Esquemas URL permitidos: http, https4. A ausência de esquema será tratada como http. Se um URL é especificada, path e port devem ser vazios. Especificação de nome de usuário/senha quando conectando a servidores que requerem autenticação, por exemplo: http://user:[email protected] só é possível com suporte a cURL 4.
Punycode é suportado nos nomes de host.
path - caminho para o documeto HTML (padrão é /)
port - número de porta (padrão é 80 para HTTP)
regexp - regular expression descrevendo o padrão requerido
length - 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 de texto correspondente (do primeiro caracter onde a correspondência começa até o caracter onde a correspondência termina) enquanto uma sequência de escape \N (onde N=1...9) é substituída pelo N-ésimo grupo correspondente (ou um texto vazio caso N exceda o número de grupos capturados).
Este item se torna não suportado se o recurso especificado em host não existir ou estiver indisponível.

host pode ser nome de host, nome de domínio, endereço IPv4 ou IPv6. Mas para endereço IPv6 o Zabbix Agent deve ser compilado com suporte a IPv6 habilitado.

A extração de conteúdo usando o parâmetro output ocorre no agente.

O parâmetro output é suportado desde a versão 2.2.

Exemplo:
=> web.page.regexp[www.example.com,index.php,80,OK,2]
=> web.page.regexp[https://www.example.com,,,OK,2]
zabbix.stats[<ip>,<port>]
Retorna um conjunto de métricas internas do Zabbix Server ou Proxy remotamente. Objeto JSON ip - lista de IP/DNS/máscara de rede de Servers/Proxies para serem consultados remotamente (padrão é 127.0.0.1)
port - porta do Server/Proxy para ser consultada remotamente (padrão é 10051)
Note que a requisição de estatísticas só será aceita a partir dos endereços listados no parâmetro 'StatsAllowedIP' do Server/Proxy na instância de destino.

Um conjunto selecionado de métricas internas é retornado por este item. Para detalhes, veja Monitoramento remoto de estatísticas do Zabbix.
zabbix.stats[<ip>,<port>,queue,<from>,<to>]
Retorna número de itens monitorados atrasados na fila do Zabbix Server ou Proxy remotamente. Objeto JSON ip - lista de IP/DNS/máscara de rede de Servers/Proxies para serem consultados remotamente (padrão é 127.0.0.1)
port - porta do Server/Proxy para ser consultada remotamente (padrão é 10051)
queue - constante (para ser usado como está)
from - atrasado por pelo menos (padrão é 6 segundos)
to - atrasado por até (padrão é infinito)
Note que a requisição de estatísticas só será aceita a partir dos endereços listados no parâmetro 'StatsAllowedIP' do Server/Proxy na instância de destino.

Parâmetros obrigatórios e opcionais

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

Uso com utilitários de linha de comando

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

Por exemplo, se um determinado parâmetro da chave tiver que ser colocado entre aspas duplas você precisa escapar explicitamente das aspas duplas, caso contrário elas serão cortadas 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,,,"arquivo,dir",,0]'
       
       $ zabbix_agentd -t vfs.dir.count[/var/log,,,\"arquivo,dir\",,0]

Zabbix metrics

Key
Description Return value Parameters Comments
agent.hostmetadata
Agent host metadata. String Returns the value of HostMetadata or HostMetadataItem parameters, or empty string if none are defined.

Supported since Zabbix 6.0.
agent.hostname
Agent host name. String Returns:
As passive check - the name of the first host listed in the Hostname parameter of the agent configuration file;
As active check - the name of the current hostname.
agent.ping
Agent availability check. Nothing - unavailable

1 - available
Use the nodata() trigger function to check for host unavailability.
agent.variant
Variant of Zabbix agent (Zabbix agent or Zabbix agent 2). Integer Example of returned value:
1 - Zabbix agent
2 - Zabbix agent 2
agent.version
Version of Zabbix agent. String Example of returned value:
6.0.3
zabbix.stats[<ip>,<port>]
Return a set of Zabbix server or proxy internal metrics remotely. JSON object ip - IP/DNS/network mask list of servers/proxies to be remotely queried (default is 127.0.0.1)
port - port of server/proxy to be remotely queried (default is 10051)
Note that the stats request will only be accepted from the addresses listed in the 'StatsAllowedIP' server/proxy parameter on the target instance.

A selected set of internal metrics is returned by this item. For details, see Remote monitoring of Zabbix stats.
zabbix.stats[<ip>,<port>,queue,<from>,<to>]
Return number of monitored items in the queue which are delayed on Zabbix server or proxy remotely. JSON object ip - IP/DNS/network mask list of servers/proxies to be remotely queried (default is 127.0.0.1)
port - port of server/proxy to be remotely queried (default is 10051)
queue - constant (to be used as is)
from - delayed by at least (default is 6 seconds)
to - delayed by at most (default is infinity)
Note that the stats request will only be accepted from the addresses listed in the 'StatsAllowedIP' server/proxy parameter on the target instance.

Resolução de problemas com itens do Agente

  • Se for utilizada verificação passiva, o valor de Timeout no arquivo de configuração do Server precisa ser maior do que o Timeout definido no arquivo de configuração do Agent. Caso contrário o item pode não receber nenhum valor devido a requisição do Server ao Agent terminar antes.

** Mandatory and optional parameters **

Parameters without angle brackets are mandatory. Parameters marked with angle brackets < > are optional.

** Usage with command-line utilities **

Note that when testing or using item keys with zabbix_agentd or zabbix_get from the command line you should consider shell syntax too.

For example, if a certain parameter of the key has to be enclosed in double quotes you have to explicitly escape double quotes, otherwise they will be trimmed by the shell as special characters and will not be passed to the Zabbix utility.

Examples:

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

Troubleshooting agent items

  • If used with the passive agent, Timeout value in server configuration may need to be higher than Timeout in the agent configuration file. Otherwise the item may not get any value because the server request to agent timed out first.

Kernel metrics

Key
Description Return value Parameters Comments
kernel.maxfiles
Maximum number of opened files supported by OS. Integer
kernel.maxproc
Maximum number of processes supported by OS. Integer
kernel.openfiles
Return the number of currently open file descriptors. Integer This item is supported on Linux only since Zabbix 6.0.

Log monitoring

See additional information on log monitoring.

Key
Description Return value Parameters Comments
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>]
Monitoring of a log file. Log file - full path and name of log file
regexp - regular expression describing the required pattern
encoding - code page identifier
maxlines - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of 'MaxLinesPerSecond' in zabbix_agentd.conf
mode (since version 2.0)- possible values:
all (default), skip - skip processing of older data (affects only newly created items).
output (since version 2.2) - an optional output formatting template. The \0 escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an \N (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).
maxdelay (since version 3.2) - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "maxdelay" seconds. Read the maxdelay notes before using it!
options (since version 4.4.7) - additional options:
mtime-noreread - non-unique records, reread only if the file size changes (ignore modification time change). (This parameter is deprecated since 5.0.2, because now mtime is ignored.)
persistent_dir (since versions 5.0.18, 5.4.9, only in zabbix_agentd on Unix systems; not supported in Agent2) - absolute pathname of directory where to store persistent files. See also additional notes on persistent files.
The item must be configured as an active check.
If file is missing or permissions do not allow access, item turns unsupported.

If output is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except 'Result is TRUE' always return the whole matched line and the output parameter is ignored.

Content extraction using the output parameter takes place on the agent.

Examples:
=> log[/var/log/syslog]
=> log[/var/log/syslog,error]
=> log[/home/zabbix/logs/logfile,,,100]

Using output parameter for extracting a number from log record:
=> log[/app1/app.log,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] → will match a log record "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" and send only '6080' to server. Because a numeric value is being sent, the "Type of information" for this item can be set to "Numeric (unsigned)" and the value can be used in graphs, triggers etc.

Using output parameter for rewriting log record before sending to 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"] → will match a log record "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" and send a modified record "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>]
Count of matched lines in a monitored log file. Integer file - full path and name of log file
regexp - regular expression describing the required pattern
encoding - code page identifier
maxproclines - maximum number of new lines per second the agent will analyze (cannot exceed 10000). Default value is 10*'MaxLinesPerSecond' in zabbix_agentd.conf.
mode - possible values:
all (default), skip - skip processing of older data (affects only newly created items).
maxdelay - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "maxdelay" seconds. Read the maxdelay notes before using it!
options (since version 4.4.7) - additional options:
mtime-noreread - non-unique records, reread only if the file size changes (ignore modification time change). (This parameter is deprecated since 5.0.2, because now mtime is ignored.)
persistent_dir (since versions 5.0.18, 5.4.9, only in zabbix_agentd on Unix systems; not supported in Agent2) - absolute pathname of directory where to store persistent files. See also additional notes on persistent files.
The item must be configured as an active check.
If file is missing or permissions do not allow access, item turns unsupported.

This item is not supported for Windows Event Log.

Supported since Zabbix 3.2.0.
logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>]
Monitoring of a log file that is rotated. Log file_regexp - absolute path to file and the file name described by a regular expression. Note that only the file name is a regular expression
regexp - regular expression describing the required content pattern
encoding - code page identifier
maxlines - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of 'MaxLinesPerSecond' in zabbix_agentd.conf
mode (since version 2.0) - possible values:
all (default), skip - skip processing of older data (affects only newly created items).
output (since version 2.2) - an optional output formatting template. The \0 escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an \N (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).
maxdelay (since version 3.2) - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "maxdelay" seconds. Read the maxdelay notes before using it!
options (since version 4.0; mtime-reread, mtime-noreread options since 4.4.7) - type of log file rotation and other options. Possible values:
rotate (default),
copytruncate - note that copytruncate cannot be used together with maxdelay. In this case maxdelay must be 0 or not specified; see copytruncate notes,
mtime-reread - non-unique records, reread if modification time or size changes (default),
mtime-noreread - non-unique records, reread only if the size changes (ignore modification time change).
persistent_dir (since versions 5.0.18, 5.4.9, only in zabbix_agentd on Unix systems; not supported in Agent2) - absolute pathname of directory where to store persistent files. See also additional notes on persistent files.
The item must be configured as an active check.
Log rotation is based on the last modification time of files.

Note that logrt is designed to work with one currently active log file, with several other matching inactive files rotated. If, for example, a directory has many active log files, a separate logrt item should be created for each one. Otherwise if one logrt item picks up too many files it may lead to exhausted memory and a crash of monitoring.

If output is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except 'Result is TRUE' always return the whole matched line and the output parameter is ignored.

Content extraction using the output parameter takes place on the agent.

Examples:
=> logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] → will match a file like "logfile1" (will not match ".logfile1")
=> logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] → will collect data from files such "logfile_abc_1" or "logfile__001".

Using output parameter for extracting a number from log record:
=> logrt[/app1/^test.*log$,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] → will match a log record "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" and send only '6080' to server. Because a numeric value is being sent, the "Type of information" for this item can be set to "Numeric (unsigned)" and the value can be used in graphs, triggers etc.

Using output parameter for rewriting log record before sending to 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"] → will match a log record "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" and send a modified record "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.
logrt.count[file_regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>]
Count of matched lines in a monitored log file that is rotated. Integer file_regexp - absolute path to file and regular expression describing the file name pattern
regexp - regular expression describing the required content pattern
encoding - code page identifier
maxproclines - maximum number of new lines per second the agent will analyze (cannot exceed 10000). Default value is 10*'MaxLinesPerSecond' in zabbix_agentd.conf.
mode - possible values:
all (default), skip - skip processing of older data (affects only newly created items).
maxdelay - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "maxdelay" seconds. Read the maxdelay notes before using it!
options (since version 4.0; mtime-reread, mtime-noreread options since 4.4.7) - type of log file rotation and other options. Possible values:
rotate (default),
copytruncate - note that copytruncate cannot be used together with maxdelay. In this case maxdelay must be 0 or not specified; see copytruncate notes,
mtime-reread - non-unique records, reread if modification time or size changes (default),
mtime-noreread - non-unique records, reread only if the size changes (ignore modification time change).
persistent_dir (since versions 5.0.18, 5.4.9, only in zabbix_agentd on Unix systems; not supported in Agent2) - absolute pathname of directory where to store persistent files. See also additional notes on persistent files.
The item must be configured as an active check.
Log rotation is based on the last modification time of files.

This item is not supported for Windows Event Log.

Supported since Zabbix 3.2.0.

Modbus

Key
Description Return value Parameters Comments
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>]
Reads Modbus data. JSON object endpoint - endpoint defined as protocol://connection_string
slave id - slave ID
function - Modbus function
address - address of first registry, coil or input
count - number of records to read
type - type of data
endianness - endianness configuration
offset - number of registers, starting from 'address', the results of which will be discarded.

See a detailed description of parameters.
Supported since Zabbix 5.2.0.

Network data

Key
Description Return value Parameters Comments
net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Checks if DNS service is up. 0 - DNS is down (server did not respond or DNS resolution failed)

1 - DNS is up
ip - IP address of DNS server (leave empty for the default DNS server, ignored on Windows)
name - DNS name to query
type - record type to be queried (default is SOA)
timeout (ignored on Windows) - timeout for the request in seconds (default is 1 second)
count (ignored on Windows) - number of tries for the request (default is 2)
protocol (since version 3.0) - the protocol used to perform DNS queries: udp (default) or tcp
Example:
=> net.dns[8.8.8.8,example.com,MX,2,1]

The possible values for type are:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (except for Windows), HINFO, MINFO, TXT, SRV

Internationalized domain names are not supported, please use IDNA encoded names instead.

SRV record type is supported since Zabbix 1.8.6 (Unix) and 2.0.0 (Windows).

Naming before Zabbix 2.0 (still supported): net.tcp.dns
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Performs a DNS query. Character string with the required type of information ip - IP address of DNS server (leave empty for the default DNS server, ignored on Windows)
name - DNS name to query
type - record type to be queried (default is SOA)
timeout (ignored on Windows) - timeout for the request in seconds (default is 1 second)
count (ignored on Windows) - number of tries for the request (default is 2)
protocol(since version 3.0) - the protocol used to perform DNS queries: udp (default) or tcp
Example:
=> net.dns.record[8.8.8.8,example.com,MX,2,1]

The possible values for type are:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (except for Windows), HINFO, MINFO, TXT, SRV

Internationalized domain names are not supported, please use IDNA encoded names instead.

SRV record type is supported since Zabbix 1.8.6 (Unix) and 2.0.0 (Windows).

Naming before Zabbix 2.0 (still supported): net.tcp.dns.query
net.if.collisions[if]
Number of out-of-window collisions. Integer if - network interface name
net.if.discovery
List of network interfaces. Used for low-level discovery. JSON object Supported since Zabbix 2.0.

On FreeBSD, OpenBSD and NetBSD supported since Zabbix 2.2.

Some Windows versions (for example, Server 2008) might require the latest updates installed to support non-ASCII characters in interface names.
net.if.in[if,<mode>]
Incoming traffic statistics on network interface. Integer if - network interface name (Unix); network interface full description or IPv4 address; or, if in braces, network interface GUID (Windows)
mode - possible values:
bytes - number of bytes (default)
packets - number of packets
errors - number of errors
dropped - number of dropped packets
overruns (fifo) - the number of FIFO buffer errors
frame - the number of packet framing errors
compressed - the number of compressed packets transmitted or received by the device driver
multicast - the number of multicast frames received by the device driver
On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.

Multi-byte interface names on Windows are supported since Zabbix 1.8.6.

Examples:
=> net.if.in[eth0,errors]
=> net.if.in[eth0]

You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.

You may use this key with the Change per second preprocessing step in order to get bytes per second statistics.
net.if.out[if,<mode>]
Outgoing traffic statistics on network interface. Integer if - network interface name (Unix); network interface full description or IPv4 address; or, if in braces, network interface GUID (Windows)
mode - possible values:
bytes - number of bytes (default)
packets - number of packets
errors - number of errors
dropped - number of dropped packets
overruns (fifo) - the number of FIFO buffer errors
collisions (colls) - the number of collisions detected on the interface
carrier - the number of carrier losses detected by the device driver
compressed - the number of compressed packets transmitted by the device driver
On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.

Multi-byte interface names on Windows are supported since Zabbix agent 1.8.6 version.

Examples:
=> net.if.out[eth0,errors]
=> net.if.out[eth0]

You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.

You may use this key with the Change per second preprocessing step in order to get bytes per second statistics.
net.if.total[if,<mode>]
Sum of incoming and outgoing traffic statistics on network interface. Integer if - network interface name (Unix); network interface full description or IPv4 address; or, if in braces, network interface GUID (Windows)
mode - possible values:
bytes - number of bytes (default)
packets - number of packets
errors - number of errors
dropped - number of dropped packets
overruns (fifo) - the number of FIFO buffer errors
compressed - the number of compressed packets transmitted or received by the device driver
On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.

Examples:
=> net.if.total[eth0,errors]
=> net.if.total[eth0]

You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.

You may use this key with the Change per second preprocessing step in order to get bytes per second statistics.

Note that dropped packets are supported only if both net.if.in and net.if.out work for dropped packets on your platform.
net.tcp.listen[port]
Checks if this TCP port is in LISTEN state. 0 - it is not in LISTEN state

1 - it is in LISTEN state
port - TCP port number Example:
=> net.tcp.listen[80]

On Linux supported since Zabbix 1.8.4

Since Zabbix 3.0.0, on Linux kernels 2.6.14 and above, information about listening TCP sockets is obtained from the kernel's NETLINK interface, if possible. Otherwise, the information is retrieved from /proc/net/tcp and /proc/net/tcp6 files.
net.tcp.port[<ip>,port]
Checks if it is possible to make TCP connection to specified port. 0 - cannot connect

1 - can connect
ip - IP or DNS name (default is 127.0.0.1)
port - port number
Example:
=> net.tcp.port[,80] → can be used to test availability of web server running on port 80.

For simple TCP performance testing use net.tcp.service.perf[tcp,<ip>,<port>]

Note that these checks may result in additional messages in system daemon logfiles (SMTP and SSH sessions being logged usually).
net.tcp.service[service,<ip>,<port>]
Checks if service is running and accepting TCP connections. 0 - service is down

1 - service is running
service - either of:
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (see details)
ip - IP address (default is 127.0.0.1)
port - port number (by default standard service port number is used)
Example:
=> net.tcp.service[ftp,,45] → can be used to test the availability of FTP server on TCP port 45.

Note that these checks may result in additional messages in system daemon logfiles (SMTP and SSH sessions being logged usually).

Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.port for checks like these.

Checking of LDAP and HTTPS on Windows is only supported by Zabbix agent 2.

Note that the telnet check looks for a login prompt (':' at the end).

See also known issues of checking HTTPS service.

https and telnet services are supported since Zabbix 2.0.
net.tcp.service.perf[service,<ip>,<port>]
Checks performance of TCP service. 0 - service is down

seconds - the number of seconds spent while connecting to the service
service - either of:
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (see details)
ip - IP address (default is 127.0.0.1)
port - port number (by default standard service port number is used)
Example:
=> net.tcp.service.perf[ssh] → can be used to test the speed of initial response from SSH server.

Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.service.perf[tcp,<ip>,<port>] for checks like these.

Checking of LDAP and HTTPS on Windows is only supported by Zabbix agent 2.

Note that the telnet check looks for a login prompt (':' at the end).

See also known issues of checking HTTPS service.

https and telnet services are supported since Zabbix 2.0.
net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]
Return the number of TCP sockets that match parameters. Integer laddr - local IPv4/6 address or CIDR subnet
lport - local port number or service name
raddr - remote IPv4/6 address or CIDR subnet
rport - remote port number or service name
state - connection state (established, syn_sent, syn_recv, fin_wait1, fin_wait2, time_wait, close, close_wait, last_ack, listen, closing)
This item is supported on Linux only on both Zabbix agent/agent 2. On Zabbix agent 2 it is also supported on 64-bit Windows.

Example:
=> net.tcp.socket.count[,80,,,established] → check if local TCP port 80 is in "established" state

This item is supported since Zabbix 6.0.
net.udp.listen[port]
Checks if this UDP port is in LISTEN state. 0 - it is not in LISTEN state

1 - it is in LISTEN state
port - UDP port number Example:
=> net.udp.listen[68]

On Linux supported since Zabbix 1.8.4
net.udp.service[service,<ip>,<port>]
Checks if service is running and responding to UDP requests. 0 - service is down

1 - service is running
service - ntp (see details)
ip - IP address (default is 127.0.0.1)
port - port number (by default standard service port number is used)
Example:
=> net.udp.service[ntp,,45] → can be used to test the availability of NTP service on UDP port 45.

This item is supported since Zabbix 3.0.0, but ntp service was available for net.tcp.service[] item in prior versions.
net.udp.service.perf[service,<ip>,<port>]
Checks performance of UDP service. 0 - service is down

seconds - the number of seconds spent waiting for response from the service
service - ntp (see details)
ip - IP address (default is 127.0.0.1)
port - port number (by default standard service port number is used)
Example:
=> net.udp.service.perf[ntp] → can be used to test response time from NTP service.

This item is supported since Zabbix 3.0.0, but ntp service was available for net.tcp.service[] item in prior versions.
net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]
Return the number of TCP sockets that match parameters. Integer laddr - local IPv4/6 address or CIDR subnet
lport - local port number or service name
raddr - remote IPv4/6 address or CIDR subnet
rport - remote port number or service name
state - connection state (established, unconn)
This item is supported on Linux only on both Zabbix agent/agent 2. On Zabbix agent 2 it is also supported on 64-bit Windows.

Example:
=> net.udp.socket.count[,,,,listening] → check if any UDP socket is in "listening" state

This item is supported since Zabbix 6.0.

Processes

Key
Description Return value Parameters Comments
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]
Process CPU utilization percentage. Float name - process name (default is all processes)
user - user name (default is all users)
type - CPU utilization type:
total (default), user, system
cmdline - filter by command line (it is a regular expression)
mode - data gathering mode: avg1 (default), avg5, avg15
zone - target zone: current (default), all. This parameter is supported on Solaris only.
Examples:
=> proc.cpu.util[,root] → CPU utilization of all processes running under the "root" user
=> proc.cpu.util[zabbix_server,zabbix] → CPU utilization of all zabbix_server processes running under the zabbix user

The returned value is based on single CPU core utilization percentage. For example CPU utilization of a process fully using two cores is 200%.

The process CPU utilization data is gathered by a collector which supports the maximum of 1024 unique (by name, user and command line) queries. Queries not accessed during the last 24 hours are removed from the collector.

Note that when setting the zone parameter to current (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, all is supported in this case.

This key is supported since Zabbix 3.0.0 and is available on several platforms (see Items supported by platform).
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
Memory used by process in bytes. Integer - with mode as max, min, sum

Float - with mode as avg
name - process name (default is all processes)
user - user name (default is all users)
mode - possible values:
avg, max, min, sum (default)
cmdline - filter by command line (it is a regular expression)
memtype - type of memory used by process
Examples:
=> proc.mem[,root] → memory used by all processes running under the "root" user
=> proc.mem[zabbix_server,zabbix] → memory used by all zabbix_server processes running under the zabbix user
=> proc.mem[,oracle,max,oracleZABBIX] → memory used by the most memory-hungry process running under oracle having oracleZABBIX in its command line

Note: When several processes use shared memory, the sum of memory used by processes may result in large, unrealistic values.

See notes on selecting processes with name and cmdline parameters (Linux-specific).

When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: zabbix_agentd -t proc.mem[,,,apache2]), one extra process will be counted, as the agent will count itself.

The memtype parameter is supported on several platforms since Zabbix 3.0.0.
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]
The number of processes. Integer name - process name (default is all processes)
user - user name (default is all users)
state (disk and trace options since version 3.4.0) - possible values:
all (default),
disk - uninterruptible sleep,
run - running,
sleep - interruptible sleep,
trace - stopped,
zomb - zombie
cmdline - filter by command line (it is a regular expression)
zone - target zone: current (default), all. This parameter is supported on Solaris only.
Examples:
=> proc.num[,mysql] → number of processes running under the mysql user
=> proc.num[apache2,www-data] → number of apache2 processes running under the www-data user
=> proc.num[,oracle,sleep,oracleZABBIX] → number of processes in sleep state running under oracle having oracleZABBIX in its command line

See notes on selecting processes with name and cmdline parameters (Linux-specific).

On Windows, only the name and user parameters are supported.

When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: zabbix_agentd -t proc.num[,,,apache2]), one extra process will be counted, as the agent will count itself.

Note that when setting the zone parameter to current (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, all is supported in this case.

Sensors

Key
Description Return value Parameters Comments
sensor[device,sensor,<mode>]
Hardware sensor reading. Float device - device name
sensor - sensor name
mode - possible values:
avg, max, min (if this parameter is omitted, device and sensor are treated verbatim).
Reads /proc/sys/dev/sensors on Linux 2.4.

Example:
=> sensor[w83781d-i2c-0-2d,temp1]

Prior to Zabbix 1.8.4, the sensor[temp1] format was used.
Reads /sys/class/hwmon on Linux 2.6+.

See a more detailed description of sensor item on Linux.
Reads the hw.sensors MIB on OpenBSD.

Examples:
=> sensor[cpu0,temp0] → temperature of one CPU
=> sensor["cpu[0-2]$",temp,avg] → average temperature of the first three CPU's

Supported on OpenBSD since Zabbix 1.8.4.

System data

Key
Description Return value Parameters Comments
system.boottime
System boot time. Integer (Unix timestamp)
system.cpu.discovery
List of detected CPUs/CPU cores. Used for low-level discovery. JSON object Supported on all platforms since 2.4.0.
system.cpu.intr
Device interrupts. Integer
system.cpu.load[<cpu>,<mode>]
CPU load. Float cpu - possible values:
all (default), percpu (since version 2.0; total load divided by online CPU count)
mode - possible values:
avg1 (one-minute average, default), avg5, avg15
Example:
=> system.cpu.load[,avg5].
system.cpu.num[<type>]
Number of CPUs. Integer type - possible values:
online (default), max
Example:
=> system.cpu.num
system.cpu.switches
Count of context switches. Integer
system.cpu.util[<cpu>,<type>,<mode>,<logical_or_physical>]
CPU utilization percentage. Float cpu - <CPU number> or all (default)
type - possible values:
user (default), idle, nice, system (default for Windows), iowait, interrupt, softirq, steal, guest (on Linux kernels 2.6.24 and above), guest_nice (on Linux kernels 2.6.33 and above).
See also platform-specific details for this parameter.
mode - possible values:
avg1 (one-minute average, default), avg5, avg15
logical_or_physical (since version 5.0.3; on AIX only) - possible values: logical (default), physical. This parameter is supported on AIX only.
Example:
=> system.cpu.util[0,user,avg5]

Old naming: system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX
system.hostname[<type>, <transform>]
System host name. String type (before version 5.4.7 supported on Windows only) - possible values: netbios (default on Windows), host (default on Linux), shorthost (since version 5.4.7; returns part of the hostname before the first dot, a full string for names without dots).
transform (since version 5.4.7) - possible values:
none (default), lower (convert to lowercase)
The value is acquired by either GetComputerName() (for netbios) or gethostname() (for host) functions on Windows and by "hostname" command on other systems.

Examples of returned values:
on Linux:
=> system.hostname → linux-w7x1
=> system.hostname → example.com
=> system.hostname[shorthost] → example
on Windows:
=> system.hostname → WIN-SERV2008-I6
=> system.hostname[host] → Win-Serv2008-I6LonG
=> system.hostname[host,lower] → win-serv2008-i6long

See also a more detailed description.
system.hw.chassis[<info>]
Chassis information. String info - one of full (default), model, serial, type or vendor Example: system.hw.chassis[full]
Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop]

This key depends on the availability of the SMBIOS table.
Will try to read the DMI table from sysfs, if sysfs access fails then try reading directly from memory.

Root permissions are required because the value is acquired by reading from sysfs or memory.

Supported since Zabbix 2.0.
system.hw.cpu[<cpu>,<info>]
CPU information. String or integer cpu - <CPU number> or all (default)
info - possible values:
full (default), curfreq, maxfreq, model or vendor
Example:
=> system.hw.cpu[0,vendor] → AuthenticAMD

Gathers info from /proc/cpuinfo and /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq.

If a CPU number and curfreq or maxfreq is specified, a numeric value is returned (Hz).

Supported since Zabbix 2.0.
system.hw.devices[<type>]
Listing of PCI or USB devices. Text type (since version 2.0) - pci (default) or usb Example:
=> system.hw.devices[pci] → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
[..]

Returns the output of either lspci or lsusb utility (executed without any parameters).
system.hw.macaddr[<interface>,<format>]
Listing of MAC addresses. String interface - all (default) or a regular expression
format - full (default) or short
Lists MAC addresses of the interfaces whose name matches the given interface regular expression (all lists for all interfaces).

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

If format is specified as short, interface names and identical MAC addresses are not listed.

Supported since Zabbix 2.0.
system.localtime[<type>]
System time. Integer - with type as utc

String - with type as local
type (since version 2.0) - possible values:
utc - (default) the time since the Epoch (00:00:00 UTC, January 1, 1970), measured in seconds.
local - the time in the 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm' format
Must be used as a passive check only.

Example:
=> system.localtime[local] → create an item using this key and then use it to display host time in the Clock dashboard widget.
system.run[command,<mode>]
Run specified command on the host. Text result of the command

1 - with mode as nowait (regardless of command result)
command - command for execution
mode - possible values:
wait - wait end of execution (default),
nowait - do not wait
Up to 512KB of data can be returned, including trailing whitespace that is truncated.
To be processed correctly, the output of the command must be text.

Example:
=> system.run[ls -l /] → detailed file list of root directory.

Note: system.run items are disabled by default. Learn how to enable them.

The return value of the item is standard output together with standard error produced by command. The exit code is not checked.

Empty result is allowed starting with Zabbix 2.4.0.
See also: Command execution.
system.stat[resource,<type>]
System statistics. Integer or float ent - number of processor units this partition is entitled to receive (float)
kthr,<type> - information about kernel thread states:
r - average number of runnable kernel threads (float)
b - average number of kernel threads placed in the Virtual Memory Manager wait queue (float)
memory,<type> - information about the usage of virtual and real memory:
avm - active virtual pages (integer)
fre - size of the free list (integer)
page,<type> - information about page faults and paging activity:
fi - file page-ins per second (float)
fo - file page-outs per second (float)
pi - pages paged in from paging space (float)
po - pages paged out to paging space (float)
fr - pages freed (page replacement) (float)
sr - pages scanned by page-replacement algorithm (float)
faults,<type> - trap and interrupt rate:
in - device interrupts (float)
sy - system calls (float)
cs - kernel thread context switches (float)
cpu,<type> - breakdown of percentage usage of processor time:
us - user time (float)
sy - system time (float)
id - idle time (float)
wa - idle time during which the system had outstanding disk/NFS I/O request(s) (float)
pc - number of physical processors consumed (float)
ec - the percentage of entitled capacity consumed (float)
lbusy - indicates the percentage of logical processor(s) utilization that occurred while executing at the user and system level (float)
app - indicates the available physical processors in the shared pool (float)
disk,<type> - disk statistics:
bps - indicates the amount of data transferred (read or written) to the drive in bytes per second (integer)
tps - indicates the number of transfers per second that were issued to the physical disk/tape (float)
Comments
This item is supported on AIX only, since Zabbix 1.8.1.
Take note of the following limitations in these items:
=> system.stat[cpu,app] - supported only on AIX LPAR of type "Shared"
=> system.stat[cpu,ec] - supported on AIX LPAR of type "Shared" and "Dedicated" ("Dedicated" always returns 100 (percent))
=> system.stat[cpu,lbusy] - supported only on AIX LPAR of type "Shared"
=> system.stat[cpu,pc] - supported on AIX LPAR of type "Shared" and "Dedicated"
=> system.stat[ent] - supported on AIX LPAR of type "Shared" and "Dedicated"
system.sw.arch
Software architecture information. String Example:
=> system.sw.arch → i686

Info is acquired from uname() function.

Supported since Zabbix 2.0.
system.sw.os[<info>]
Operating system information. String info - possible values:
full (default), short or name
Example:
=> system.sw.os[short]→ Ubuntu 2.6.35-28.50-generic 2.6.35.11

Info is acquired from (note that not all files and options are present in all distributions):
/proc/version (full)
/proc/version_signature (short)
PRETTY_NAME parameter from /etc/os-release on systems supporting it, or /etc/issue.net (name)

Supported since Zabbix 2.0.
system.sw.packages[<package>,<manager>,<format>]
Listing of installed packages. Text package - all (default) or a regular expression
manager - all (default) or a package manager
format - full (default) or short
Lists (alphabetically) installed packages whose name matches the given package regular expression (all lists them all).

Example:
=> system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal

Supported package managers (executed command):
dpkg (dpkg --get-selections)
pkgtool (ls /var/log/packages)
rpm (rpm -qa)
pacman (pacman -Q)

If format is specified as full, packages are grouped by package managers (each manager on a separate line beginning with its name in square brackets).
If format is specified as short, packages are not grouped and are listed on a single line.

Supported since Zabbix 2.0.
system.swap.in[<device>,<type>]
Swap in (from device into memory) statistics. Integer device - device used for swapping (default is all)
type - possible values:
count (number of swapins), sectors (sectors swapped in), pages (pages swapped in).
See also platform-specific details for this parameter.
Example:
=> system.swap.in[,pages]

The source of this information is:
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
system.swap.out[<device>,<type>]
Swap out (from memory onto device) statistics. Integer device - device used for swapping (default is all)
type - possible values:
count (number of swapouts), sectors (sectors swapped out), pages (pages swapped out).
See also platform-specific details for this parameter.
Example:
=> system.swap.out[,pages]

The source of this information is:
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
system.swap.size[<device>,<type>]
Swap space size in bytes or in percentage from total. Integer - for bytes

Float - for percentage
device - device used for swapping (default is all)
type - possible values:
free (free swap space, default), pfree (free swap space, in percent), pused (used swap space, in percent), total (total swap space), used (used swap space)
Note that pfree, pused are not supported on Windows if swap size is 0.
See also platform-specific details for this parameter.
Example:
=> system.swap.size[,pfree] → free swap space percentage

If device is not specified Zabbix agent will only take into account swap devices (files), physical memory will be ignored. For example, on Solaris systems swap -s command includes a portion of physical memory and swap devices (unlike swap -l).

Note that this key might report incorrect swap space size/percentage on virtualized (VMware ESXi, VirtualBox) Windows platforms. In this case you may use the perf_counter[\700(_Total)\702] key to obtain correct swap space percentage.
system.uname
Identification of the system. String Example of returned value (Unix):
FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386

Example of returned value (Windows):
Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86

On Unix since Zabbix 2.2.0 the value for this item is obtained with uname() system call. Previously it was obtained by invoking "uname -a". The value of this item might differ from the output of "uname -a" and does not include additional information that "uname -a" prints based on other sources.

On Windows since Zabbix 3.0 the value for this item is obtained from Win32_OperatingSystem and Win32_Processor WMI classes. Previously it was obtained from volatile Windows APIs and undocumented registry keys. The OS name (including edition) might be translated to the user's display language. On some versions of Windows it contains trademark symbols and extra spaces.

Note that on Windows the item returns OS architecture, whereas on Unix it returns CPU architecture.
system.uptime
System uptime in seconds. Integer In item configuration, use s or uptime units to get readable values.
system.users.num
Number of users logged in. Integer who command is used on the agent side to obtain the value.

Virtual file systems

Key
Description Return value Parameters Comments
vfs.dev.discovery
List of block devices and their type. Used for low-level discovery. JSON object This item is supported on Linux platform only.

Supported since Zabbix 4.4.0.
vfs.dev.read[<device>,<type>,<mode>]
Disk read statistics. Integer - with type in sectors, operations, bytes

Float - with type in sps, ops, bps

Note: if using an update interval of three hours or more2, will always return '0'
device - disk device (default is all 3)
type - possible values: sectors, operations, bytes, sps, ops, bps
Note that 'type' parameter support and defaults depend on the platform. See platform-specific details.
sps, ops, bps stand for: sectors, operations, bytes per second, respectively.
mode - possible values: avg1 (one-minute average, default), avg5, avg15.
This parameter is supported only with type in: sps, ops, bps.
You may use relative device names (for example, sda) as well as an optional /dev/ prefix (for example, /dev/sda).

LVM logical volumes are supported.

Default values of 'type' parameter for different OSes:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

Example:
=> vfs.dev.read[,operations]

sps, ops and bps on supported platforms used to be limited to 8 devices (7 individual and one all). Since Zabbix 2.0.1 this limit is 1024 devices (1023 individual and one for all).
vfs.dev.write[<device>,<type>,<mode>]
Disk write statistics. Integer - with type in sectors, operations, bytes

Float - with type in sps, ops, bps

Note: if using an update interval of three hours or more2, will always return '0'
device - disk device (default is all 3)
type - possible values: sectors, operations, bytes, sps, ops, bps
Note that 'type' parameter support and defaults depend on the platform. See platform-specific details.
sps, ops, bps stand for: sectors, operations, bytes per second, respectively.
mode - possible values: avg1 (one-minute average, default), avg5, avg15.
This parameter is supported only with type in: sps, ops, bps.
You may use relative device names (for example, sda) as well as an optional /dev/ prefix (for example, /dev/sda).

LVM logical volumes are supported.

Default values of 'type' parameter for different OSes:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

Example:
=> vfs.dev.write[,operations]

sps, ops and bps on supported platforms used to be limited to 8 devices (7 individual and one all). Since Zabbix 2.0.1 this limit is 1024 (1023 individual and one for all).
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>]
Directory entry count. Integer dir - absolute path to directory
regex_incl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to include; include all if empty (default value)
regex_excl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to exclude; don't exclude any if empty (default value)
types_incl - directory entry types to count, possible values:
file - regular file, dir - subdirectory, sym - symbolic link, sock - socket, bdev - block device, cdev - character device, fifo - FIFO, dev - synonymous with "bdev,cdev", all - all types (default), i.e. "file,dir,sym,sock,bdev,cdev,fifo". Multiple types must be separated with comma and quoted.
types_excl - directory entry types (see <types_incl>) to NOT count. If some entry type is in both <types_incl> and <types_excl>, directory entries of this type are NOT counted.
max_depth - maximum depth of subdirectories to traverse. -1 (default) - unlimited, 0 - no descending into subdirectories.
min_size - minimum size (in bytes) for file to be counted. Smaller files will not be counted. Memory suffixes can be used.
max_size - maximum size (in bytes) for file to be counted. Larger files will not be counted. Memory suffixes can be used.
min_age - minimum age (in seconds) of directory entry to be counted. More recent entries will not be counted. Time suffixes can be used.
max_age - maximum age (in seconds) of directory entry to be counted. Entries so old and older will not be counted (modification time). Time suffixes can be used.
regex_excl_dir - regular expression describing the name pattern of the directory to exclude. All content of the directory will be excluded (in contrast to regex_excl)
Environment variables, e.g. %APP_HOME%, $HOME and %TEMP% are not supported.

Pseudo-directories "." and ".." are never counted.

Symbolic links are never followed for directory traversal.

On Windows, directory symlinks are skipped and hard links are counted only once.

Both regex_incl and regex_excl are being applied to files and directories when calculating entry size, but are ignored when picking subdirectories to traverse (if regex_incl is “(?i)^.+\.zip$” and max_depth is not set, then all subdirectories will be traversed, but only files of type zip will be counted).

Execution time is limited by the default timeout value in agent configuration (3 sec). Since large directory traversal may take longer than that, no data will be returned and the item will turn unsupported. Partial count will not be returned.

When filtering by size, only regular files have meaningful sizes. Under Linux and BSD, directories also have non-zero sizes (a few Kb typically). Devices have zero sizes, e.g. the size of /dev/sda1 does not reflect the respective partition size. Therefore, when using <min_size> and <max_size>, it is advisable to specify <types_incl> as "file", to avoid surprises.

Examples:
⇒ vfs.dir.count[/dev] - monitors number of devices in /dev (Linux)
⇒ vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] - monitors number of files in temporary directory (Windows)

Supported since Zabbix 4.0.0.
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>]
Directory entry list. JSON dir - absolute path to directory
regex_incl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to include; include all if empty (default value)
regex_excl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to exclude; don't exclude any if empty (default value)
types_incl - directory entry types to list, possible values:
file - regular file, dir - subdirectory, sym - symbolic link, sock - socket, bdev - block device, cdev - character device, fifo - FIFO, dev - synonymous with "bdev,cdev", all - all types (default), i.e. "file,dir,sym,sock,bdev,cdev,fifo". Multiple types must be separated with comma and quoted.
types_excl - directory entry types (see <types_incl>) to NOT list. If some entry type is in both <types_incl> and <types_excl>, directory entries of this type are NOT listed.
max_depth - maximum depth of subdirectories to traverse. -1 (default) - unlimited, 0 - no descending into subdirectories.
min_size - minimum size (in bytes) for file to be listed. Smaller files will not be listed. Memory suffixes can be used.
max_size - maximum size (in bytes) for file to be listed. Larger files will not be counted. Memory suffixes can be used.
min_age - minimum age (in seconds) of directory entry to be listed. More recent entries will not be listed. Time suffixes can be used.
max_age - maximum age (in seconds) of directory entry to be listed. Entries so old and older will not be listed (modification time). Time suffixes can be used.
regex_excl_dir - regular expression describing the name pattern of the directory to exclude. All content of the directory will be excluded (in contrast to regex_excl)
Environment variables, e.g. %APP_HOME%, $HOME and %TEMP% are not supported.

Pseudo-directories "." and ".." are never listed.

Symbolic links are never followed for directory traversal.

On Windows, directory symlinks are skipped and hard links are listed only once.

Both regex_incl and regex_excl are being applied to files and directories when calculating entry size, but are ignored when picking subdirectories to traverse (if regex_incl is “(?i)^.+\.zip$” and max_depth is not set, then all subdirectories will be traversed, but only files of type zip will be listed).

Execution time is limited by the default timeout value in agent configuration (3 sec). Since large directory traversal may take longer than that, no data will be returned and the item will turn unsupported. Partial list will not be returned.

When filtering by size, only regular files have meaningful sizes. Under Linux and BSD, directories also have non-zero sizes (a few Kb typically). Devices have zero sizes, e.g. the size of /dev/sda1 does not reflect the respective partition size. Therefore, when using <min_size> and <max_size>, it is advisable to specify <types_incl> as "file", to avoid surprises.

Examples:
⇒ vfs.dir.get[/dev] - retrieves device list in /dev (Linux)
⇒ vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] - retrieves file list in temporary directory (Windows)

Supported since Zabbix 6.0.0.
vfs.dir.size[dir,<regex_incl>,<regex_excl>,<mode>,<max_depth>,<regex_excl_dir>]
Directory size (in bytes). Integer dir - absolute path to directory
regex_incl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to include; include all if empty (default value)
regex_excl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to exclude; don't exclude any if empty (default value)
mode - possible values:
apparent (default) - gets apparent file sizes rather than disk usage (acts as du -sb dir), disk - gets disk usage (acts as du -s -B1 dir). Unlike du command, vfs.dir.size item takes hidden files in account when calculating directory size (acts as du -sb .[^.]* * within dir).
max_depth - maximum depth of subdirectories to traverse. -1 (default) - unlimited, 0 - no descending into subdirectories.
regex_excl_dir - regular expression describing the name pattern of the directory to exclude. All content of the directory will be excluded (in contrast to regex_excl)
Only directories with at least read permission for zabbix user are calculated.

On Windows any symlink is skipped and hard links are taken into account only once.

With large directories or slow drives this item may time out due to the Timeout setting in agent and server/proxy configuration files. Increase the timeout values as necessary.

Examples:
⇒ vfs.dir.size[/tmp,log] - calculates size of all files in /tmp which contain 'log'
⇒ vfs.dir.size[/tmp,log,^.+\.old$] - calculates size of all files in /tmp which contain 'log', excluding files containing '.old'

The file size limit depends on large file support.

Supported since Zabbix 3.4.0.
vfs.file.cksum[file,<mode>]
File checksum, calculated by the UNIX cksum algorithm. Integer - with mode as crc32

String - with mode as md5, sha256
file - full path to file
mode - crc32 (default), md5, sha256
Example:
=> vfs.file.cksum[/etc/passwd]

Example of returned values (crc32/md5/sha256 respectively):
675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc

The file size limit depends on large file support.

The mode parameter is supported since Zabbix 6.0.
vfs.file.contents[file,<encoding>]
Retrieving contents of a file. Text file - full path to file
encoding - code page identifier
Returns an empty string if the file is empty or contains LF/CR characters only.

Byte order mark (BOM) is excluded from the output.

Example:
=> vfs.file.contents[/etc/passwd]

This item is limited to files no larger than 64 Kbytes.

Supported since Zabbix 2.0.
vfs.file.exists[file,<types_incl>,<types_excl>]
Checks if file exists. 0 - not found

1 - file of the specified type exists
file - full path to file
types_incl - list of file types to include, possible values: file (regular file, default (if types_excl is not set)), dir (directory), sym (symbolic link), sock (socket), bdev (block device), cdev (character device), fifo (FIFO), dev (synonymous with "bdev,cdev"), all (all mentioned types, default if types_excl is set).
types_excl - list of file types to exclude, see types_incl for possible values (by default no types are excluded)
Multiple types must be separated with a comma and the entire set enclosed in quotes "".
On Windows the double quotes have to be backslash '\' escaped and the whole item key enclosed in double quotes when using the command line utility for calling zabbix_get.exe or agent2.

If the same type is in both <types_incl> and <types_excl>, files of this type are excluded.

Examples:
=> vfs.file.exists[/tmp/application.pid]
=> vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
=> vfs.file.exists[/tmp/application_dir,dir]

The file size limit depends on large file support.

Note that the item may turn unsupported on Windows if a directory is searched within a non-existing directory, e.g. vfs.file.exists[C:\no\dir,dir] (where 'no' does not exist).
vfs.file.get[file]
Return information about a file. JSON object file - full path to file Supported file types on UNIX-like systems: regular file, directory, symbolic link, socket, block device, character device, FIFO

Supported file types on Windows: regular file, directory, symbolic link

Example:
=> vfs.file.get[/etc/passwd] → return a JSON with information about the /etc/passwd file (type, user, permissions, SID, uid etc)

Supported since Zabbix 6.0.
vfs.file.md5sum[file]
MD5 checksum of file. Character string (MD5 hash of the file) file - full path to file Example:
=> vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]

Example of returned value:
b5052decb577e0fffd622d6ddc017e82

The file size limit (64 MB) for this item was removed in version 1.8.6.

The file size limit depends on large file support.
vfs.file.owner[file,<ownertype>,<resulttype>]
Retrieve owner of a file. Character string file - full path to file
ownertype - user (default) or group (Unix only)
resulttype - name (default) or id; for id - return uid/gid on Unix, SID on Windows
Example:
=> vfs.file.owner[/tmp/zabbix_server.log] → return file owner of /tmp/zabbix_server.log
=> vfs.file.owner[/tmp/zabbix_server.log,,id] → return file owner ID of /tmp/zabbix_server.log

Supported since Zabbix 6.0.
vfs.file.permissions[file]
Return a 4-digit string containing the octal number with Unix permissions. String file - full path to the file Not supported on Windows.

Example:
=> vfs.file.permissions[/etc/passwd] → return permissions of /etc/passwd, for example, '0644'

Supported since Zabbix 6.0.
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]
Find string in a file. The line containing the matched string, or as specified by the optional output parameter file - full path to file
regexp - regular expression describing the required pattern
encoding - code page identifier
start line - the number of first line to search (first line of file by default).
end line - the number of last line to search (last line of file by default).
output - an optional output formatting template. The \0 escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an \N (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).
Only the first matching line is returned.
An empty string is returned if no line matched the expression.

Byte order mark (BOM) is excluded from the output.

Content extraction using the output parameter takes place on the agent.

The start line, end line and output parameters are supported from version 2.2.

Examples:
=> 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] → getting the ID of user zabbix
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]
Find string in a file. 0 - match not found

1 - found
file - full path to file
regexp - regular expression describing the required pattern
encoding - code page identifier
start line - the number of first line to search (first line of file by default).
end line - the number of last line to search (last line of file by default).
Byte order mark (BOM) is ignored.

The start line and end line parameters are supported from version 2.2.

Example:
=> vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file,<mode>]
File size (in bytes). Integer file - full path to file
mode - possible values:
bytes (default) or lines (empty lines are counted, too)
The file must have read permissions for user zabbix.

Example:
=> vfs.file.size[/var/log/syslog]

The file size limit depends on large file support.

The mode parameter is supported since Zabbix 6.0.
vfs.file.time[file,<mode>]
File time information. Integer (Unix timestamp) file - full path to the file
mode - possible values:
modify (default) - last time of modifying file content,
access - last time of reading file,
change - last time of changing file properties
Example:
=> vfs.file.time[/etc/passwd,modify]

The file size limit depends on large file support.
vfs.fs.discovery
List of mounted filesystems and their types. Used for low-level discovery. JSON object Supported since Zabbix 2.0.

The {#FSDRIVETYPE} macro is supported on Windows since Zabbix 3.0.

The {#FSLABEL} macro is supported on Windows since Zabbix 6.0.
vfs.fs.get
List of mounted filesystems, their types, disk space and inode statistics. Can be used for low-level discovery. JSON object Supported since Zabbix 4.4.5.

The {#FSLABEL} macro is supported on Windows since Zabbix 6.0.
vfs.fs.inode[fs,<mode>]
Number or percentage of inodes. Integer - for number

Float - for percentage
fs - filesystem
mode - possible values:
total (default), free, used, //pfree // (free, percentage), pused (used, percentage)
Example:
=> vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<mode>]
Disk space in bytes or in percentage from total. Integer - for bytes

Float - for percentage
fs - filesystem
mode - possible values:
total (default), free, used, pfree (free, percentage), pused (used, percentage)
In case of a mounted volume, disk space for local file system is returned.

Example:
=> vfs.fs.size[/tmp,free]

Reserved space of a file system is taken into account and not included when using the free mode.

Virtual machine monitoring

Key
Description Return value Parameters Comments
vm.memory.size[<mode>]
Memory size in bytes or in percentage from total. Integer - for bytes

Float - for percentage
mode - possible values:
total (default), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (used, percentage), available, pavailable (available, percentage)
See also platform-specific support and additional details for this parameter.
This item accepts three categories of parameters:

1) total - total amount of memory;
2) platform-specific memory types: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired;
3) user-level estimates on how much memory is used and available: used, pused, available, pavailable.

Web monitoring

Key
Description Return value Parameters Comments
web.page.get[host,<path>,<port>]
Get content of web page. Web page source as text (including headers) host - hostname or URL (as scheme://host:port/path, where only host is mandatory).
Allowed URL schemes: http, https4. Missing scheme will be treated as http. If URL is specified path and port must be empty. Specifying user name/password when connecting to servers that require authentication, for example: http://user:[email protected] is only possible with cURL support 4.
Punycode is supported in hostnames.
path - path to HTML document (default is /)
port - port number (default is 80 for HTTP)
This item turns unsupported if the resource specified in host does not exist or is unavailable.

host can be hostname, domain name, IPv4 or IPv6 address. But for IPv6 address Zabbix agent must be compiled with IPv6 support enabled.

Example:
=> 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>]
Loading time of full web page (in seconds). Float host - hostname or URL (as scheme://host:port/path, where only host is mandatory).
Allowed URL schemes: http, https4. Missing scheme will be treated as http. If URL is specified path and port must be empty. Specifying user name/password when connecting to servers that require authentication, for example: http://user:[email protected] is only possible with cURL support 4.
Punycode is supported in hostnames.
path - path to HTML document (default is /)
port - port number (default is 80 for HTTP)
This item turns unsupported if the resource specified in host does not exist or is unavailable.

host can be hostname, domain name, IPv4 or IPv6 address. But for IPv6 address Zabbix agent must be compiled with IPv6 support enabled.

Example:
=> 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>]
Find string on a web page. The matched string, or as specified by the optional output parameter host - hostname or URL (as scheme://host:port/path, where only host is mandatory).
Allowed URL schemes: http, https4. Missing scheme will be treated as http. If URL is specified path and port must be empty. Specifying user name/password when connecting to servers that require authentication, for example: http://user:[email protected] is only possible with cURL support 4.
Punycode is supported in hostnames.
path - path to HTML document (default is /)
port - port number (default is 80 for HTTP)
regexp - regular expression describing the required pattern
length - maximum number of characters to return
output - an optional output formatting template. The \0 escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an \N (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).
This item turns unsupported if the resource specified in host does not exist or is unavailable.

host can be hostname, domain name, IPv4 or IPv6 address. But for IPv6 address Zabbix agent must be compiled with IPv6 support enabled.

Content extraction using the output parameter takes place on the agent.

The output parameter is supported from version 2.2.

Example:
=> web.page.regexp[www.example.com,index.php,80,OK,2]
=> web.page.regexp[https://www.example.com,,,OK,2]