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

1 Agente do Zabbix

Visão geral

These checks use the communication with Zabbix agent for data gathering.

Existem verificações passivas e ativas do agente passive and active . Ao configurar um item, você pode escolher o modelo necessário:

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

Chaves de Item Suportadas

A tabela fornece detalhes sobre as chaves de item que você pode usar com itens do agente Zabbix agrupados pela família do item.

Consulte também:

Parâmetros obrigatórios e opcionais

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

Uso com utilitários de linha de comando

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

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

Exemplos:

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

Zabbix metrics

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

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

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

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

Resolução de problemas com itens do Agente

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

Configurações de codificação

Para garantir que os dados adquiridos não sejam corrompidos, você pode especificar a codificação correta para processar a verificação (por exemplo, 'vfs.file.contents') no parâmetro encoding . A lista de codificações suportadas (identificadores de página de código) pode ser encontrada na documentação do libiconv (Projeto GNU) ou na documentação do Microsoft Windows SDK para "Identificadores de Página de Código".

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

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

Solução de Problemas de Itens do Agente

  • Se usado com o agente passivo, o valor de Timeout na configuração do servidor pode precisar ser maior do que o Timeout no arquivo de configuração do agente. Caso contrário, o item pode não receber nenhum valor porque a solicitação do servidor para o agente expirou primeiro.
Dados do Kernel
Chave do Item
Descrição Valor de Retorno Parâmetros Comentários
kernel.maxfiles
Número máximo de arquivos abertos suportados pelo sistema operacional. Inteiro
kernel.maxproc
Número máximo de processos suportados pelo sistema operacional. Inteiro
kernel.openfiles
Retorna o número de descritores de arquivos atualmente abertos. Inteiro Este item é suportado desde o Zabbix 6.0.
Dados de log

Consulte informações adicionais em log monitoring.

Chave do Item
Descrição Valor Retornado Parâmetros Comentários
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>]
Monitoramento de um arquivo de log. Log arquivo - caminho completo e nome do arquivo de log
regexp - expression regular descrevendo o padrão necessário
encoding - identificador da página de código identifier
maxlines - número máximo de linhas novas que o agente enviará para o servidor ou proxy Zabbix por segundo. Este parâmetro substitui o valor de 'MaxLinesPerSecond' em zabbix_agentd.conf
mode (desde a versão 2.0)- valores possíveis:
todos (padrão), skip - pular o processamento de dados mais antigos (afeta somente os itens criados recentemente).
output (desde a versão 2.2) - um template opcional de formatação de saída. A sequência de escape \0 substituída pela parte correspondente do texto (do primeiro caractere onde a correspondência começa até o caractere onde a correspondência termina), enquanto uma sequência de escape \N (onde N=1...9) é substituída pelo N-ésimo grupo correspondido (ou uma string vazia se o N exceder o número de grupos capturados).
maxdelay (desde a versão 3.2) - atraso máximo em segundos. Tipo: float. Valores: 0 - (padrão) nunca ignorar linhas de arquivo de log; > 0.0 - ignorar linhas mais antigas para obter as linhas mais recentes analisadas dentro de "maxdelay" segundos. Leia as notas sobre maxdelay antes de usá-lo!
opções (desde a versão 4.4.7) - opções adicionais:
mtime-noreread - registros não exclusivos, reler apenas se o tamanho do arquivo mudar (ignorar mudança de tempo de modificação). (Este parâmetro está obsoleto desde a versão 5.0.2, pois agora mtime é ignorado.)
persistent_dir (desde versões 5.0.18, 5.4.9, somente no zabbix_agentd em Unix systems; não suportado no Agent2) - caminho absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre persistent files.
Este item deve ser configurado como um active check.
Se o arquivo estiver ausente ou as permissões não permitirem acesso, o item torna-se não suportado.

Se o output estiver vazio - a linha inteira contendo o texto correspondido é retornada. Observe que todos os tipos globais de expressões regulares, exceto 'Result is TRUE' sempre retornam a linha inteira correspondente e o parâmetro output é ignorado.

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

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

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

