1 Agente Zabbix

Visão geral

Itens do tipo Agente Zabbix utilizam o Zabbix Agent para coletar os dados.

As coletas podem ser de dois tipos: passiva ou ativa. Quando estiver configurando o item você pode selecionar um dos tipos a seguir:

  • Agente Zabbix - para coletas passivas
  • Agente Zabbix (ativo) - para coletas ativas

Chaves suportadas

A tabela a seguir detalha as chaves disponíveis para monitoração através do Zabbix Agent.

Veja também:

** Parâmetros opcionais e obrigatórios **

Parâmetros entre os símbolos < > são opcionais.

Chave
Descrição Valor retornado Parâmetros Comentários
agent.hostname
Nome do agente (hostname). Texto Retorna o valor atual da tag hostname no arquivo de configuração do agente.
agent.ping
Verificação de disponibilidade do agente. Nothing - unavailable

1 - disponível
Use a função nodata() em uma trigger para alertar sobre a indisponibilidade do agente no host.
agent.version
Versão do Zabbix Agent. Texto Exemplo de valor retornado:
1.8.2
kernel.maxfiles
Quantidade máxima de arquivos abertos simultaneamente que é suportada pelo S.O.. Inteiro
kernel.maxproc
Quantidade máxima de processos suportada pelo S.O. Inteiro
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>]
Monitoração de arquivos de log. Log file - caminho completo para o arquivo de log
regexp - expressão regular descrevendo o padrão desejado
encoding - codificação da página
maxlines - Quantidade máxima de linhas que o Zabbix Agent irá enviar para o Zabbix Server ou Zabbix Proxy a cada segundo. Este parâmetro sobrescreve o valor definido em 'MaxLinesPerSecond' no zabbix_agentd.conf
mode - valores possíveis:
all todos (padrão), skip - não processa (ignora) os dados anteriores existentes no log (afeta somente os novos itens criados).
output - parâmetro opcional de formatação. A sequência de escape \0 será substituída pelo texto encontrado, enquanto a sequência de escape \N (onde N=1...9) será substituída com o Nézimo grupo compatível (ou um texto vazio caso N exceda a quantidade de grupos compatíveis encontrados).
O item precisa ser configurado como verificação ativa.
Se o arquivo não existir ou o usuário da monitoração não possuir privilégios suficientes para acesso, o item ficará como não suportado.

Se output for deixado em branco: será retornada a linha que corresponder. Observe que qualuqer expressão regular global, exceto a expressão 'Resultado é VERDADEIRO', sempre retornará a linha toda e o parâmetro output será ignorado.

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

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

O parâmetro output é suportado desde o Zabbix 2.2.
O parâmetro mode é suportado desde o Zabbix 2.0.

Veja informações mas detalhadas em: monitoração de log.
logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>]
Monitoração de log com suporte a rotação de arquivos. Log file_regexp - caminho absoluto para o arquivo e expressão regular com o padrão desejado
regexp - expressão regular definindo o conteúdo desejado
encoding - identificador de código de página
maxlines - Quantidade máxima de linhas que o Zabbix Agent irá enviar para o Zabbix Server ou Zabbix Proxy a cada segundo. Este parâmetro sobrescreve o valor definido em 'MaxLinesPerSecond' no zabbix_agentd.conf
mode - valores possíveis:
all todos (padrão), skip - não processa (ignora) os dados anteriores existentes no log (afeta somente os novos itens criados).
output - parâmetro opcional de formatação. A sequência de escape \0 será substituída pelo texto encontrado, enquanto a sequência de escape \N (onde N=1...9) será substituída com o Nézimo grupo compatível (ou um texto vazio caso N exceda a quantidade de grupos compatíveis encontrados).
O item precisa ser configurado como verificação ativa.
A rotação de log é baseada no horário da última modificação dos arquivos.

Se output for deixado em branco: será retornada a linha que corresponder. Observe que qualuqer expressão regular global, exceto a expressão 'Resultado é VERDADEIRO', sempre retornará a linha toda e o parâmetro output será ignorado.

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

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

O parâmetro output é suportado desde o Zabbix 2.2.
O parâmetro mode é suportado desde o Zabbix 2.0.

Veja informações mas detalhadas em: monitoração de log.
net.dns[<ip>,zone,<type>,<timeout>,<count>,<protocol>]
Verifica se o serviço do DNS está rodando. 0 - DNS fora do ar (o servidor não respondeu ou a resolução de nome falhou)

1 - DNS está funcional
ip - endereço IP do servidor de DNS (deixe em branco para o servidor de DNS padrão, ignorado no Windows)
zone - zona de DNS a ser testada
type - tipo do registro a ser consultado (o padrão é SOA)
timeout (ignorado no Windows) - tempo máximo para conclusao da consulta (o padrão é de 1 segundo)
count (ignorado no Windows) - quantidade de tentativas (padrão é 2)
protocol - o protocolo utilizado para as consultas de DNS pode ser udp (padrão) ou tcp
Exemplo:
=> net.dns[8.8.8.8,zabbix.com,MX,2,1]

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

