[comment]: # attributes: notoc

[comment]: # ({22d75789-22d75789})
# 1 agente Zabbix

[comment]: # ({/22d75789-22d75789})

[comment]: # ({aae5ae72-d63c67a4})
### Visão geral

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

Existem verificações de agent [passivas e ativas](/manual/appendix/items/activepassive).
Ao configurar um item, você pode selecionar o tipo necessário:

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

Observe que todas as chaves de item suportadas pelo agent Zabbix também são suportadas pelo agent Zabbix 2 de nova geração.
Veja as [chaves de item adicionais](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2) que você pode usar apenas com o agent 2.

[comment]: # ({/aae5ae72-d63c67a4})

[comment]: # ({3fd8c340-cefe2e1b})
### Chaves de item suportadas

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

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

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

[comment]: # ({/3fd8c340-cefe2e1b})

[comment]: # ({07f3d331-cea3fc45})
#### Plataformas suportadas

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

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

Muitos itens do agent também são suportados no **Windows**.
Consulte a página [Itens do agent do Windows](/manual/config/items/itemtypes/zabbix_agent/win_keys#shared-items) para obter detalhes.

[comment]: # ({/07f3d331-cea3fc45})

[comment]: # ({dc120678-3077d649})
### Detalhes da chave do item

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

[comment]: # ({/dc120678-3077d649})

[comment]: # ({39b5e2c9-20fc641c})
##### kernel.maxfiles {#kernel.maxfiles}

<br>
O número máximo de arquivos abertos suportados pelo SO.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, MacOS X, OpenBSD, NetBSD.

[comment]: # ({/39b5e2c9-20fc641c})

[comment]: # ({9aaac02a-6dbdc04a})
##### kernel.maxproc {#kernel.maxproc}

<br>
O número máximo de processos suportados pelo SO.<br>
Valor de retorno: *Inteiro*.<br>
[Plataformas suportadas](#supported-platforms): Linux 2.6 e posterior, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.

[comment]: # ({/9aaac02a-6dbdc04a})

[comment]: # ({725bd0fa-9f31067e})
##### kernel.openfiles {#kernel.openfiles}

<br>
O número de descritores de arquivos abertos atualmente.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux (o item pode funcionar em outras plataformas semelhantes ao UNIX).

[comment]: # ({/725bd0fa-9f31067e})

[comment]: # ({5c22a7c6-f0ef2c24})
##### log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>] {#log}

<br>
O monitoramento de um arquivo de log.<br>
Valor retornado: *Log*.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetros:

-   **file** - o caminho completo e o nome de um arquivo de log;<br>
-   **regexp** - uma [expressão](/manual/regular_expressions#overview) regular que descreve o padrão necessário;<br>
-   **encoding** - o [identificador](/manual/config/items/itemtypes/zabbix_agent#encoding-settings) da página de código;<br>
-   **maxlines** - o número máximo de novas linhas por segundo que o agent enviará ao Zabbix server ou proxy.
Este parâmetro substitui o valor de 'MaxLinesPerSecond' em [zabbix\_agentd.conf](/manual/appendix/config/zabbix_agentd);<br>
-   **mode** - valores possíveis: *all* (padrão) ou *skip* - ignora o processamento de dados antigos (afeta apenas items recém-criados);<br>
-   **output** - um template opcional de formatação de saída.
A sequência de escape **\\0** é substituída pela parte do texto correspondente à correspondência (do primeiro caractere onde a correspondência começa até o caractere onde ela termina), enquanto uma sequência de escape **\\N** (onde N=1...9) é substituída pelo N-ésimo grupo correspondente (ou por uma string vazia se N exceder o número de grupos capturados);<br>
-   **maxdelay** - o atraso máximo em segundos.
Tipo: float.
Valores: 0 - (padrão) nunca ignorar linhas do arquivo de log; > 0.0 - ignorar linhas mais antigas para que as linhas mais recentes sejam analisadas dentro de "maxdelay" segundos.
Leia as observações sobre [maxdelay](log_items#using-maxdelay-parameter) antes de usá-lo!<br>
-   **options** - opções adicionais:<br>*mtime-noreread* - registros não exclusivos, reler somente se o tamanho do arquivo mudar (ignorar alteração no tempo de modificação).
(Este parâmetro está obsoleto desde a versão 5.0.2, porque agora o mtime é ignorado.)<br>
-   **persistent dir** (somente em zabbix\_agentd em sistemas Unix; não suportado no Zabbix agent 2) - o caminho absoluto do diretório onde armazenar arquivos persistentes.
Veja também observações adicionais sobre [arquivos persistentes](log_items#notes-on-persistent-files-for-log-items).

Comentários:

-   O item deve ser configurado como uma [verificação ativa](/manual/appendix/items/activepassive#active-checks);
-   Se o arquivo estiver ausente ou as permissões não permitirem acesso, o item se tornará não suportado;
-   Se `output` for deixado vazio - a linha inteira que contém o texto correspondente será retornada.
Observe que todos os tipos de expressão regular global, exceto 'Result is TRUE', sempre retornam a linha correspondente inteira e o parâmetro `output` é ignorado.
-   A extração de conteúdo usando o parâmetro `output` ocorre no agent.

Exemplos:

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

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

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

Exemplo de uso do parâmetro `output` para reescrever um registro de log antes de enviá-lo ao server:

```default
log[/app1/app.log,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #este item corresponderá a um registro de log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e enviará um registro modificado "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" ao server.
```

[comment]: # ({/5c22a7c6-f0ef2c24})

[comment]: # ({63539684-0cc87dbe})
##### log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>] {#log.count}

<br>
A contagem de linhas correspondentes em um arquivo de log monitorado.<br>
Valor de retorno: *Integer*.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetros:

-   **file** - o caminho completo e o nome do arquivo de log;<br>
-   **regexp** - uma [expressão](/manual/regular_expressions#overview) regular que descreve o padrão necessário;<br>
-   **encoding** - o [identificador](/manual/config/items/itemtypes/zabbix_agent#encoding-settings) da página de código;<br>
-   **maxproclines** - o número máximo de novas linhas por segundo que o agent analisará (não pode exceder 10000).
O valor padrão é 10\*'MaxLinesPerSecond' em [zabbix\_agentd.conf](/manual/appendix/config/zabbix_agentd).<br>
-   **mode** - valores possíveis: *all* (padrão) ou *skip* - ignorar o processamento de dados mais antigos (afeta apenas items recém-criados).<br>
-   **maxdelay** - o atraso máximo em segundos.
Tipo: float.
Valores: 0 - (padrão) nunca ignorar linhas do arquivo de log; > 0.0 - ignorar linhas mais antigas para que as linhas mais recentes sejam analisadas dentro de "maxdelay" segundos.
Leia as observações sobre [maxdelay](log_items#using-maxdelay-parameter) antes de usá-lo!<br>
-   **options** - opções adicionais:<br>*mtime-noreread* - registros não exclusivos, reler somente se o tamanho do arquivo mudar (ignorar alteração no horário de modificação).
(Este parâmetro está obsoleto desde a versão 5.0.2, porque agora o mtime é ignorado.)<br>
-   **persistent dir** (somente no zabbix\_agentd em sistemas Unix; não suportado no Zabbix agent 2) - o caminho absoluto do diretório onde armazenar arquivos persistentes.
Veja também observações adicionais sobre [arquivos persistentes](log_items#notes-on-persistent-files-for-log-items).

Comentários:

-   O item deve ser configurado como uma [verificação ativa](/manual/appendix/items/activepassive#active-checks);
-   As linhas correspondentes são contadas entre as novas linhas desde a última verificação do log pelo agent e, portanto, dependem do intervalo de atualização do item;
-   Se o arquivo estiver ausente ou as permissões não permitirem acesso, o item se tornará não suportado.

[comment]: # ({/63539684-0cc87dbe})

[comment]: # ({2b5e82b3-95734be0})
##### logrt[file regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>] {#logrt}

<br>
O monitoramento de um arquivo de log com rotação.<br>
Valor retornado: *Log*.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

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

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

Exemplos para outros sistemas: 

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

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

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

Exemplo de uso do parâmetro `output` para reescrever um registro de log antes de enviá-lo ao server:

```default
logrt[/app1/^test.*log$,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #este item corresponderá a um registro de log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e enviará um registro modificado "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" ao server.
```

[comment]: # ({/2b5e82b3-95734be0})

[comment]: # ({d5ad0a08-8ad8a2af})
##### logrt.count[file regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>] {#logrt.count}

<br>
A contagem de linhas correspondentes em um arquivo de log monitorado que sofre rotação.<br>
Valor de retorno: *Integer*.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

-   **file regexp** - o caminho absoluto para o arquivo, com o nome do arquivo especificado usando uma [expression](/manual/regular_expressions) regular.
Observe que a expressão regular se aplica apenas ao nome do arquivo e não precisa corresponder ao nome inteiro (por exemplo, /path/to/agent corresponderá a zabbix\_agentd.log).<br>
-   **regexp** - uma [expression](/manual/regular_expressions#overview) regular que descreve o padrão necessário.<br>
-   **encoding** - o [identifier](/manual/config/items/itemtypes/zabbix_agent#encoding-settings) da página de código.<br>
-   **maxproclines** - o número máximo de novas linhas por segundo que o agent analisará (não pode exceder 10000).
O valor padrão é 10\*'MaxLinesPerSecond' em [zabbix\_agentd.conf](/manual/appendix/config/zabbix_agentd).<br>
-   **mode** - valores possíveis: *all* (padrão) ou *skip* - ignorar o processamento de dados mais antigos (afeta apenas itens recém-criados).<br>
-   **maxdelay** - o atraso máximo em segundos.
Tipo: float.
Valores: 0 - (padrão) nunca ignorar linhas do arquivo de log; > 0.0 - ignorar linhas mais antigas para que as linhas mais recentes sejam analisadas dentro de "maxdelay" segundos.
Leia as observações sobre [maxdelay](log_items#using-maxdelay-parameter) antes de usá-lo!<br>
-   **options** - o tipo de rotação do arquivo de log e outras opções.
Valores possíveis:<br>*rotate* (padrão),<br>*copytruncate* - observe que *copytruncate* não pode ser usado junto com *maxdelay*.
Nesse caso, *maxdelay* deve ser 0 ou não especificado; veja as observações sobre [copytruncate](log_items#notes-on-handling-copytruncate-log-file-rotation),<br>*mtime-reread* - registros não exclusivos, reler se a hora de modificação ou o tamanho mudar (padrão),<br>*mtime-noreread* - registros não exclusivos, reler somente se o tamanho mudar (ignorar mudança na hora de modificação).<br>
-   **persistent dir** (somente no zabbix\_agentd em sistemas Unix; não suportado no Zabbix agent 2) - o caminho absoluto do diretório onde armazenar arquivos persistentes.
Veja também observações adicionais sobre [arquivos persistentes](log_items#notes-on-persistent-files-for-log-items).

Comentários:

-   O item deve ser configurado como uma [verificação ativa](/manual/appendix/items/activepassive#active-checks);
-   As linhas correspondentes são contadas entre as novas linhas desde a última verificação do log pelo agent e, portanto, dependem do intervalo de atualização do item;
-   A rotação de log é baseada na hora da última modificação dos arquivos;
-   No parâmetro `file regexp`, o caminho do diretório de log e a expressão regular do arquivo de log devem ser separados pelo separador de diretório correto:  
    - no Windows, o separador deve ser uma barra invertida (\\); barras normais podem ser aceitas em outras posições, exceto naquela que separa o caminho do diretório de log e a expressão regular do arquivo de log (veja os exemplos abaixo).
    - em outros sistemas, deve ser uma barra normal (/).

Exemplos para Windows:

```default
logrt.count["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #this item will count the number of matches for the pattern "pattern_to_match" in log files located in "c:/dir1/dir2/dir3".
logrt.count["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #this item will count the number of matches for the pattern "pattern_to_match" in log files on the network share "//example.com/share/dir1/dir2/dir3".
```

Exemplos para outros sistemas: 

```default
logrt.count["/home/zabbix/logs/.*","^logfile[0-9]{1,3}$",,100] #this item will count the number of matches for the pattern "^logfile[0-9]{1,3}$" in log files in the "/home/zabbix/logs" directory.
logrt.count["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #this item will count the number of occurrences of the pattern "pattern_to_match" in log files located in "/home/user".
```

[comment]: # ({/d5ad0a08-8ad8a2af})

[comment]: # ({d4ecaf54-518a2dd0})
##### modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>] {#modbus}

<br>
Lê dados Modbus.<br>
Valor de retorno: *objeto JSON*.<br>
[Plataformas suportadas](#supported-platforms): Linux, Windows.

Parâmetros:

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

No Windows, este item segue caminhos UNC no parâmetro **endpoint**, o que pode ser um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);

Veja uma [descrição detalhada](/manual/appendix/items/modbus) dos parâmetros.

[comment]: # ({/d4ecaf54-518a2dd0})

[comment]: # ({599b71f4-ba7da5e1})
##### net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>] {#net.dns}

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

Parâmetros:

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

Comentários:

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

Exemplos:

```default
net.dns[198.51.100.1,example.com,MX,2,1]

net.dns[,198.51.100.1,PTR]
net.dns[,1.100.51.198.in-addr.arpa,PTR]

net.dns[,2a00:1450:400f:800::200e,PTR]
net.dns[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
```

[comment]: # ({/599b71f4-ba7da5e1})

[comment]: # ({78b9fae7-ea9e0739})
##### net.dns.perf[<ip>,name,<type>,<timeout>,<count>,<protocol>] {#net.dns.perf}

<br>
Verifica o desempenho de um serviço DNS.<br>
Valor de retorno: *Float* (0 - serviço está inativo; segundos - o número de segundos gastos aguardando uma resposta do serviço).<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

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

Exemplos:

```default
net.dns.perf[198.51.100.1,example.com,MX,2,1]

net.dns.perf[,198.51.100.1,PTR]
net.dns.perf[,1.100.51.198.in-addr.arpa,PTR]

net.dns.perf[,2a00:1450:400f:800::200e,PTR]
net.dns.perf[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
```

[comment]: # ({/78b9fae7-ea9e0739})

[comment]: # ({86f73efb-d5dc268a})
##### net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>] {#net.dns.record}

<br>
Executa uma consulta DNS.<br>

O Zabbix agent 2 também fornece [net.dns.get](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2#net.dns.get), que oferece recursos adicionais, como mais tipos de registros e maior controle sobre o monitoramento de DNS.
Valor de retorno: uma string de caracteres com o tipo de informação solicitado.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

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

Exemplos:

```default
net.dns.record[198.51.100.1,example.com,MX,2,1]

net.dns.record[,198.51.100.1,PTR]
net.dns.record[,1.100.51.198.in-addr.arpa,PTR]

net.dns.record[,2a00:1450:400f:800::200e,PTR]
net.dns.record[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
```

[comment]: # ({/86f73efb-d5dc268a})

[comment]: # ({3bbd623d-1e07380f})
##### net.if.collisions[if] {#net.if.collisions}

<br>
O número de colisões fora da janela.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD.
Privilégios de root são necessários no NetBSD.

Parâmetro:

-   **if** - nome da interface de rede

[comment]: # ({/3bbd623d-1e07380f})

[comment]: # ({08eb686e-8911d171})
##### net.if.discovery {#net.if.discovery}

<br>
A lista de interfaces de rede.
Usado para descoberta de baixo nível.<br>
Valor de retorno: *objeto JSON*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows.

[comment]: # ({/08eb686e-8911d171})

[comment]: # ({abe11167-e53ce465})
##### net.if.in[if,<mode>] {#net.if.in}

<br>
As estatísticas de tráfego de entrada em uma interface de rede.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris^**[5](#footnotes)**^, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
Privilégios de root são necessários no NetBSD.

Parâmetros:

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

Comentários:

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

Exemplos:

```default
net.if.in[eth0]
net.if.in[eth0,errors]
```

[comment]: # ({/abe11167-e53ce465})

[comment]: # ({b622fbac-ab67e043})
##### net.if.out[if,<mode>] {#net.if.out}

<br>
As estatísticas de tráfego de saída em uma interface de rede.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris^**[5](#footnotes)**^, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
Privilégios de root são necessários no NetBSD.

Parâmetros:

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

Comentários:

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

Exemplos:

```default
net.if.out[eth0]
net.if.out[eth0,errors]
```

[comment]: # ({/b622fbac-ab67e043})

[comment]: # ({e1079e2c-3c96d291})
##### net.if.total[if,<mode>] {#net.if.total}

<br>
A soma das estatísticas de tráfego de entrada e saída em uma interface de rede.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris^**[5](#footnotes)**^, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
Privilégios de root são necessários no NetBSD.

Parâmetros:

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

Comentários:

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

Exemplos:

```default
net.if.total[eth0]
net.if.total[eth0,errors]
```

[comment]: # ({/e1079e2c-3c96d291})

[comment]: # ({2f569538-a72f9721})
##### net.tcp.listen[port] {#net.tcp.listen}

<br>
Verifica se esta porta TCP está no estado LISTEN.<br>
Valores de retorno: 0 - não está no estado LISTEN; 1 - está no estado LISTEN.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, MacOS X, Windows.

Parâmetro:

-   **port** - número da porta TCP

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

Exemplo:

```default
net.tcp.listen[80]
```

[comment]: # ({/2f569538-a72f9721})

[comment]: # ({40c963e3-000f516d})
##### net.tcp.port[<ip>,port] {#net.tcp.port}

<br>
Verifica se é possível fazer uma conexão TCP para a porta especificada.<br>
Valores de retorno: 0 - não é possível conectar; 1 - é possível conectar.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

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

Exemplo:

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

[comment]: # ({/40c963e3-000f516d})

[comment]: # ({b810edae-11ca536e})
##### net.tcp.service[service,<ip>,<port>] {#net.tcp.service}

<br>
Verifica se um serviço está em execução e aceitando conexões TCP.<br>
Valores de retorno: 0 - serviço está inativo; 1 - serviço está em execução.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

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

Exemplo:

```default
net.tcp.service[ftp,,45] #este item pode ser usado para testar a disponibilidade do servidor FTP na porta TCP 45
```

[comment]: # ({/b810edae-11ca536e})

[comment]: # ({4bb92b46-49a8f9ac})
##### net.tcp.service.perf[service,<ip>,<port>] {#net.tcp.service.perf}

<br>
Verifica o desempenho de um serviço TCP.<br>
Valores de retorno: *Float* (0 - serviço está inativo; segundos - o número de segundos gastos esperando por uma resposta do serviço).<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

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

Exemplo:

```default
net.tcp.service.perf[ssh] #este item pode ser usado para testar a velocidade da resposta inicial do servidor SSH
```

[comment]: # ({/4bb92b46-49a8f9ac})

[comment]: # ({ea50d3fb-29fba160})
##### net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>] {#net.tcp.socket.count}

<br>
Retorna o número de sockets TCP que correspondem aos parâmetros.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, Windows.

Parâmetros:

-   **laddr** - o endereço IPv4/6 local ou sub-rede CIDR;
-   **lport** - o número da porta local ou nome do serviço;
-   **raddr** - o endereço IPv4/6 remoto ou sub-rede CIDR;
-   **rport** - o número da porta remota ou nome do serviço;
-   **state** - o estado da conexão (*established*, *syn\_sent*, *syn\_recv*, *fin\_wait1*, *fin\_wait2*, *time\_wait*, *close*, *close\_wait*, *last\_ack*, *listen*, *closing*).

Exemplo:

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

[comment]: # ({/ea50d3fb-29fba160})

[comment]: # ({ae22cf5b-b9f198f7})
##### net.udp.listen[port] {#net.udp.listen}

<br>
Verifica se esta porta UDP está no estado LISTEN.<br>
Valores de retorno: 0 - não está no estado LISTEN; 1 - está no estado LISTEN.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, MacOS X.

Parâmetro:

-   **port** - número da porta UDP

Exemplo:

```default
net.udp.listen[68]
```

[comment]: # ({/ae22cf5b-b9f198f7})

[comment]: # ({c9e3662b-7c60892f})
##### net.udp.service[service,<ip>,<port>] {#net.udp.service}

<br>
Verifica se um serviço está em execução e respondendo a solicitações UDP.<br>
Valores de retorno: 0 - serviço está inativo; 1 - serviço está em execução.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

-   **service** - *ntp* (veja [detalhes](/manual/appendix/items/service_check_details));
-   **ip** - o endereço IP ou nome DNS (padrão é 127.0.0.1);
-   **port** - o número da porta (por padrão, o número da porta padrão do serviço é usado).

Exemplo:

```default
net.udp.service[ntp,,45] #este item pode ser usado para testar a disponibilidade do serviço NTP na porta UDP 45
```

[comment]: # ({/c9e3662b-7c60892f})

[comment]: # ({e00eff59-8697ef9c})
##### net.udp.service.perf[service,<ip>,<port>] {#net.udp.service.perf}

<br>
Verifica o desempenho de um serviço UDP.<br>
Valores de retorno: *Float* (0 - serviço está inativo; segundos - o número de segundos gastos aguardando uma resposta do serviço).<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

-   **service** - *ntp* (veja [detalhes](/manual/appendix/items/service_check_details));
-   **ip** - o endereço IP ou nome DNS (padrão é 127.0.0.1);
-   **port** - o número da porta (por padrão, o número da porta padrão do serviço é usado).

Exemplo:

```default
net.udp.service.perf[ntp] #este item pode ser usado para testar o tempo de resposta do serviço NTP
```

[comment]: # ({/e00eff59-8697ef9c})

[comment]: # ({a220d1e6-25a2206c})
##### net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>] {#net.udp.socket.count}

<br>
Retorna o número de sockets UDP que correspondem aos parâmetros.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, Windows.

Parâmetros:

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

Exemplo:

```default
net.udp.socket.count[,,,,established] #retorna o número de sockets UDP no estado conectado
```

[comment]: # ({/a220d1e6-25a2206c})

[comment]: # ({9ea97b28-4c3ddb55})
##### proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>] {#proc.cpu.util}

<br>
A porcentagem de utilização da CPU pelo processo.<br>
Valor de retorno: *Float*.<br>
[Plataformas suportadas](#supported-platforms): Linux, Solaris^**[6](#footnotes)**^.

Parâmetros:

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

Comentários:

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

Exemplos:

```default
proc.cpu.util[,root] #Utilização da CPU de todos os processos executados pelo usuário "root"
proc.cpu.util[zabbix_server,zabbix] #Utilização da CPU de todos os processos zabbix_server executados pelo usuário zabbix
```

[comment]: # ({/9ea97b28-4c3ddb55})

[comment]: # ({6aaa3575-02480d9a})
##### proc.get[<name>,<user>,<cmdline>,<mode>] {#proc.get}

<br>
A lista de processos do SO e seus parâmetros.
Pode ser usado para descoberta de baixo nível.<br>
Valor de retorno: *objeto JSON*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Windows, OpenBSD, NetBSD.

Parâmetros:

-   **name** - o nome do processo (padrão *todos os processos*);
-   **user** - o nome do usuário (padrão *todos os usuários*);
-   **cmdline** - filtro pela linha de comando (é uma [expressão regular](/manual/regular_expressions#overview)).
Este parâmetro não é suportado para Windows; em outras plataformas não é suportado se o modo estiver definido como 'summary'.
-   **mode** - valores possíveis:<br>*process* (padrão), *thread* (não suportado para NetBSD), *summary*.
Veja uma lista de [parâmetros de processo](/manual/appendix/items/proc_get) retornados para cada modo e SO.

Comentários:

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

Exemplos:

```default
proc.get[zabbix_server,zabbix,,process] #lista de todos os processos zabbix_server executados pelo usuário zabbix, retorna uma entrada por PID
proc.get[java,,,thread] #lista de todos os processos Java, retorna uma entrada por thread
proc.get[,zabbix,,summary] #dados combinados para processos de cada tipo executados pelo usuário zabbix, retorna uma entrada por nome de processo
```

[comment]: # ({/6aaa3575-02480d9a})

[comment]: # ({00ea1ea2-d3e42b1a})
##### proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>] {#proc.mem}

<br>
A memória usada pelo processo em bytes.<br>
Valor de retorno: *Integer* - com `mode` como *max*, *min*, *sum*; *Float* - com `mode` como *avg*<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

Parâmetros:

-   **name** - o nome do processo (o padrão é *todos os processos*);
-   **user** - o nome do usuário (o padrão é *todos os usuários*);
-   **mode** - valores possíveis: *avg*, *max*, *min* ou *sum* (padrão);
-   **cmdline** - filtra pela linha de comando (é uma [expressão regular](/manual/regular_expressions#overview));
-   **memtype** - o [tipo de memória](/manual/appendix/items/proc_mem_notes) usada pelo processo

Comentários:

-   O parâmetro `memtype` é suportado apenas em Linux, FreeBSD, Solaris^**[6](#footnotes)**^, AIX;
-   Quando vários processos usam memória compartilhada, a soma da memória usada pelos processos pode resultar em valores grandes e irreais.<br><br>Veja [notas](/manual/appendix/items/proc_mem_num_notes) sobre seleção de processos com os parâmetros `name` e `cmdline` (específico do Linux).<br><br>Quando este item é invocado a partir da linha de comando e contém um parâmetro de linha de comando (por exemplo, usando o modo de teste do agent: `zabbix_agentd -t proc.mem[,,,apache2]`), um processo extra será contado, pois o agent contará a si mesmo.

Exemplos:

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

[comment]: # ({/00ea1ea2-d3e42b1a})

[comment]: # ({5f0c2dc1-8e6bf30e})
##### proc.num[<name>,<user>,<state>,<cmdline>,<zone>] {#proc.num}

<br>
O número de processos.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris^**[6](#footnotes)**^, HP-UX, AIX, OpenBSD, NetBSD, Windows.

Parâmetros:

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

Comentários:

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

Exemplos:

```default
proc.num[,mysql] #o número de processos em execução sob o usuário mysql
proc.num[apache2,www-data] #o número de processos apache2 em execução sob o usuário www-data
proc.num[,oracle,sleep,oracleZABBIX] #o número de processos em estado de sono em execução sob o Oracle com oracleZABBIX em sua linha de comando
```

[comment]: # ({/5f0c2dc1-8e6bf30e})

[comment]: # ({7a39c690-7cdd8214})
##### sensor[device,sensor,<mode>] {#sensor}

<br>
Leitura do sensor de hardware.<br>
Valor retornado: *Float*.<br>
[Plataformas suportadas](#supported-platforms): Linux, OpenBSD.

Parâmetros:

-   **device** - o nome do dispositivo;
-   **sensor** - o nome do sensor;
-   **mode** - valores possíveis: *avg*, *max* ou *min*.

Comentários:

-   Lê /proc/sys/dev/sensors no Linux 2.4;
-   Lê /sys/class/hwmon no Linux 2.6+.
Veja uma descrição mais detalhada do item [sensor](/manual/appendix/items/sensor) no Linux;
-   Lê o MIB *hw.sensors* no OpenBSD;
-   No Linux 2.4, se você especificar mode, então device e sensor são tratados como expressões regulares;  
-   No Linux 2.6+ e OpenBSD, ou se mode for omitido, device e sensor são tratados literalmente.

Exemplos:

```default
sensor[w83781d-i2c-0-2d,temp1]
sensor[cpu0,temp0] #the temperature of one CPU
sensor["cpu[0-2]$",temp,avg] #the average temperature of the first three CPUs
```

[comment]: # ({/7a39c690-7cdd8214})

[comment]: # ({e9d6ac0b-f46449fd})
##### system.boottime {#system.boottime}

<br>
O tempo de inicialização do sistema.<br>
Valor de retorno: *Inteiro (timestamp Unix)*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.

[comment]: # ({/e9d6ac0b-f46449fd})

[comment]: # ({fbfe668c-b01f71c5})
##### system.cpu.discovery {#system.cpu.discovery}

<br>
A lista de CPUs/núcleos de CPU detectados.
Usado para descoberta de baixo nível.<br>
Valor de retorno: *objeto JSON*.<br>
Veja [plataformas suportadas](#supported-platforms).

[comment]: # ({/fbfe668c-b01f71c5})

[comment]: # ({10a8dca8-956c4ef9})
##### system.cpu.intr {#system.cpu.intr}

<br>
As interrupções do dispositivo.<br>
Valor de retorno: *Inteiro*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

[comment]: # ({/10a8dca8-956c4ef9})

[comment]: # ({6c32a6cf-c8c74d92})
##### system.cpu.load[<cpu>,<mode>] {#system.cpu.load}

<br>
A [carga da CPU](http://en.wikipedia.org/wiki/Load_(computing)).<br>
Valor de retorno: *Float*.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Exemplo:

```default
system.cpu.load[,avg5]
```

[comment]: # ({/6c32a6cf-c8c74d92})

[comment]: # ({86d05d2e-e110ddf9})
##### system.cpu.num[<type>] {#system.cpu.num}

<br>
O número de CPUs.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

Parâmetro:

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

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

Exemplo:

```default
system.cpu.num
```

[comment]: # ({/86d05d2e-e110ddf9})

[comment]: # ({43d94c7f-addfe1ba})
##### system.cpu.switches {#system.cpu.switches}

<br>
A contagem de trocas de contexto.<br>
Valor de retorno: *Inteiro*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

[comment]: # ({/43d94c7f-addfe1ba})

[comment]: # ({85535844-d1abd90a})
##### system.cpu.util[<cpu>,<type>,<mode>,<logical or physical>] {#system.cpu.util}

<br>
A porcentagem de utilização da CPU.<br>
Valor de retorno: *Float*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows.

Parâmetros:

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

Comentários:

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

Exemplo:

```default
system.cpu.util[0,user,avg5]
```

[comment]: # ({/85535844-d1abd90a})

[comment]: # ({da2f7667-05f3200c})
##### system.hostname[<type>,<transform>] {#system.hostname}

<br>
O nome do host do sistema.<br>
Valor de retorno: *String*.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetros:

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

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

Exemplos de valores retornados:

```default
system.hostname → linux-w7x1
system.hostname → example.com
system.hostname[shorthost] → example
system.hostname → WIN-SERV2008-I6
system.hostname[host] → Win-Serv2008-I6LonG
system.hostname[host,lower] → win-serv2008-i6long
system.hostname[fqdn,lower] → blog.zabbix.com
```

[comment]: # ({/da2f7667-05f3200c})

[comment]: # ({829bfadb-d14d8400})
##### system.hw.chassis[<info>] {#system.hw.chassis}

<br>
Informação do chassi.<br>
Valor de retorno: *String*.<br>
[Plataformas suportadas](#supported-platforms): Linux.

Parâmetro:

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

Comentários:

-   Esta chave de item depende da disponibilidade da tabela [SMBIOS](http://en.wikipedia.org/wiki/System_Management_BIOS);
-   Tentará ler a tabela DMI do sysfs, se o acesso ao sysfs falhar, tentará ler diretamente da memória;
-   **Permissões de root** são necessárias porque o valor é obtido lendo do sysfs ou da memória.

Exemplo:

```default
system.hw.chassis[full] → Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop
```

[comment]: # ({/829bfadb-d14d8400})

[comment]: # ({359280f5-33f13e22})
##### system.hw.cpu[<cpu>,<info>] {#system.hw.cpu}

<br>
Informações da CPU.<br>
Valor de retorno: *String* ou *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux.

Parâmetros:

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

Comentários:

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

Exemplo:

```default
system.hw.cpu[0,vendor] → AuthenticAMD
```

[comment]: # ({/359280f5-33f13e22})

[comment]: # ({82b6b82e-87688787})
##### system.hw.devices[<type>] {#system.hw.devices}

<br>
A listagem de dispositivos PCI ou USB.<br>
Valor de retorno: *Texto*.<br>
[Plataformas suportadas](#supported-platforms): Linux.

Parâmetro:

-   **type** - *pci* (padrão) ou *usb*

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

Exemplo:

```default
system.hw.devices → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
```

[comment]: # ({/82b6b82e-87688787})

[comment]: # ({e398211b-ee01b8b4})
##### system.hw.macaddr[<interface>,<format>] {#system.hw.macaddr}

<br>
A listagem dos endereços MAC.<br>
Valor de retorno: *String*.<br>
[Plataformas suportadas](#supported-platforms): Linux.

Parâmetros:

-   **interface** - *all* (padrão) ou uma [expressão](/manual/regular_expressions#overview) regular;
-   **format** - *full* (padrão) ou *short*

Comentários:

-   Lista os endereços MAC das interfaces cujo nome corresponde à [expressão](/manual/regular_expressions#overview) regular `interface` fornecida (*all* lista para todas as interfaces);
-   Se `format` for especificado como *short*, nomes de interface e endereços MAC idênticos não são listados.

Exemplo:

```default
system.hw.macaddr["eth0$",full] → [eth0] 00:11:22:33:44:55
```

[comment]: # ({/e398211b-ee01b8b4})

[comment]: # ({a6bc1582-1729b15d})
##### system.localtime[<type>] {#system.localtime}

<br>
A hora do sistema.<br>
Valor retornado: *Integer* - com `type` como *utc*; *String* - com `type` como *local*.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Deve ser usado como uma [verificação passiva](/manual/appendix/items/activepassive#passive-checks) para o Zabbix agent; no Zabbix agent 2, também pode ser configurado como uma verificação ativa.

Exemplo:

```default
system.localtime[local] #crie um item usando esta chave e depois use-o para exibir a hora do host no widget de painel *Clock*.
```

[comment]: # ({/a6bc1582-1729b15d})

[comment]: # ({84cbfb96-806250ba})
##### system.run[command,<mode>] {#system.run}

<br>
Executa o comando especificado no host.<br>
Valor de retorno: resultado *Texto* do comando ou 1 - com `mode` como *nowait* (independentemente do resultado do comando).<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

-   **command** - comando para execução;<br>
-   **mode** - valores possíveis: *wait* - aguarda o fim da execução (padrão) ou *nowait* - não aguarda.

Comentários:

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

Exemplo:

```default
system.run[ls -l /] #retorna uma lista detalhada de arquivos do diretório raiz
```

[comment]: # ({/84cbfb96-806250ba})

[comment]: # ({1ab49bd1-ed8aa2a2})
##### system.stat[resource,<type>] {#system.stat}

<br>
As estatísticas do sistema.<br>
Valor de retorno: *Integer* ou *float*.<br>
[Plataformas suportadas](#supported-platforms): AIX.

Parâmetros:

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

Comentários:

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

[comment]: # ({/1ab49bd1-ed8aa2a2})

[comment]: # ({a425b76d-087e6420})
##### system.sw.arch {#system.sw.arch}

<br>
A informação da arquitetura do software.<br>
Valor de retorno: *String*.<br>
Veja [plataformas suportadas](#supported-platforms).

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

Exemplo:

```default
system.sw.arch → i686
```

[comment]: # ({/a425b76d-087e6420})

[comment]: # ({49a57063-ed818157})
##### system.sw.os[<info>] {#system.sw.os}

<br>
Informação do sistema operacional.<br>
Valor de retorno: *String*.<br>
[Plataformas suportadas](#supported-platforms): Linux, Windows.

Parâmetro:

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

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

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

Exemplos:

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

[comment]: # ({/49a57063-ed818157})

[comment]: # ({e125942e-38e87471})
##### system.sw.os.get {#system.sw.os.get}

<br>
Informações detalhadas sobre o sistema operacional (versão, tipo, nome da distribuição, versão secundária e principal, etc).<br>
Valor de retorno: *objeto JSON*.<br>
[Plataformas suportadas](#supported-platforms): Linux, Windows.

[comment]: # ({/e125942e-38e87471})

[comment]: # ({594444c2-bc2ee313})
##### system.sw.packages[<regexp>,<manager>,<format>] {#system.sw.packages}

<br>
A listagem dos pacotes instalados.<br>
Valor de retorno: *Texto*.<br>
[Plataformas suportadas](#supported-platforms): Linux.

Parâmetros:

-   **regexp** - *all* (padrão) ou uma [expressão regular](/manual/regular_expressions#overview);
-   **manager** - *all* (padrão) ou um gerenciador de pacotes;
-   **format** - *full* (padrão) ou *short*.

Comentários:

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

Exemplo:

```default
system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal
```

[comment]: # ({/594444c2-bc2ee313})

[comment]: # ({f596138e-43f5d666})
##### system.sw.packages.get[<regexp>,<manager>] {#system.sw.packages.get}

<br>
Uma listagem detalhada dos pacotes instalados.<br>
Valor de retorno: *objeto JSON*.<br>
[Plataformas suportadas](#supported-platforms): Linux.

Parâmetros:

-   **regexp** - *all* (padrão) ou uma [expressão regular](/manual/regular_expressions#overview);
-   **manager** - *all* (padrão) ou um gerenciador de pacotes (valores possíveis: *rpm*, *dpkg*, *pkgtool*, *pacman* ou *portage*).

Comentários:

-   Retorna um JSON não formatado com os pacotes instalados cujo nome corresponde à expressão regular fornecida;
-   A saída é um array de objetos, cada um contendo as seguintes chaves: name, manager, version, size, architecture, buildtime e installtime (veja [mais detalhes](/manual/appendix/items/return_values_system_sw_packages_get)).

[comment]: # ({/f596138e-43f5d666})

[comment]: # ({640e6b41-b0c4a5e8})
##### system.swap.in[<device>,<type>] {#system.swap.in}

<br>
As estatísticas de swap-in (do dispositivo para a memória).<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, OpenBSD.

Parâmetros:

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

Comentários:

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

Exemplo:

```default
system.swap.in[,pages]
```

[comment]: # ({/640e6b41-b0c4a5e8})

[comment]: # ({bc3b1823-6cc86983})
##### system.swap.out[<device>,<type>] {#system.swap.out}

<br>
As estatísticas de swap-out (da memória para o dispositivo).<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, OpenBSD.

Parâmetros:

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

Comentários:

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

Exemplo:

```default
system.swap.out[,pages]
```

[comment]: # ({/bc3b1823-6cc86983})

[comment]: # ({89e3a043-5815bd72})
##### system.swap.size[<device>,<type>] {#system.swap.size}

<br>
O tamanho do espaço de swap em bytes ou em porcentagem do total.<br>
Valor de retorno: *Integer* - para bytes; *Float* - para porcentagem.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, AIX, OpenBSD, Windows.

Parâmetros:

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

Comentários:

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

Exemplo:

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

[comment]: # ({/89e3a043-5815bd72})

[comment]: # ({cb1e7147-6ceb79d2})
##### system.uname {#system.uname}

<br>
Identificação do sistema.<br>
Valor de retorno: *String*.<br>
Veja [plataformas suportadas](#supported-platforms).

Comentários:

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

Exemplos:

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

[comment]: # ({/cb1e7147-6ceb79d2})

[comment]: # ({5ebb3397-545f6370})
##### system.uptime {#system.uptime}

<br>
O tempo de atividade do sistema em segundos.<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD, Windows.

Na [configuração do item](/manual/config/items/item#configuration), use as unidades **s** ou **uptime** para obter valores legíveis.

[comment]: # ({/5ebb3397-545f6370})

[comment]: # ({18cfe8a9-c03c81d9})
##### system.users.num {#system.users.num}

<br>
O número de usuários conectados.<br>
Valor de retorno: *Integer*.<br>
Veja as [plataformas suportadas](#supported-platforms).

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

[comment]: # ({/18cfe8a9-c03c81d9})

[comment]: # ({e3b2cdd5-48d7b263})
##### vfs.dev.discovery {#vfs.dev.discovery}

<br>
A lista de dispositivos de bloco e seus tipos.
Usado para descoberta de baixo nível.<br>
Valor de retorno: *objeto JSON*.<br>
[Plataformas suportadas](#supported-platforms): Linux.

[comment]: # ({/e3b2cdd5-48d7b263})

[comment]: # ({5a5cba69-bde9774e})
##### vfs.dev.read[<device>,<type>,<mode>] {#vfs.dev.read}

<br>
As estatísticas de leitura do disco.<br>
Valor de retorno: *Integer* - com `type` em *sectors*, *operations*, *bytes*; *Float* - com `type` em *sps*, *ops*, *bps*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, AIX, OpenBSD.

Parâmetros:

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

Comentários:

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

Exemplo:

```default
vfs.dev.read[,operations]
```

[comment]: # ({/5a5cba69-bde9774e})

[comment]: # ({ef4aa6f7-beef0883})
##### vfs.dev.write[<device>,<type>,<mode>] {#vfs.dev.write}

<br>
As estatísticas de escrita em disco.<br>
Valor de retorno: *Integer* - com `type` em *sectors*, *operations*, *bytes*; *Float* - com `type` em *sps*, *ops*, *bps*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, AIX, OpenBSD.

Parâmetros:

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

Comentários:

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

Exemplo:

```default
vfs.dev.write[,operations]
```

[comment]: # ({/ef4aa6f7-beef0883})

[comment]: # ({8abe9d9f-a28e06f9})
##### 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>] {#vfs.dir.count}

<br>
A contagem de entradas do diretório.<br>
Valor retornado: *Integer*.<br>
Consulte [plataformas suportadas](#supported-platforms).

Parâmetros:

-   **dir** - o caminho absoluto para o diretório;
-   **regex incl** - uma [expressão](/manual/regular_expressions#overview) regular que descreve o padrão de nome da entidade (arquivo, diretório, link simbólico) a ser incluída; inclui todas se estiver vazio (valor padrão);
-   **regex excl** - uma [expressão](/manual/regular_expressions#overview) regular que descreve o padrão de nome da entidade (arquivo, diretório, link simbólico) a ser excluída; não exclui nenhuma se estiver vazio (valor padrão);
-   **types incl** - tipos de entradas de diretório a serem contadas, valores possíveis: *file* - arquivo regular, *dir* - subdiretório, *sym* - link simbólico, *sock* - socket, *bdev* - dispositivo de bloco, *cdev* - dispositivo de caractere, *fifo* - FIFO, *dev* - sinônimo de "bdev,cdev", *all* - todos os tipos (padrão), ou seja, "file,dir,sym,sock,bdev,cdev,fifo".
Múltiplos tipos devem ser separados por vírgula e colocados entre aspas.
-   **types excl** - tipos de entradas de diretório (consulte `types incl`) a NÃO serem contadas.
Se algum tipo de entrada estiver em ambos `types incl` e `types excl`, as entradas de diretório desse tipo NÃO serão contadas.
-   **max depth** - a profundidade máxima de subdiretórios a percorrer:<br>**-1** (padrão) - ilimitada,<br>**0** - sem descer para subdiretórios.
-   **min size** - o tamanho mínimo (em bytes) para que o arquivo seja contado.
Arquivos menores não serão contados.
[Sufixos de memória](/manual/appendix/suffixes#memory-size-suffixes) podem ser usados.
-   **max size** - o tamanho máximo (em bytes) para que o arquivo seja contado.
Arquivos maiores não serão contados.
[Sufixos de memória](/manual/appendix/suffixes#memory-size-suffixes) podem ser usados.
-   **min age** - a idade mínima (em segundos) da entrada de diretório para ser contada.
Entradas mais recentes não serão contadas.
[Sufixos de tempo](/manual/appendix/suffixes#time-suffixes) podem ser usados.
-   **max age** - a idade máxima (em segundos) da entrada de diretório para ser contada.
Entradas com essa idade ou mais antigas não serão contadas (hora de modificação).
[Sufixos de tempo](/manual/appendix/suffixes#time-suffixes) podem ser usados.
-   **regex excl dir** - uma [expressão](/manual/regular_expressions#overview) regular que descreve o padrão de nome do diretório a ser excluído.
Todo o conteúdo do diretório será excluído (em contraste com regex\_excl)

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode representar um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   Variáveis de ambiente, por exemplo %APP_HOME%, $HOME e %TEMP%, não são suportadas;
-   Os pseudodiretórios "." e ".." nunca são contados;
-   Links simbólicos nunca são seguidos ao percorrer diretórios;
-   Tanto `regex incl` quanto `regex excl` são aplicados a arquivos e diretórios ao calcular a contagem de entradas, mas são ignorados ao selecionar subdiretórios para percorrer (se `regex incl` for "(?i)\^.+\\.zip$" e `max depth` não estiver definido, então todos os subdiretórios serão percorridos, mas somente os arquivos do tipo zip serão contados).
-   O tempo de execução é limitado pelo valor de timeout na [configuração](/manual/appendix/config/zabbix_agentd#timeout) do agent (3 s).
Como a varredura de diretórios grandes pode levar mais tempo do que isso, nenhum dado será retornado e o item se tornará não suportado.
A contagem parcial não será retornada.
-   Ao filtrar por tamanho, somente arquivos regulares têm tamanhos significativos.
No Linux e BSD, diretórios também têm tamanhos diferentes de zero (normalmente alguns Kb).
Dispositivos têm tamanho zero; por exemplo, o tamanho de **/dev/sda1** não reflete o tamanho da respectiva partição.
Portanto, ao usar `<min_size>` e `<max_size>`, é recomendável especificar `<types_incl>` como "*file*", para evitar surpresas.

Exemplos:

```default
vfs.dir.count[/dev] #monitora o número de dispositivos em /dev (Linux)
vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] #monitora o número de arquivos em um diretório temporário
```

[comment]: # ({/8abe9d9f-a28e06f9})

[comment]: # ({82ed1999-4a354b20})
##### 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>] {#vfs.dir.get}

<br>
A lista de entradas do diretório.<br>
Valor de retorno: *objeto JSON*.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetros:

-   **dir** - o caminho absoluto para o diretório;
-   **regex incl** - uma [expressão](/manual/regular_expressions#overview) regular que descreve o padrão de nome da entidade (arquivo, diretório, link simbólico) a incluir; inclui tudo se estiver vazio (valor padrão);
-   **regex excl** - uma [expressão](/manual/regular_expressions#overview) regular que descreve o padrão de nome da entidade (arquivo, diretório, link simbólico) a excluir; não exclui nada se estiver vazio (valor padrão);
-   **types incl** - tipos de entradas de diretório a listar, valores possíveis: *file* - arquivo regular, *dir* - subdiretório, *sym* - link simbólico, *sock* - socket, *bdev* - dispositivo de bloco, *cdev* - dispositivo de caractere, *fifo* - FIFO, *dev* - sinônimo de "bdev,cdev", *all* - todos os tipos (padrão), ou seja, "file,dir,sym,sock,bdev,cdev,fifo".
Múltiplos tipos devem ser separados por vírgula e colocados entre aspas.
-   **types excl** - tipos de entradas de diretório (consulte `types incl`) a NÃO listar.
Se algum tipo de entrada estiver em ambos `types incl` e `types excl`, as entradas de diretório desse tipo NÃO serão listadas.
-   **max depth** - a profundidade máxima de subdiretórios a percorrer:<br>**-1** (padrão) - ilimitada,<br>**0** - sem descer para subdiretórios.
-   **min size** - o tamanho mínimo (em bytes) para que o arquivo seja listado.
Arquivos menores não serão listados.
[Sufixos de memória](/manual/appendix/suffixes#memory-size-suffixes) podem ser usados.
-   **max size** - o tamanho máximo (em bytes) para que o arquivo seja listado.
Arquivos maiores não serão listados.
[Sufixos de memória](/manual/appendix/suffixes#memory-size-suffixes) podem ser usados.
-   **min age** - a idade mínima (em segundos) da entrada de diretório para ser listada.
Entradas mais recentes não serão listadas.
[Sufixos de tempo](/manual/appendix/suffixes#time-suffixes) podem ser usados.
-   **max age** - a idade máxima (em segundos) da entrada de diretório para ser listada.
Entradas com essa idade ou mais antigas não serão listadas (hora de modificação).
[Sufixos de tempo](/manual/appendix/suffixes#time-suffixes) podem ser usados.
-   **regex excl dir** - uma [expressão](/manual/regular_expressions#overview) regular que descreve o padrão de nome do diretório a excluir.
Todo o conteúdo do diretório será excluído (em contraste com `regex excl`)

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode representar um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   Variáveis de ambiente, por exemplo %APP_HOME%, $HOME e %TEMP%, não são suportadas;
-   Os pseudodiretórios "." e ".." nunca são listados;
-   Links simbólicos nunca são seguidos durante a travessia de diretórios;
-   Tanto `regex incl` quanto `regex excl` são aplicados a arquivos e diretórios ao gerar a lista de entradas, mas são ignorados ao selecionar subdiretórios para percorrer (se `regex incl` for "(?i)\^.+\\.zip$" e `max depth` não estiver definido, então todos os subdiretórios serão percorridos, mas somente os arquivos do tipo zip serão contados).
-   O tempo de execução é limitado pelo valor de timeout na [configuração](/manual/appendix/config/zabbix_agentd#timeout) do agent.
Como a travessia de diretórios grandes pode levar mais tempo do que isso, nenhum dado será retornado e o item se tornará não suportado.
Uma lista parcial não será retornada.
-   Ao filtrar por tamanho, somente arquivos regulares têm tamanhos significativos.
No Linux e BSD, diretórios também têm tamanhos diferentes de zero (normalmente alguns KB).
Dispositivos têm tamanho zero; por exemplo, o tamanho de **/dev/sda1** não reflete o tamanho da respectiva partição.
Portanto, ao usar `min size` e `max size`, é recomendável especificar `types incl` como "*file*", para evitar surpresas.

Exemplos:

```default
vfs.dir.get[/dev] #recupera a lista de dispositivos em /dev (Linux)
vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] #recupera a lista de arquivos em um diretório temporário
```

[comment]: # ({/82ed1999-4a354b20})

[comment]: # ({8ac8c233-c1571da2})
##### vfs.dir.size[dir,<regex incl>,<regex excl>,<mode>,<max depth>,<regex excl dir>] {#vfs.dir.size}

<br>
O tamanho do diretório (em bytes).<br>
Valor de retorno: *Integer*.<br>
[Plataformas suportadas](#supported-platforms): Linux, Windows.
O item pode funcionar em outras plataformas do tipo UNIX.

Parâmetros:

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

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode ser um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   Apenas diretórios com pelo menos permissão de leitura para o usuário *zabbix* são calculados.
Para diretórios apenas com permissão de leitura, o tamanho do próprio diretório é calculado.
Diretórios com permissões de leitura e execução são calculados incluindo o conteúdo.
-   Com diretórios grandes ou discos lentos, este item pode atingir o tempo limite devido à configuração Timeout nos arquivos de configuração do [agent](/manual/appendix/config/zabbix_agentd) e do [server](/manual/appendix/config/zabbix_server)/[proxy](/manual/appendix/config/zabbix_proxy).
Aumente os valores de timeout conforme necessário.
-   O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).

Exemplos:

```default
vfs.dir.size[/tmp,log] #calcula o tamanho de todos os arquivos em /tmp que contenham 'log' em seus nomes
vfs.dir.size[/tmp,log,^.+\.old$] #calcula o tamanho de todos os arquivos em /tmp que contenham 'log' em seus nomes, excluindo arquivos com nomes terminados em '.old'
```

[comment]: # ({/8ac8c233-c1571da2})

[comment]: # ({50995de0-44cb41f6})
##### vfs.file.cksum[file,<mode>] {#vfs.file.cksum}

<br>
O checksum do arquivo, calculado pelo algoritmo UNIX cksum.<br>
Valor de retorno: *Integer* - com `mode` como *crc32*, *String* - com `mode` como *md5*, *sha256*.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode ser um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).

Exemplo:

```default
vfs.file.cksum[/etc/passwd]
```

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

```default
675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
```

[comment]: # ({/50995de0-44cb41f6})

[comment]: # ({c426ad8f-0f4f51a1})
##### vfs.file.contents[file,<encoding>] {#vfs.file.contents}

<br>
Recupera o conteúdo de um arquivo^**[7](#footnotes)**^.<br>
Valor retornado: *Texto*.<br>
Consulte as [plataformas suportadas](#supported-platforms).

Parâmetros:

-   **file** - o caminho completo para o arquivo;
-   **encoding** - o identificador da página de código [identifier](/manual/config/items/itemtypes/zabbix_agent#encoding-settings).

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode representar um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   O valor retornado é limitado a 16 MB (incluindo espaços em branco à direita que são truncados); os [limites do banco de dados](/manual/config/items/item#text-data-limits) também se aplicam;
-   Uma string vazia é retornada se o arquivo estiver vazio ou contiver apenas caracteres LF/CR;
-   A marca de ordem de bytes (BOM) é excluída da saída.

Exemplo:

```default
vfs.file.contents[/etc/passwd]
```

[comment]: # ({/c426ad8f-0f4f51a1})

[comment]: # ({f808b303-cb77c4fb})
##### vfs.file.exists[file,<types incl>,<types excl>] {#vfs.file.exists}

<br>
Verifica se o arquivo existe.<br>
Valor de retorno: 0 - não encontrado; 1 - arquivo do tipo especificado existe.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode ser um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   Vários tipos devem ser separados por vírgula e todo o conjunto entre aspas "";
-   Se o mesmo tipo estiver em <types_incl> e <types_excl>, arquivos desse tipo serão excluídos;
-   O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).

Exemplos:

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

[comment]: # ({/f808b303-cb77c4fb})

[comment]: # ({d7e06106-12c8307e})
##### vfs.file.get[file] {#vfs.file.get}

<br>
Retorna informações sobre um arquivo.<br>
Valor de retorno: *objeto JSON*.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetro:

-   **file** - o caminho completo para o arquivo

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode ser um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   Tipos de arquivos suportados em sistemas UNIX-like: arquivo regular, diretório, link simbólico, socket, bloco de dispositivo, dispositivo de caractere, FIFO.
-   O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).

Exemplo:

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

[comment]: # ({/d7e06106-12c8307e})

[comment]: # ({ede72ea9-731f3af2})
##### vfs.file.md5sum[file] {#vfs.file.md5sum}

<br>
O checksum MD5 do arquivo.<br>
Valor de retorno: String de caracteres (hash MD5 do arquivo).<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetro:

-   **file** - o caminho completo para o arquivo

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode ser um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).

Exemplo:

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

Exemplo de valor retornado:

```default
b5052decb577e0fffd622d6ddc017e82
```

[comment]: # ({/ede72ea9-731f3af2})

[comment]: # ({995cbe7a-c191e68e})
##### vfs.file.owner[file,<ownertype>,<resulttype>] {#vfs.file.owner}

<br>
Recupera o proprietário de um arquivo.<br>
Valor de retorno: *String*.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode ser um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).

Exemplos:

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

[comment]: # ({/995cbe7a-c191e68e})

[comment]: # ({630f07da-781f8e91})
##### vfs.file.permissions[file] {#vfs.file.permissions}

<br>
Retorna uma string de 4 dígitos contendo o número octal com as permissões UNIX.<br>
Valor de retorno: *String*.<br>
[Plataformas suportadas](#supported-platforms): Linux.
O item pode funcionar em outras plataformas do tipo UNIX.

Parâmetros:

-   **file** - o caminho completo para o arquivo

O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).

Exemplo:

```default
vfs.file.permissions[/etc/passwd] #retorna as permissões de /etc/passwd, por exemplo, '0644'
```

[comment]: # ({/630f07da-781f8e91})

[comment]: # ({6fb64cef-679ce640})
##### vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>] {#vfs.file.regexp}

<br>
Recupera uma string no arquivo^**[7](#footnotes)**^.<br>
Valor retornado: a linha que contém a string correspondente ou conforme especificado pelo parâmetro opcional `output`.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode representar um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).
-   Apenas a primeira linha correspondente é retornada;
-   Uma string vazia é retornada se nenhuma linha corresponder à expressão;
-   A marca de ordem de bytes (BOM) é excluída da saída;
-   A extração de conteúdo usando o parâmetro `output` ocorre no agent.

Exemplos:

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

[comment]: # ({/6fb64cef-679ce640})

[comment]: # ({3ce8c47b-5216f821})
##### vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>] {#vfs.file.regmatch}

<br>
Encontre uma string no arquivo^**[7](#footnotes)**^.<br>
Valores retornados: 0 - correspondência não encontrada; 1 - encontrada.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetros:

-   **file** - o caminho completo para o arquivo;
-   **regexp** - uma [expressão](/manual/regular_expressions#overview) regular que descreve o padrão necessário;
-   **encoding** - o [identificador](/manual/config/items/itemtypes/zabbix_agent#encoding-settings) da página de código;
-   **start line** - o número da primeira linha a ser pesquisada (a primeira linha do arquivo por padrão);
-   **end line** - o número da última linha a ser pesquisada (a última linha do arquivo por padrão).

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode representar um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).
-   A marca de ordem de bytes (BOM) é ignorada.

Exemplo:

```default
vfs.file.regmatch[/var/log/app.log,error]
```

[comment]: # ({/3ce8c47b-5216f821})

[comment]: # ({3a0726ba-705b33c8})
##### vfs.file.size[file,<mode>] {#vfs.file.size}

<br>
O tamanho do arquivo (em bytes).<br>
Valor de retorno: *Integer*.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode ser um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   O arquivo deve ter permissões de leitura para o usuário *zabbix*;
-   O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).

Exemplo:

```default
vfs.file.size[/var/log/syslog]
```

[comment]: # ({/3a0726ba-705b33c8})

[comment]: # ({24c104b4-d590c33f})
##### vfs.file.time[file,<mode>] {#vfs.file.time}

<br>
A informação de tempo do arquivo.<br>
Valor de retorno: *Integer* (timestamp Unix).<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

-   No Windows, este item segue caminhos UNC, o que pode ser um [risco de segurança](/manual/best_practices/security/access_control#unc-path-access-on-windows-by-zabbix-agent);
-   O limite de tamanho do arquivo depende do [suporte a arquivos grandes](/manual/appendix/items/large_file_support).

Exemplo:

```default
vfs.file.time[/etc/passwd,modify]
```

[comment]: # ({/24c104b4-d590c33f})

[comment]: # ({96a8d12e-5c6f1f9c})
##### vfs.fs.discovery {#vfs.fs.discovery}

<br>
A lista de sistemas de arquivos montados com seu tipo e opções de montagem.
Usado para descoberta de baixo nível.<br>
Valor de retorno: *objeto JSON*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

[comment]: # ({/96a8d12e-5c6f1f9c})

[comment]: # ({9a40552f-dee74854})
##### vfs.fs.get {#vfs.fs.get}

<br>
A lista de sistemas de arquivos montados com seu tipo, espaço em disco disponível, estatísticas de inode e opções de montagem.
Pode ser usado para descoberta de baixo nível.<br>
Valor de retorno: *objeto JSON*.<br>
[Plataformas suportadas](#supported-platforms): Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

Comentários:

-   Sistemas de arquivos com contagem de inodes igual a zero, o que pode ocorrer em sistemas de arquivos com inodes dinâmicos (por exemplo, btrfs), também são relatados;
-   Veja também: [Descoberta de sistemas de arquivos montados](/manual/discovery/low_level_discovery/examples/mounted_filesystems).

[comment]: # ({/9a40552f-dee74854})

[comment]: # ({fdf19acf-c1ad7314})
##### vfs.fs.inode[fs,<mode>] {#vfs.fs.inode}

<br>
O número ou a porcentagem de inodes.<br>
Valor de retorno: *Integer* - para número; *Float* - para porcentagem.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

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

Exemplo:

```default
vfs.fs.inode[/,pfree]
```

[comment]: # ({/fdf19acf-c1ad7314})

[comment]: # ({c4232422-2aa216f1})
##### vfs.fs.size[fs,<mode>] {#vfs.fs.size}

<br>
O espaço em disco em bytes ou em porcentagem do total.<br>
Valor de retorno: *Integer* - para bytes; *Float* - para porcentagem.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

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

Exemplo:

```default
vfs.fs.size[/tmp,free]
```

[comment]: # ({/c4232422-2aa216f1})

[comment]: # ({992ae7f8-07413e69})
##### vm.memory.size[<mode>] {#vm.memory.size}

<br>
O tamanho da memória em bytes ou em porcentagem do total.<br>
Valor de retorno: *Integer* - para bytes; *Float* - para porcentagem.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetro:

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

Comentários:

-   Este item aceita três categorias de parâmetros:<br>
    - *total* - quantidade total de memória;
    - tipos de memória específicos da plataforma: *active*, *anon*, *buffers*, *cached*, *exec*, *file*, *free*, *inactive*, *pinned*, *shared*, *slab*, *wired*;
    - estimativas em nível de usuário de quanto de memória está em uso e disponível: *used*, *pused*, *available*, *pavailable*;
-   O parâmetro de modo *active* é suportado apenas no FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD;
-   Os parâmetros de modo *anon*, *exec*, *file* são suportados apenas no NetBSD;
-   O parâmetro de modo *buffers* é suportado apenas no Linux, FreeBSD, OpenBSD, NetBSD;
-   O parâmetro de modo *cached* é suportado apenas no Linux, FreeBSD, AIX, OpenBSD, NetBSD;
-   Os parâmetros de modo *inactive*, *wired* são suportados apenas no FreeBSD, MacOS X, OpenBSD, NetBSD;
-   O parâmetro de modo *pinned* é suportado apenas no AIX;
-   O parâmetro de modo *shared* é suportado apenas no Linux 2.4, FreeBSD, OpenBSD, NetBSD;
-   Veja também [detalhes adicionais](/manual/appendix/items/vm.memory.size_params) para este item.

Exemplo:

```default
vm.memory.size[pavailable]
```

[comment]: # ({/992ae7f8-07413e69})

[comment]: # ({2a3fbd6e-cd3defd2})
##### web.page.get[host,<path>,<port>] {#web.page.get}

<br>
Obtém o conteúdo de uma página web.<br>
Valor de retorno: Fonte da página web como texto (incluindo cabeçalhos).<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

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

Exemplos:

```default
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"]
```

[comment]: # ({/2a3fbd6e-cd3defd2})

[comment]: # ({27e5419e-ef902e6e})
##### web.page.perf[host,<path>,<port>] {#web.page.perf}

<br>
O tempo de carregamento de uma página web completa (em segundos).<br>
Valor de retorno: *Float*.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

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

Exemplos:

```default
web.page.perf[www.example.com,index.php,80]
web.page.perf[https://www.example.com]
```

[comment]: # ({/27e5419e-ef902e6e})

[comment]: # ({e7d1f328-a78ae078})
##### web.page.regexp[host,<path>,<port>,regexp,<length>,<output>] {#web.page.regexp}

<br>
Procura uma string na página web.<br>
Valor de retorno: A string correspondente ou conforme especificado pelo parâmetro opcional `output`.<br>
Veja as [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

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

Exemplos:

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

[comment]: # ({/e7d1f328-a78ae078})

[comment]: # ({634d9a4e-3030d112})
##### agent.hostmetadata {#agent.hostmetadata}

<br>
A metadata do host do agent.<br>
Valor de retorno: *String*.<br>
Veja as [plataformas suportadas](#supported-platforms).

Retorna o valor dos parâmetros [HostMetadata](/manual/appendix/config/zabbix_agentd#hostmetadata) ou [HostMetadataItem](/manual/appendix/config/zabbix_agentd#hostmetadataitem), ou uma string vazia se nenhum deles estiver definido.

[comment]: # ({/634d9a4e-3030d112})

[comment]: # ({48e98549-e20fbf57})
##### agent.hostname {#agent.hostname}

<br>
O nome do host do agent.<br>
Valor de retorno: *String*.<br>
Veja [plataformas suportadas](#supported-platforms).

Retorna:

-   Como checagem passiva - o nome do primeiro host listado no parâmetro [Hostname](/manual/appendix/config/zabbix_agentd#hostname) do arquivo de configuração do agent;
-   Como checagem ativa - o nome do hostname atual.

[comment]: # ({/48e98549-e20fbf57})

[comment]: # ({16f6a0c6-3a10c7e2})
##### agent.ping {#agent.ping}

<br>
A verificação de disponibilidade do agent.<br>
Valor de retorno: Nada - indisponível; 1 - disponível.<br>
Veja [plataformas suportadas](#supported-platforms).

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

[comment]: # ({/16f6a0c6-3a10c7e2})

[comment]: # ({f3b2b036-d276be7d})
##### agent.variant {#agent.variant}

<br>
A variante do agent Zabbix (agent Zabbix ou agent Zabbix 2).<br>
Valor de retorno: 1 - agent Zabbix; 2 - agent Zabbix 2.<br>
Veja [plataformas suportadas](#supported-platforms).

[comment]: # ({/f3b2b036-d276be7d})

[comment]: # ({77e624b5-f391e3aa})
##### agent.version {#agent.version}

<br>
A versão do agent Zabbix.<br>
Valor de retorno: *String*.<br>
Veja [plataformas suportadas](#supported-platforms).

Exemplo de valor retornado:

```default
6.0.3
```

[comment]: # ({/77e624b5-f391e3aa})

[comment]: # ({819350bc-31497288})
##### zabbix.stats[<ip>,<port>] {#zabbix.stats}

<br>
Retorna um conjunto de métricas internas do Zabbix server ou proxy.
Se `ip` e `port` forem especificados, as métricas serão obtidas da instância remota; caso contrário, da instância local.<br>
Valor retornado: *objeto JSON*.<br>
Consulte [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Comentários:

-   Um conjunto selecionado de métricas internas é retornado por este item.
Para mais detalhes, consulte [Monitoramento remoto de estatísticas do Zabbix](/manual/appendix/items/remote_stats#exposed-metrics);
-   Observe que a solicitação de estatísticas só será aceita a partir dos endereços listados no parâmetro 'StatsAllowedIP' do [server](/manual/appendix/config/zabbix_server)/[proxy](/manual/appendix/config/zabbix_proxy) na instância de destino.

[comment]: # ({/819350bc-31497288})

[comment]: # ({1e463e1d-ea79fb35})
##### zabbix.stats[<ip>,<port>,queue,<from>,<to>] {#zabbix.stats.two}

<br>
Retorna o número de itens monitorados na fila que estão atrasados no Zabbix server ou proxy.
Se `ip` e `port` forem especificados, as métricas serão obtidas da instância remota; caso contrário, da instância local.<br>
Valor de retorno: *objeto JSON*.<br>
Veja [plataformas suportadas](#supported-platforms).

Parâmetros:

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

Observe que a solicitação de estatísticas só será aceita a partir dos endereços listados no parâmetro 'StatsAllowedIP' [server](/manual/appendix/config/zabbix_server)/[proxy](/manual/appendix/config/zabbix_proxy) na instância de destino.

[comment]: # ({/1e463e1d-ea79fb35})

[comment]: # ({b49a16e9-a2a6198d})
#### Notas de rodapé

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

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

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

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

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

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

[comment]: # ({/b49a16e9-a2a6198d})

[comment]: # ({bc60d97c-2e3a2e64})
### Uso com utilitários de linha de comando

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

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

Exemplos:

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

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

[comment]: # ({/bc60d97c-2e3a2e64})

[comment]: # ({b6df4604-b7e5172f})
### 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 code page) pode ser encontrada na documentação da [libiconv](http://www.gnu.org/software/libiconv/) (Projeto GNU) ou na documentação do Microsoft Windows SDK para ["Code Page Identifiers"](https://learn.microsoft.com/en-us/windows/win32/intl/code-page-identifiers).
Observe que a Microsoft às vezes marca algumas code pages como "disponíveis apenas para aplicativos gerenciados" — ou seja, expostas apenas via runtime .NET e não disponíveis através das APIs nativas do Win32. O agent do Zabbix implementa sua própria lógica de conversão de codificação, portanto, essas code pages são suportadas pelo agent do Zabbix mesmo quando as funções nativas do Windows não as fornecem.

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

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

[comment]: # ({/b6df4604-b7e5172f})

[comment]: # ({4f4d51c0-40450e88})
### Solução de problemas de itens do agent

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

-   Quando a versão do agent for mais antiga que a versão do server, o valor de *Timeout* na [configuração do item](/manual/config/items/item#configuration) (ou [timeout global](/manual/web_interface/frontend_sections/administration/general#timeouts)) pode precisar ser maior do que o valor de `Timeout` no [arquivo de configuração](/manual/appendix/config/zabbix_agentd#timeout) do agent.
-   Quando a versão do agent for mais recente que a versão do server, o valor de `Timeout` no [arquivo de configuração](/manual/appendix/config/zabbix_server#timeout) do server pode precisar ser maior do que o valor de `Timeout` no [arquivo de configuração](/manual/appendix/config/zabbix_agentd#timeout) do agent.

[comment]: # ({/4f4d51c0-40450e88})