Usando o parâmetro output para reescrever o registro de log antes de enviar para o servidor:
=> log[/app1/app.log,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] → corresponderá a um registro de log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e enviará um registro modificado "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" para o servidor.
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>]
Contagem de linhas correspondentes em um arquivo de log monitorado. Inteiro arquivo - caminho completo e nome do arquivo de log
regexp - expressão regular expression descrevendo o padrão necessário
encoding - ### identificador da página de código identifier
maxproclines -número máximo de novas linhas por segundo que o agente analisará (não pode exceder 10000). O valor padrão é de 10*'MaxLinesPerSecond'no zabbix_agentd.conf.
mode - Valores possíveis:
todos (padrão), skip - pular o processamento de dados mais antigos (afeta somente itens criados recentemente).
maxdelay - atraso máximo em segundos. Tipo: float. Valores: 0 - (padrão) nunca ignorar linhas de arquivos de log; > 0.0 - ignorar linhas mais antigas para que as linhas mais recentes sejam analisadas dentro de “maxdelay” segundos. Leia as notasmaxdelay antes de usá-lo!
opções (desde a versão 4.4.7) - opções adicionais:
mtime-noreread - registros não únicos, releia apenas se o tamanho do arquivo mudar (ignore a mudança do tempo de modificação).(Este parâmetro está obsoleto desde a versão 5.0.2, porque agora o tempo de modificação é ignorado.)
persistent_dir (desde versões 5.0.18, 5.4.9, apenas no zabbix_agentd em Unix systems; não suportado no Agent2) - caminho absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre persistent files.
O item deve ser configurado como uma verificação ativa active check.


As linhas correspondentes são contadas nas novas linhas desde a última verificação de log pelo agente e, portanto, dependem do intervalo de atualização do item.
Se o arquivo estiver ausente ou as permissões não permitirem o acesso, o item se torna não suportado.

Este item não é suportado para Windows Event Log.

Suportado desde a versão Zabbix 3.2.0.
logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>]
Monitoramento de um arquivo de log que é rotacionado. Log file_regexp - caminho absoluto para o arquivo e o nome do arquivo descrito por uma expressão regular expression. Observe que somente o nome do arquivo é uma expressão regular.
regexp - expressão regular expression descrevendo o padrão de conteúdo obrigatório.
encoding - identificador da página de código identifier
maxlines - número máximo de linhas novas por segundo que o agente enviará para servidor ou proxy Zabbix. Esse parâmetro substitui o valor de 'MaxLinesPerSecond' no zabbix_agentd.conf
mode (desde a versão 2.0) - valores possíveis:
todos (padrão), skip - pular o processamento de dados mais antigos (afeta somente itens criados recentemente).
output (desde a versão 2.2) - um template opcional de formatação de saída. A sequência escape \0 é substituída por uma parte correspondente do texto (do primeiro caractere onde a correspondência começa até o caractere onde a correspondência termina) enquanto uma sequência escape \N (where N=1...9) é substituída por um grupo correspondente Nth (ou por uma string vazia caso o N exceder o número de grupos capturados).
maxdelay (desde a versão 3.2) - atraso máximo em segundos. Type: float. Valores: 0 - (padrão) nunca ignorar linhas de arquivos de log; > 0.0 - ignorar linhas mais antigas para que as linhas mais recentes sejam analisadas dentro de “maxdelay” segundos. Leia as notas sobremaxdelay antes de usá-lo!
options (desde a versão 4.0; opções mtime-reread, mtime-noreread desde 4.4.7) - tipo de rotação de arquivo de log e outras opções. Valores possíveis:
rotate (padrão),
copytruncate - Observe que o copytruncate não pode ser usado junto com o maxdelay. Nesse caso, o maxdelay deve ser 0 ou não especificado; consulte notas sobre copytruncate,
mtime-reread - registros não únicos, releia apenas se o tempo ou tamanho mudar (padrão),
mtime-noreread - registros não únicos, releia apenas se o tamanho do arquivo mudar (ignore a mudança do tempo de modificação).
persistent_dir (desde versões 5.0.18, 5.4.9, apenas no zabbix_agentd em Unix systems; não suportado no Agent2) - caminho absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre persistent files.
O item deve ser configurado como uma verificação ativa active check.
A rotação de log é baseada no tempo da última modificação dos arquivos.