Nome de domínios internacionalizados não são suportados, favor usar a codificação de nomes IDNA.

O parâmetro protocol é suportado desde o Zabbix 3.0.
O tipo de registro SRV é suportado desde a versão 1.8.6 (no Unix) e 2.0.0 (no Windows).

O nome de chave anterior ao Zabbix 2.0 (continua sendo suportado): net.tcp.dns
net.dns.record[<ip>,zone,<type>,<timeout>,<count>,<protocol>]
Executa uma consulta ao DNS. Sequência de caracteres com o tipo requerido de informação ip - Endereço IP do servidor de DNS (deixe em branco para o servidor de DNS padrão, ignorado no Windows)zone - zona de DNS a ser testada
type - tipo do registro a ser consultado (o padrão é SOA)
timeout (ignorado no Windows) - tempo máximo para conclusao da consulta (o padrão é de 1 segundo)
count (ignorado no Windows) - quantidade de tentativas (padrão é 2)
protocol - o protocolo utilizado para as consultas de DNS pode ser udp (padrão) ou tcp
Exemplo:
=> net.dns[8.8.8.8,zabbix.com,MX,2,1]

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

Nome de domínios internacionalizados não são suportados, favor usar a codificação de nomes IDNA.

O parâmetro protocol é suportado desde o Zabbix 3.0.
O tipo de registro SRV é suportado desde a versão 1.8.6 (no Unix) e 2.0.0 (no Windows).

O nome de chave anterior ao Zabbix 2.0 (continua sendo suportado): net.tcp.dns.query
net.if.collisions[if]
Quantidade de colisões fora da janela. Inteiro if - nome da interface de rede
net.if.discovery
Lista das interfaces de rede. Utilizado no processo de autobusca. Objeto JSON Suportado desde a versão 2.0 do Zabbix.

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

Algumas versões do Windows (por exemplo o Server 2008) poderão necessitar dos últimos updates para suportar caracteres non-ASCII no nome das interfaces.
net.if.in[if,<mode>]
Estatísticas de entrada na interface de rede. Inteiro if - nome da interface
mode - valores possíveis:
bytes - quantidade de bytes (padrão)
packets - quantidade de pacotes
errors - quantidade de erros
dropped - quantidade de pacotes 'dropados'
Nomes de interfaces com suporte a 'Multi-byte' no windows desde o Zabbix 1.8.6.

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

Você pode utilizar esta chave com o recurso de Delta (alterações por segundo) para guardar valores com a estatística de bytes por segundo.
net.if.out[if,<mode>]
Estatísticas de saída na interface de rede. Inteiro if - nome da interface
mode - valores possíveis:
bytes - quantidade de bytes (padrão)
packets - quantidade de pacotes
errors - quantidade de erros
dropped - quantidade de pacotes 'dropados'
Nomes de interfaces com suporte a 'Multi-byte' no windows desde o Zabbix 1.8.6.

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

Você pode utilizar esta chave com o recurso de Delta (alterações por segundo) para guardar valores com a estatística de bytes por segundo.
net.if.total[if,<mode>]
Sumarização do tráfego de entrada e de saída na interface de rede. Inteiro if - nome da interface
mode - valores possíveis:
bytes - quantidade de bytes (padrão)
packets - quantidade de pacotes
errors - quantidade de erros
Nomes de interfaces com suporte a 'Multi-byte' no windows desde o Zabbix 1.8.6.

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

Você pode utilizar esta chave com o recurso de Delta (alterações por segundo) para guardar valores com a estatística de bytes por segundo.

A quantidade total de pacotes dropados não é suportada nesta chave.
net.tcp.listen[port]
Verifica se uma porta TCP está em modo de ESCUTA. 0 - se ela não está em modo de ESCUTA

1 - se estiver em modo de ESCUTA
port - Número da porta TCP Exemplo:
=> net.tcp.listen[80]

É suportada no Linux desde o Zabbix 1.8.4

A partir do Zabbix 3.0.0, com kernel 2.6.14 ou superior, a informação sobre portas TCP escutando é obtida, se possível, através da interface NETLINK do kernel. Caso contrário ela será obtida nos arquivos /proc/net/tcp e /proc/net/tcp6.
net.tcp.port[<ip>,port]
Verifica se é possível estabelecer uma conexão TCP com uma porta específica. 0 - não é possível conectar

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

Para simples testes de performance TCP, recomenda-se o uso de net.tcp.service.perf[tcp,<ip>,<port>]

Observe que estas verificações podem resultar em mensagens adicionais nos arquivos de log dos daemons (sessões SMTP e SSH normalmente são registradas).

Nome antigo: check_port[*]
net.tcp.service[service,<ip>,<port>]
Verifica se o serviço esta rodando e aceitando conexões TCP. 0 - serviço fora do ar

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

Observe que estas verificações podem resultar em mensagens adicionais nos arquivos de log dos daemons

A verificação de protocolos criptografados (tal qual o IMAP na porta 993 ou POP na porta 995) atualmente não é suportada. Uma opção pode ser usar o net.tcp.port para verificaçõs similares a esta.

A verificação de LDAP e HTTPS no windows não é suportada.

Observe que uma verificação de telnet busca um prompt e logn (':' no final).

Osserviços https e telnet são suportados desde o Zabbix 2.0.

Nomenclatura antiga:Nome anterior: check_service[*]
net.tcp.service.perf[service,<ip>,<port>]
Verifica a performance de um serviço TCP. 0 - serviço fora do ar

segundos - quantidade de segundos utilizados durante o teste
service - um destes:
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (veja para maiores detalhes)
ip - endereço IP (o padrão é 127.0.0.1)
port - número da porta (se ausente a porta padrão do serviço será utilizada)
Exemplo:
=> net.tcp.service.perf[ssh] → pode ser utilizada para testar o tempo de resposta de um servidor SSH.

O teste com protocolos criptografados (tal qual IMAP na porta 993 ou POP na porta 995) não é suportado atualmente. Como uma solução alternativa, por favor utilize net.tcp.service.perf[tcp,<ip>,<port>] para verificações como estas.

A verificação de servidores LDAP e HTTPS não é suportada atualmente pelo agente no Windows.

Observe que um teste de "telnet" espera ter uma tela de login (':' ao final).

Os serviços https e telnet são suportados desde o Zabbix 2.0.

Nome antigo: check_service_perf[*]
net.udp.listen[port]
Verifica se uma porta UDP está em modo de escuta. 0 - não está em modo de ESCUTA

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

É suportado no Linux desde a versão 1.8.4
net.udp.service[service,<ip>,<port>]
Verifica se um serviço está em execução e respondendo a requisições. 0 - serviço fora do ar

1 - serviço em execução
service - ntp (veja detalhes)
ip - endereço IP (o padrão é 127.0.0.1)
port - número da porta (se ausente a porta padrão do serviço será utilizada)
Exemplo:
=> net.udp.service[ntp,,45] → pode ser utilizado para testar a disponibilidade do serviço NTP na porta UDP 45.

Este item é suportado desde o Zabbix 3.0, mas o serviço ntp está disponível através do item net.tcp.service[] nas versões anteriores.
net.udp.service.perf[service,<ip>,<port>]
Verifica a disponibilidade de um serviço UDP. 0 - serviço fora do ar

segundos - quantidade de segundos utilizados durante o teste de conexão
service - ntp (veja mais detalhes)
ip - endereço IP (o padrão é 127.0.0.1)
port - número da porta (se ausente a porta padrão do serviço será utilizada)
Exemplo:
=> net.udp.service.perf[ntp] → pode ser utilizado para testar o tempo de resposta de um serviço NTP.

Este item é suportado desde o Zabbix 3.0, mas o serviço ntp está disponível através do item net.tcp.service[] nas versões anteriores.
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]
Percentual de utilização da CPU. Numérico name - nome do processo (todos por padrão)
user - nome do usuário (todos por padrão)
type - Tipo de utilização de CPU:
total (padrão), user, system
cmdline - filtro por linha de comando (através de expressão regular)
mode - modo de aquisição de dados: avg1 (padrão), avg5, avg15
zone - zona alvo: current (padrão), all. Este parâmetro só é suportado na plataforma Solaris.
Exemplos:
=> proc.cpu.util[,root] → utilização de CPU de todos os processos rodando sob o usuário "root"
=> proc.cpu.util[zabbix_server,zabbix] → UTilização de CPU de todos os processos rodando sob o usuário "zabbix"

O valor retornado é baseado em utilização de um núcleo de CPU. Por exemplo, se a utilização de um processo ocupar totalmente dois núcleos, o retorno será igual a 200%.

O coletor de utilização de CPU suporta a coleta de, no máximo, 1024 processos únicos (por nome, usuário e linha de comando). Consultas não acessadas nas últimas 24 horas serão removidas.

Este item é suportado desde o Zabbix 3.0.0 e está disponível em várias plataformas (veja itens suportados por plataforma).
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
Memória utilizado por um processo, em bytes. Inteiro name - nome do processo (por padrão todos)
user - nome do usuário (por padrão todos)
mode - valores possíveis:
avg, max, min, sum (padrão)
cmdline - filtro por linha de comando (usando expressão regular)
memtype - tipo da memória utilizada por processo.
Exemplos:
=> proc.mem[,root] → memória utilizada por todos os processos sendo executados sob o usuário "root"
=> proc.mem[zabbix_server,zabbix] → memória utilizada por todos os processos 'zabbix_server' que estão sendo utilizados pelo usuuário zabbix
=> proc.mem[,oracle,max,oracleZABBIX] → memória utilizada pelos processos de maior consumo rodando no usuário "oracle" e que possuam "oracleZABBIX" em sua linha de comando