Note que logrt foi projetado para funcionar com um arquivo de log atualmente ativo, com vários outros arquivos correspondentes inativos sendo rotacionados. Se, por exemplo, um diretório tiver muitos arquivos de log ativos, um item logrt separado deve ser criado para cada um. Caso contrário, se um item logrt pegar muitos arquivos, pode levar a uma exaustão de memória e a um travamento da monitoração.

Se output for deixado em branco - toda a linha contendo o texto correspondente é retornada. Note que todos os tipos de expressões regulares globais, exceto 'O resultado é TRUE', sempre retornam toda a linha correspondente e o parâmetro output é ignorado.

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

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

Usando o parâmetro output para extrair um número do registro de log:
=> logrt[/app1/^test.*log$,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] → corresponderá a um registro de log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e enviará apenas '6080' para o servidor. Como um valor numérico está sendo enviado, o "Tipo de informação" para este item pode ser definido como "Numérico (não assinado)" e o valor pode ser usado em gráficos, triggers etc.

*Usando o parâmetro output _para reescrever o registro de log antes de enviar para o servidor:*
=> logrt[/app1/^test.*log$,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] → corresponderá a um registro de log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e enviará um registro modificado "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08"para o servidor.
logrt.count[file_regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>]
Contagem de linhas correspondentes em um arquivo de log monitorado. Integer file_regexp - caminho absoluto para o arquivo e expressão regular expression descrevendoo padrão de nome de arquivo
regexp - expressão regular expression descrevendo o padrão de conteúdo requerido
encoding - identificador da página de código identifier
maxproclines - número máximo de novas linhas por segundo que o agente analisará (não pode exceder 10000). O valor padrão é de 10*'MaxLinesPerSecond' no zabbix_agentd.conf.
mode - valores possíveis:
todos (padrão), skip - pular o processamento de dados mais antigos (afeta somente itens criados recentemente)
maxdelay - atraso máximo em segundos. Tipe: float. Valores: 0 - (padrão) nunca ignorar linhas de arquivos de log; > 0.0 - ignorar linhas mais antigas para que as linhas mais recentes sejam analisadas dentro de “maxdelay” segundos. Leia as notas sobre maxdelay antes de usá-lo!
opções (desde a versão 4.0; opções mtime-reread, mtime-noreread desde 4.4.7) - tipo de rotação de arquivo de log e outras opções. Valores possíveis
rotate (padrão),
copytruncate - observe que copytruncate não pode ser usado junto com maxdelay. Neste caso, o maxdelay deve ser 0 ou não especificado; consulte as notas sobre copytruncate,
mtime-reread - registros não únicos, reler se o tempo de modificação ou o tamanho mudar (padrão),
mtime-noreread - registros não únicos, reler apenas se o tamanho mudar (ignorar alteração no tempo de modificação).
persistent_dir (desde versões 5.0.18, 5.4.9, apenas no zabbix_agentd em Unix systems; não suportado no Agent2) - caminho absoluto do diretório onde armazenar arquivos persistentes. Veja também notas adicionais sobre persistent files.
O item deve estar configurado como um active check.

As linhas correspondentes são contadas nas novas linhas desde a última verificação de log pelo agente e, portanto, dependem do intervalo de atualização do item.

A rotação de log é baseada na última data de modificação dos arquivos.

Este item não é suportado para Windows Event Log.

Suportado desde a versão 3.2.0 do Zabbix.
Dado Modbus
Chave do item
Descrição Valor retornado Parâmetros Comentários
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>]
Reads Modbus data. JSON object endpoint - endpoint definido como protocol://connection_string
slave id - ID do slave
função - função Modbus
endereço - endereço do primeiro registro, coil ou input
somar - número de registros para ler
tipo - tipo de dado
endianness - configuração endianness
offset - número de registros, iniciando por 'endereço', os resultados que serão descartados.