Veja detalhes sobre como selecionar processos pelos parâmetros name e cmdline.

O parâmetro memtype é suportado desde o Zabbix 3.0.0. É suportado em diversas plataformas (veja itens suportados por plataforma). Veja também as notas sobre o parâmetro memtype.
proc.num[<name>,<user>,<state>,<cmdline>]
Número de processos. Inteiro name - nome do processo (o padrão são todos)
user - nome do usuário (o padrão são todos)
state - valores possíveis: all (padrão), run, sleep, zomb
cmdline - filtro por linha de comando (usando expressão regular)
Exemplos:
=> proc.num[,mysql] → quantidade de processos rodando com o usuário "mysql"
=> proc.num[apache2,www-data] → quantidade de processos "apache2" rodando com o usuário "www-data"
=> proc.num[,oracle,sleep,oracleZABBIX] → quantidade de processos em modo "dormente" rodando com o usuário "oracle" que possuem "oracleZABBIX" em sua linha de comando

Veja notas sobre seleção de processos com os parâmetros name e cmdline.

No Windows, apenas os parâmetros name e user são suportados.
sensor[device,sensor,<mode>]
Sensor de leitura de hardware. Numérico device - nome do dispositivo
sensor - nome do sensor
mode - valores possíveis:
avg, max, min (se o parâmetro for omitido, o dispositivo e o sensor serão tratados textualmente).
Lê o arquivo /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 utilizado.
Lê o arquivo /sys/class/hwmon no Linux 2.6+.

Mais detalhes em sensor para Linux.
Lê a MIB hw.sensors MIB no OpenBSD.

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

Suportado no OpenBSD desde o Zabbix 1.8.4.
system.boottime
Tempo em carga do sistema. Inteiro (horário em padrão 'Unix timestamp')
system.cpu.discovery
Lista de CPUs/Núcleos de CPU detectados. Utilizado pelo processo de autobusca. Objeto JSON Suportado em todas as plataformas desde o Zabbix 2.4.0.
system.cpu.intr
Interrupções do dispositivo. Inteiro
system.cpu.load[<cpu>,<mode>]
Carga de CPU. Numérico cpu - valores possíveis:
all (padrão), percpu (total dividido pela quantidade de CPUs online)
mode - valores possíveis:
avg1 (média de um minuto, é o padrão), avg5, avg15
Exemplo:
=> system.cpu.load[,avg5]

percpu é suportado desde o Zabbix 2.0.0.

Antigo nome: system.cpu.loadX
system.cpu.num[<type>]
Quantidade de CPUs. Inteiro type - valores possíveis:
online (padrão), max
Exemplo:
=> system.cpu.num
system.cpu.switches
Quantidade de mudanças de contexto. Inteiro Nome antigo: system[switches]
system.cpu.util[<cpu>,<type>,<mode>]
Utilização percentual de CPU. Numérico cpu - <número da CPU> ou all (padrão)
type - valores possíveis:
idle, nice, user (padrão), system (padrão para Windows), iowait, interrupt, softirq, steal, guest (em Linux com kernel 2.6.24 ou superior), guest_nice (em Linux com kernel 2.6.33 ou superior)
mode - valores possíveis:
avg1 (média de um minuto, padrão), avg5, avg15
Exemplo:
=> system.cpu.util[0,user,avg5]

Antigo nome: system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX
system.hostname[<type>]
Nome do host no sistema operacional. String type (Apenas para windows, não deve ser utilizado em outros sistemas) - valores possíveis: netbios (padrão) ou host O valor é obtido a partir da função GetComputerName() (para netbios) ou gethostname() (para host) no Windows e pelo comando "hostname" em outros ambientes.

Exemplos de retornos possíveis:
no Linux:
=> system.hostname → linux-w7x1
=> system.hostname → www.zabbix.com
no Windows:
=> system.hostname → WIN-SERV2008-I6
=> system.hostname[host] → Win-Serv2008-I6LonG

O parâmetro type para este item é suportado desde o Zabbix 1.8.6.

Veja o manual de configurações para maiores detalhes.
system.hw.chassis[<info>]
Informações do Chassis. String info - valores possíveis: full (padrão), model, serial, type ou vendor Exemplo:
=> system.hw.chassis[full] → Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop]

Esta chave depende da disponibilidade da tabela de SMBIOS em memória.

Privilégio de Root é necessário pois estes dados vem diretamente de leitura de memória.

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

Recupera informações dos arquivos /proc/cpuinfo e /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq.

Se o número da CPU e curfreq ou maxfreq for especificado, o retorno será numérico (Hz).

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

Retorna o texto gerado pelo utilitário lspci ou lsusb (executado sem nenhum parâmetro)

Suportado desde o Zabbix 2.0.
system.hw.macaddr[<interface>,<format>]
Lista de endereços MAC. String interface - all (padrão) ou expressão regular
format - full (padrão) ou short
Lista os endereços MAC das interfaces que forem compatíveis com a expressão regular interface (all lista todas as interfaces).

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

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

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

String - com type como local
type - valores possíveis:
utc - (padrão) o horário desde Epoch (00:00:00 UTC, 1 de Janeiro de 1970), medido em segundos.
local - o horário no formato 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm'
Parâmetros para este item são suportados desde o Zabbix 2.0.
system.run[command,<mode>]
Executa um comando no host monitorado. Retorna o texto gerado pela execução do comando command - comando a ser executado
mode - valores possíveis:
wait - aguarda o fim da execução (padrão),
nowait - não aguarda
Até 512KB de dados podem ser retornados, incluindo espaços em branco a direita que serão truncados.
Para ser processado corretamente, a saída do comando precisa ser um texto.

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

Nota: Para habilitar esta funcionalidade, o arquivo de configuração do agente precisa conter a opção EnableRemoteCommands=1.
Nota: O retorno do item será o texto gerado pela execução normal do comando.
Nota: Valores vazios são suportados desde o Zabbix 2.4.0
system.stat[resource,<type>]
Estatísticas do sistema. Inteiro ou Numérico ent - número de unidades de processador que esta partição tem direito de receber (Numérico)
kthr,<type> - informação sobre o estado de 'threads' do kernel:
r - média de 'threads' em execução no kernel (Numérico)
b - média de 'threads' do kernel na fila do gerenciamento de memória virtual (Numérico)
memory,<type> - informação sobre utilização de memória real e virtual:
avm - páginas virtuais ativas (Inteiro)
fre - tamanho da última lista livre (Inteiro)
page,<type> - informação sobre atividade e falhas de página:
fi - entradas de página por segundo (Numérico)
fo - estatísticas de saidas de página por segundo (Numérico)
pi - páginas usadas no espaço de paginação space (Numérico)
po - páginas fora do espaço de paginação (Numérico)
fr - páginas liberadas (páginas substituídas) (Numérico)
sr - páginas escaneadas pelo algorítmo de substituição de páginas (Numérico)
faults,<type> - alerta e taxa de interrupção:
in - interrupções do dispositivo (Numérico)
sy - chamadas de sistema (Numérico)
cs - mudanças de contexto nas 'threads' do kernel (Numérico)
cpu,<type> - divisão do percentual de tempo do processador:
us - usuário (Numérico)
sy - sistema (Numérico)
id - inativo (Numérico)
wa - inativo por espera de requisições de disco, NFS ou I/O (Numérico)
pc - quantidade física de processadores utilizada (Numérico)
ec - percentual consumido da entidade (Numérico)
lbusy - indica o percentual de utilização lógica que ocorreu durante a execução em nível de usuário e de sistema (Numérico)
app - indica a quantidade de processadores disponíveis no 'pool' compartilhado (Numérico)
disk,<type> - estatísticas de disco:
bps - indica a quantidade de dado transferido (leitura ou gravação) para a unidade em bytes por segundo (Inteiro)
tps - indica a quantidade de transferências por segundo que foram solicitadas para o disco/fita (Numérico)
Suportado desde o Zabbix 1.8.1.
system.sw.arch
Informações da 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ções do sistema operacional. String info - valores possíveis:
full (padrão), short ou name
Exemplo:
=> system.sw.os[short]→ Ubuntu 2.6.35-28.50-generic 2.6.35.11

Informação obtida a partir dos arquivos (observe que nem todos os arquivos estão disponíveis em todas as distribuições):
/proc/version (full)
/proc/version_signature (short)
/etc/issue.net (name)

Suportado desde o Zabbix 2.0.
system.sw.packages[<package>,<manager>,<format>]
Lista dos pacotes instalados. Text package - all (padrão) ou expressão regular
manager - all (padrão) ou o gerenciador de pacotes
format - full (padrão) ou short
Lista (ordenada alfabeticamente) os pacotes instalados que correspondam à expressão regular package (all lista todos).

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

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

Se o parâmetro format for definido como full, os pacotes serão agrupados pelos gerenciadores de pacotes (cada gerenciador em uma linha com seu nome entre colchetes).
Se o parâmetro format for definido como short, os pacotes não serão agrupados e serão presentados em uma linha simples.

Suportado desde o Zabbix 2.0.
system.swap.in[<device>,<type>]
Estatísticas de entrada no Swap (do dispositivo para a memória). Inteiro device - dispositivo utilizado para o 'swapping' (padrão é all)
type - valores possíveis:
count (quantidade de 'swapins'), sectors (setores armazenados), pages (páginas armazenadas). Veja a lista de suporte por plataforma para maiores detalhes.
Exemplo:
=> system.swap.in[,pages]

A fonte de informações são os arquivos:
/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 saída do Swap (da memória para o dispositivo). Inteiro device - dispositivo utilizado para o 'swapping' (o padrão é all)
type - valores possíveis:
count (quantidade de 'swapouts'), sectors (setores armazenados), pages (páginas armazenadas). Veja a lista de suporte por plataforma para maiores detalhes.
Exemplo:
=> system.swap.out[,pages]