Para mais detalhes sobre os parâmetros, consulte detailed description.
Suportado desde o Zabbix 5.2.0.
Dados de rede
Chave do item
Descrição Valor de retorno Parâmetros Comentários
net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Verifica se o serviço DNS está ativo. 0 - DNS está fora do ar (o servidor não respondeu ou a resolução DNS falhou)

1 -DNS está ativo
ip - Endereço IP do servidor DNS (deixe vazio para o servidor DNS padrão, no Windows é suportado apenas pelo Zabbix agent 2, ignorado pelo Zabbix agent)
name - Nome DNS a ser consultado
type - Tipo de registro a ser consultado (o padrão é SOA)
timeout (ignorado no Windows, a menos que esteja usando a versão 6.0.1 ou mais recente do Zabbix agent 2) - tempo limite para a solicitação em segundos (o padrão é 1 segundo)
count (ignorado no Windows, a menos que esteja usando o Zabbix agent 2 versão 6.0.1 ou mais recente) - número de tentativas para a solicitação (o padrão é 2)
protocol (desde a versão 3.0) - o protocolo usado para realizar consultas DNS: udp (padrão) ou tcp
Exemplo:
=> net.dns[8.8.8.8,example.com,MX,2,1]

Os valores possíveis são type:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (não suportado no agente Zabbix no Windows, Zabbix agent 2 em todos OS), HINFO, MINFO, TXT, AAAA, SRV

Nomes de domínio internacionalizados não são suportados, por favor, use nomes codificados em IDNA.

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

Nomeação antes do Zabbix 2.0 (ainda suportado): net.tcp.dns
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Realiza uma consulta DNS. String de caracteres com o tipo de informação requerido ip - Endereço IP do servidor DNS (deixe vazio para o servidor DNS padrão, ignorado no Windows, a menos que esteja usando a versão 6.0.1 ou mais recente do Zabbix agent 2)
name - Nome DNS a ser consultado
type - Tipo de registro a ser consultado (padrão é SOA_)
timeout (ignorado no Windows, a menos que esteja usando a versão 6.0.1 ou mais recente do Zabbix agent 2) - tempo limite para a solicitação em segundos (padrão é 1 segundo)
count (ignorado no Windows, a menos que esteja usando a versão 6.0.1 ou mais recente do Zabbix agent 2) - número de tentativas para a solicitação (padrão é 2)
protocol(desde a versão 3.0) - o protocolo usado para realizar consultas DNS: udp (padrão) ou tcp
Por exemplo:
=> net.dns.record[8.8.8.8,example.com,MX,2,1]

Os valores possíveis são type:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (não suportado para Zabbix agent no Windows, Zabbix agent 2 em todos os OS), HINFO, MINFO, TXT, AAAA, SRV

Nomes de domínio internacionalizados não são suportados, use nomes codificados em IDNA.

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

Nomeação antes do Zabbix 2.0 (ainda suportado): net.tcp.dns.query
net.if.collisions[if]
Número de colisões fora da janela. Inteiro if - nome da interface de rede
net.if.discovery
Lista de interfaces de rede. Usado para descoberta de baixo nível. Objeto JSON Suportado desde o Zabbix 2.0

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

Algumas versões do Windows (por exemplo, Server 2008) podem exigir as atualizações mais recentes instaladas para suportar caracteres não ASCII nos nomes das interfaces.
net.if.in[if,<mode>]
Estatísticas de tráfego de entrada na interface de rede. Inteiro if - nome da interface de rede (Unix); descrição completa da interface de rede ou endereço IPv4; ou, se em colchetes, GUID da interface de rede (Windows)
mode - valores possíveis:
bytes - número de bytes (padrão)
packets - número de pacotes
errors - número de erros
dropped - número de pacotes descartados
overruns (fifo) - número de erros no buffer FIFO
frame - número de erros de enquadramento de pacotes
compressed - número de pacotes comprimidos recebidos pelo driver do dispositivo
multicast - número de frames multicast recebidos pelo driver do dispositivo
No Windows, o item obtém valores de contadores de 64 bits, se disponíveis. Contadores estatísticos de interface de 64 bits foram introduzidos no Windows Vista e Windows Server 2008. Se contadores de 64 bits não estiverem disponíveis, o agente usa contadores de 32 bits.