A fonte de informações são os arquivos:
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
system.swap.size[<device>,<type>]
Tamanho do Swap em bytes ou em percentual do total. Inteiro - para bytes

Numérico - para percentual
device - dispositivo utilizado para o 'swapping' (o padrão é all)
type - valores possíveis:
free (espaço livre no swap, padrão), pfree (percentual de espaço livre no swap), pused (percentual de espaço ocupado no swap), total (espaço total do swap), used (espaço utilizado no swap)
Exemplo:
=> system.swap.size[,pfree] → percentual de espaço livre no swap

Observe que esta chave pode retornar percentual incorreto em ambientes virtualizados (VMware ESXi, VirtualBox) nas plataformas Windows. Neste caso, recomenda-se o uso da chave 'perf_counter[\700(_Total)\702]' para obter a informação correta do swap.

Antigo nome: system.swap.free, system.swap.total
system.uname
Informação detalhada do host. String Exemplo de valor retornado:
FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386

Desde o Zabbix 2.2.0, o valor para este item é obtido com a chamada de sistema 'uname()', anteriormente era obtido com o comando "uname -a" em ambientes Unix. Assim, o valor deste item poderá ser diferente do resultado do comando "uname -a" e não incluirá as informações adicionais presentes no mesmo.
system.uptime
Tempo de carga em segundos. Inteiro Conforme o configuração de itens, use as unidades s ou uptime para obter valores "legíveis".
system.users.num
Quantidade de usuários conectados. Inteiro o comando who é utilizado no lado do agente para obter a resposta.
vfs.dev.read[<device>,<type>,<mode>]
Estatísticas de leitura de disco. Inteiro - com type em sectors, operations, bytes

Numérico - com type em sps, ops, bps
device - dispositivo de disco (padrão é all)
type - valores possíveis: sectors, operations, bytes, sps, ops, bps
Este parâmetro precisa ser especificado, uma vez que os padrões diferem entre os SOs.
sps, ops, bps unidades: setores, operações, bytes por segundo, respectivamente.
mode - valores possíveis: avg1 (média de um minuto, padrão), avg5, avg15.
Este parâmetro é suportado apenas com type definido como: sps, ops, bps.
O valor padrão do parâmetro 'type' em diferentes SOs:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

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

sps, ops and bps em plataformas suportadas utilizado para ser limitado a 8 dispositivos (7 individuais e um global). Desde o Zabbix 2.0.1 este limite foi elevado para 1024 dispositivos (1023 individuais e um global).

Se o primeiro parâmetro for definido como all a chave retornará um resumo das estatísticas, incluindo todos os dispositivos de bloco tal qual: sda, sbd e suas partições (sda1, sda2, sdb3...) alem de múltiplos dispositivos (MD raid) baseados em dispositivos de bloco ou partições e volumes lógicos (LVM). Nestes casos o valor retornado deverá ser considerado apenas como um valor relativo (dinâmico em função do tempo), nunca como absoluto.

Suporte a LVM desde o Zabbix 1.8.6.

Apenas nomes relativos de disco poderão ser utilizados (por exemplo, sda) desde o Zabbix 1.8.6. Desde esta versão, um prefixo opcional /dev/ pode ser utilizado (por exemplo, /dev/sda).

Antigo nome: io[*]
vfs.dev.write[<device>,<type>,<mode>]
Estatísticas de gravação no disco. Inteiro - com type em sectors, operations, bytes

Numérico - com type em sps, ops, bps
device - dispositivo de disco (padrão é all)
type - valores possíveis: sectors, operations, bytes, sps, ops, bps
Este parâmetro precisa ser especificado, uma vez que os padrões diferem entre os SOs.
sps, ops, bps unidades: setores, operações, bytes por segundo, respectivamente.
mode - valores possíveis: avg1 (média de um minuto, padrão), avg5, avg15.
Este parâmetro é suportado apenas com type definido como: sps, ops, bps.
O valor padrão do parâmetro 'type' em diferentes SOs:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

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

sps, ops and bps em plataformas suportadas utilizado para ser limitado a 8 dispositivos (7 individuais e um global). Desde o Zabbix 2.0.1 este limite foi elevado para 1024 dispositivos (1023 individuais e um global).

Se o primeiro parâmetro for definido como all a chave retornará um resumo das estatísticas, incluindo todos os dispositivos de bloco tal qual: sda, sbd e suas partições (sda1, sda2, sdb3...) alem de múltiplos dispositivos (MD raid) baseados em dispositivos de bloco ou partições e volumes lógicos (LVM). Nestes casos o valor retornado deverá ser considerado apenas como um valor relativo (dinâmico em função do tempo), nunca como absoluto.

Suporte a LVM desde o Zabbix 1.8.6.

Apenas nomes relativos de disco poderão ser utilizados (por exemplo, sda) desde o Zabbix 1.8.6. Desde esta versão, um prefixo opcional /dev/ pode ser utilizado (por exemplo, /dev/sda).

Antigo nome: io[*]
vfs.file.cksum[file]
Verificação de arquivo, calculada através do algoritmo 'cksum' do UNIX. Inteiro file - caminho completo para o arquivo Exemplo:
=> vfs.file.cksum[/etc/passwd]

Exemplo de valor retornado:
1938292000

Antigo nome: cksum

O limite de tamanho de arquivo depende do suporte a grandes arquivos.
vfs.file.contents[file,<encoding>]
Recupera 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 contitver somente os caractéres LF/CR apenas.

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

Este item é limitado a arquivos de até 64 Kbytes.

Suportado a partir do Zabbix 2.0.
vfs.file.exists[file]
Verifica se um arquivo existe. 0 - não encontrado

1 - arquivo normal ou um link (simbólico ou 'hard') para um arquivo normal existente
file - caminho completo para o arquivo Exemplo:
=> vfs.file.exists[/tmp/application.pid]

O valor retornado depende do que a macro S_ISREG POSIX retornar.

O tamanho do arquivo depende do suporte a grandes arquivos.
vfs.file.md5sum[file]
Sumariação MD5 de um arquivo. String de caracteres ('hash' MD5 de um 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 no Zabbix 1.8.6.

O tamanho do arquivo depende do suporte a grandes arquivos.
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]
Procura por um texto em um arquivo. A linha contendo o texto, ou o especificado no parâmetro opcional output file - caminho completo para o arquivo
regexp - expressão regular no padrão GNU
encoding - identificador do código de página
start line - número da primeira linha a pesquisar (por padrão é a primeira linha do arquivo).
end line - número da última linha a pesquisar (por padrão a última linha do arquivo).
output - parâmetro opcional de formatação. A sequência de escape \0 será substituída pelo texto encontrado enquanto a sequência de escape \N (onde N=1...9) será substituída pela Nth ocorrência (ou um texto vazio se N for maior que a quantidade de ocorrências).
Apenas a primeira linha encontrada será retornada.
Será retornado um texto vazio se não for localizada nenhuma linha compatível com a expressão.

A extração de conteúdo utilizando o parâmetro output será feita pelo agente.

Os parâmetros start line, end line e output são suportados desde o Zabbix 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] → recuperando o ID do usuário zabbix
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]
Procura por um texto em um arquivo. 0 - não encontrou

1 - encontrou
file - caminho completo para o arquivo
regexp - expressão regular no padrão GNU
encoding - identificador de código de página
start line - número da primeira linha a procurar (por padrão a primeira linha do arquivo).
end line - número da última linha a procurar (por padrão a última linha do arquivo).
Os parâmetros start line e end line são suportados desde o Zabbix 2.2.

Exemplo:
=> vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file]
Tamanho do arquivo (em bytes). Inteiro file - caminho completo para o arquivo O arquivo deve permitir a leitura pelo usuário zabbix.

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

O tamanho do arquivo depende do definido no suporte a grandes arquivos.
vfs.file.time[file,<mode>]
Informação de hora do arquivo. Inteiro (no padrão 'Unix timestamp') file - caminho completo para o arquivo
mode - valores possíveis:
modify (padrão) - momento de modificação, access - momento do último acesso, change - momento da última modificação
Exemplo:
=> vfs.file.time[/etc/passwd,modify]

O tamanho do arquivo depende do definido no suporte a grandes arquivos.
vfs.fs.discovery
Lista de sistemas de arquvios montados. Utilizado pelo processo de autobusca. Objeto JSON Suportado desde o Zabbix 2.0.

A macro {#FSDRIVETYPE} é suportada no Windows desde o Zabbix 3.0.
vfs.fs.inode[fs,<mode>]
Percentual de inodes. Inteiro - para número

Numérico - para percentual
fs - sistema de arquivo
mode - valores possíveis:
total (padrão), free, used, //pfree // (percentual livre), pused (percentual em uso)
Exemplo:
=> vfs.fs.inode[/,pfree]

Antigo nome: vfs.fs.inode.free[*], vfs.fs.inode.pfree[*], vfs.fs.inode.total[*]
vfs.fs.size[fs,<mode>]
Espaço em disco em bytes ou percentual do total. Inteiro - para bytes

Numérico - para percentual
fs - sistema de arquivos
mode - valores possíveis:
total (padrão), free, used, pfree (percentual livre), pused (percentual em uso)
Em caso de um volume montado o espaço total do sistema de arquivo será retornado.

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

Antigo nome: vfs.fs.free[*], vfs.fs.total[*], vfs.fs.used[*], vfs.fs.pfree[*], vfs.fs.pused[*]
vm.memory.size[<mode>]
Tamanho da memória em bytes ou em percentual. Inteiro - para bytes

Numérico - para percentual
mode - valores possíveis:
total (padrão), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, wired, used, pused (percentual de uso), available, pavailable (percentual disponível)
Este item suporta três categorias de parâmetros:

1) total - total de memória;
2) tipos específicos de memória (dependentes de plataforma): active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, wired;
3) Estimativa de memória no nível de usuário: used, pused, available, pavailable.