Nomes de interface multibyte no Windows são suportados desde o Zabbix 1.8.6.

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

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

Você pode usar esta chave com a etapa de pré-processamento Change per second para obter estatísticas de bytes por segundo.
net.if.out[if,<mode>]
Estatísticas de tráfego de saída na interface de rede. Inteiro if - nome da interface de rede (Unix); descrição completa da interface de rede ou endereço IPv4; ou, se entre chaves, GUID da interface de rede (Windows)
mode - Valores possíveis:
bytes - número de bytes (padrão)
packets - número de pacotes
errors - número de erros
dropped - número de pacotes descartados
overruns (fifo) - número de erros no buffer FIFO
collisions (colls) - número de colisões detectadas na interface
carrier - número de perdas de porta detectadas pelo driver do dispositivo
compressed - número de pacotes comprimidos transmitidos pelo driver do dispositivo
No Windows, o item obtém valores de contadores de 64 bits, se disponíveis. Contadores de estatísticas de interface de 64 bits foram introduzidos no Windows Vista e no Windows Server 2008. Se contadores de 64 bits não estiverem disponíveis, o agente usa contadores de 32 bits.

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

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

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

Você pode usar esta chave com a etapa de pré-processamento Change per second para obter estatísticas de bytes por segundo.
net.if.total[if,<mode>]
Soma das estatísticas de tráfego de entrada e saída na interface de rede. Inteiro if - nome da interface de rede (Unix); descrição completa da interface de rede ou endereço IPv4; ou, se entre chaves, GUID da interface de rede (Windows)
mode - Valores possíveis:
bytes - número de bytes (padrão)
packets - número de pacotes
errors - número de erros
dropped - número de pacotes descartados
overruns (fifo) - número de erros de buffer FIFO
compressed - número de colisões detectadas na interface
No Windows, o item obtém valores de contadores de 64 bits, se disponíveis. Contadores de estatísticas de interface de 64 bits foram introduzidos no Windows Vista e no Windows Server 2008. Se os contadores de 64 bits não estiverem disponíveis, o agente usa contadores de 32 bits.

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

Você pode obter descrições das interfaces de rede no Windows com os itens ou net.if.list

Você pode usar esta chave com a etapa de pré-processamento Change per second para obter estatísticas de bytes por segundo.

Observe que pacotes descartados são suportados apenas se tanto net.if.in quanto net.if.out funcionarem para pacotes descartados em sua plataforma.
net.tcp.listen[port]
Verifica se esta porta TCP está no estado LISTEN. 0 - não está no estado LISTEN

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

No Linux é suportado desde o Zabbix 1.8.4

Desde o Zabbix 3.0.0, nos kernels Linux 2.6.14 e acima, informações sobre sockets TCP em escuta são obtidas da interface NETLINK do kernel, se possível. Caso contrário, as informações são obtidas dos arquivos /proc/net/tcp e /proc/net/tcp6.
net.tcp.port[<ip>,port]
Verifica se é possível fazer uma conexão TCP para a porta especificada. 0 - não é possível conectar

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

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

Observe que essas verificações podem resultar em mensagens adicionais nos arquivos de log do sistema daemon (sessões SMTP e SSH geralmente são registradas).
net.tcp.service[service,<ip>,<port>]
Verifica se o serviço está em execução e aceitando conexões. 0 - serviço está indisponível

1 - serviço está disponível
service - um dos seguintes:
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (consulte details)
ip - endereço IP ou nome DNS (padrão é 127.0.0.1)
port - número da porta (número da porta (por padrão, é utilizado o número da porta padrão do serviço)
Exemplo:
=> net.tcp.service[ftp,,45] → pode ser usado para testar a disponibilidade do servidor FTP na porta TCP 45.

Observe que essas verificações podem resultar em mensagens adicionais nos arquivos de log do sistema daemon (sessões SMTP e SSH geralmente são registradas).

A verificação de protocolos criptografados (como IMAP na porta 993 ou POP na porta 995) não é suportada atualmente. Como solução alternativa, use para verificações como essas net.tcp.port.

A verificação de LDAP e HTTPS no Windows é suportada apenas pelo Zabbix agent 2.

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

Os serviços https e telnet são suportados desde o Zabbix 2.0.
net.tcp.service.perf[service,<ip>,<port>]
Verifica o desempenho do serviço TCP. Float

0 - serviço está indisponível

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

A verificação de protocolos criptografados (como IMAP na porta 993 ou POP na porta 995) não é suportada atualmente. Como solução alternativa, use net.tcp.service.perf[tcp,<ip>,<port>] para verificações como essas.

A verificação de LDAP e HTTPS no Windows é suportada apenas pelo Zabbix agent 2.

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

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

Exemplo:
=> net.tcp.socket.count[,80,,,established] → retorna o número de conexões para a porta TCP local 80 no estado estabelecido

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

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

No Linux suportado desde o Zabbix 1.8.4
net.udp.service[service,<ip>,<port>]
Verifica se o serviço está em execução e respondendo a solicitações UDP. 0 - serviço está indisponível

1 - serviço está disponível
service - ntp (consulte details)
ip - nome do IP ou DNS (padrão é 127.0.0.1)
port - número da porta por padrão, o número da porta do serviço padrão é usado
Exemplo:
=> net.udp.service[ntp,,45] → pode ser usado para testar a disponibilidade do serviço NTP na porta UDP 45.

Esse item é suportado desde Zabbix 3.0.0, mas o serviço ntp estava disponível para item .tcp.service[] nas versões anteriores.
net.udp.service.perf[service,<ip>,<port>]
Verifica o desempenho do serviço UDP. Float

0 - serviço está indisponível

segundos - número de segundos gastos esperando uma resposta do serviço
service - ntp (consulte details)
ip - Nome do IP ou DNS (padrão é 127.0.0.1)
port - número da porta (by padrão o número da porta de serviço é usado)
Exemplo:
=> net.udp.service.perf[ntp] → pode ser usado para testar o tempo de resposta do serviço NTP.

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

Exemplo:
=> net.udp.socket.count[,,,,established] → retorna o número de sockets UDP no estado conectado

Este item é suportado desde o Zabbix 6.0.

Processes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sensors

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

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

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

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

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

Supported on OpenBSD since Zabbix 1.8.4.

System data

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Info is acquired from uname() function.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Virtual file systems

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

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

Float - with type in sps, ops, bps

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

LVM logical volumes are supported.

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

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

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

Float - with type in sps, ops, bps

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

LVM logical volumes are supported.

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

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

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

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

Symbolic links are never followed for directory traversal.

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

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

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

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

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

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

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

Symbolic links are never followed for directory traversal.

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

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

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

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

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

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

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

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

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

The file size limit depends on large file support.

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

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

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

The file size limit depends on large file support.

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

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

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

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

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

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

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

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

The file size limit depends on large file support.

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

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

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

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

Example of returned value:
b5052decb577e0fffd622d6ddc017e82

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

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

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

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

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

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

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

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

Examples:
=> vfs.file.regexp[/etc/passwd,zabbix]
=> vfs.file.regexp[/path/to/some/file,"([0-9]+)$",,3,5,\1]
=> vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1] → getting the ID of user zabbix
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]
Find string in a file. 0 - match not found

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

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

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

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

The file size limit depends on large file support.

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

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

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

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

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

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

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

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

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

Virtual machine monitoring

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

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

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

Web monitoring

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

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

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

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

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

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

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

The output parameter is supported from version 2.2.

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