Veja mais detalhes sobre 'vm.memory.size' em parâmetros de memória.

Antigo nome: vm.memory.buffers, vm.memory.cached, vm.memory.free, vm.memory.shared, vm.memory.total
web.page.get[host,<path>,<port>]
Recupera o conteúdo de uma página web. A página web é recuperada como um texto host - nome do host
path - caminho para o arquivo HTML (o padrão é /)
port - número da porta (o padrão é 80)
Retorna uma string vazia em caso de falha.

Exemplo:
=> web.page.get[www.zabbix.com,index.php,80]
web.page.perf[host,<path>,<port>]
Tempo para carga da página completa (em segundos). Numérico host - nome do host
path - caminho para o arquivo HTML (o padrão é /)
port - número da porta (o padrão é 80)
Retorna 0 caso falhe.

Exemplo:
=> web.page.perf[www.zabbix.com,index.php,80]
web.page.regexp[host,<path>,<port>,<regexp>,<length>,<output>]
Procura por um texto em uma página web. O texto localizado, ou o especificado pelo parâmetro opcional output host - nome do host
path - caminho para o arquivo HTML (o padrão é /)
port - número da porta (o padrão é 80)
regexp - expressão regular no padrão GNU
length - quantidade máxima de caracteres a serem retornados
output - parâmetro opcional de formatação. A sequência de caracteres \0 será substituída pelo texto encontrado, enquanto a sequência \N (onde N=1...9) será substituída pela Nth ocorrência (ou um texto em branco caso N exceda a quantidade de ocorrências).
Retorna um texto em branco caso não seja encontrada uma ocorrência.

A extração de conteúdo utilizando o parâmetro output será executada no agente.

O parâmetro output é suportado desde o Zabbix 2.2.

Exemplo:
=> web.page.regexp[www.zabbix.com,index.php,80,OK,2]

Especificamente para o Linux: O Zabbix Agent precisa ter acesso de leitura ao sistema de arquivos /proc. Existem patches de kernel em www.grsecurity.org para limitar os privilégios.

Key
Description Return value Parameters Comments
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

Supported since Zabbix 5.4.8.
agent.version
Version of Zabbix agent. String Example of returned value:
1.8.2
kernel.maxfiles
Maximum number of opened files supported by OS. Integer
kernel.maxproc
Maximum number of processes supported by OS. Integer
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>]
Log file monitoring. 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.

See also additional information on log monitoring.
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>]
Count of matched lines in log file monitoring. 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.

See also additional information on log monitoring.

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>]
Log file monitoring with log rotation support. 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.

See also additional information on log monitoring.
logrt.count[file_regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>]
Count of matched lines in log file monitoring with log rotation support. 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.

See also additional information on log monitoring.

This item is not supported for Windows Event Log.

Supported since Zabbix 3.2.0.
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.
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 agent versions 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 agent versions 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 agent version 2.0.

On FreeBSD, OpenBSD and NetBSD supported since Zabbix agent version 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.
The network interface GUID as the first parameter on Windows is supported since Zabbix 5.4.5.

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.
The network interface GUID as the first parameter on Windows is supported since Zabbix 5.4.5.

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.

The network interface GUID as the first parameter on Windows is supported since Zabbix 5.4.5.

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 agent version 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.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 agent version 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.
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.
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.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 agent version 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 agent version 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 agent version 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 agent version 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 agent version 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 agent version 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.
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.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]
File checksum, calculated by the UNIX cksum algorithm. Integer file - full path to file Example:
=> vfs.file.cksum[/etc/passwd]

Example of returned value:
1938292000

The file size limit depends on large file support.
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 agent version 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.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.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]
File size (in bytes). Integer file - full path to file 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.
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 agent version 2.0.

{#FSDRIVETYPE} macro is supported on Windows since Zabbix agent version 3.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 agent version 4.4.5.
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.
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.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]
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.

Codificações de página disponíveis

O parâmetro encoding é utilizado para especificar um código de página para processar as verificações de itens, para que o dado não seja corrompido. Para uma lista de codificações suportadas (identificadores de código de página), favor consultar a documentação relativa, tal qual a documentação para o libiconv (projeto GNU) ou a documentação do Microsoft Windows para "Identificadores de código de página".

Se não for definido o parâmetro encoding, será utilizado o UTF-8 (código de página padrão em distribuições Unix/Linux, veja suas configurações do SO) ou ANSI com extensão específica para o ambiente (Windows).

Resolução de problemas com itens de Agente

  1. Se for utilizada uma verificação passiva, o parâmetro, Timeout no arquivo de configuração do servidor precisa ser maior do que o definido no arquivo de configuração do agente. A inobservância disso poderá impedir que o servior colete o dado.

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.

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]