O pré-processamento permite aplicar transformações aos valores de item recebidos antes de salvá-los no banco de dados. Essas transformações/etapas de pré-processamento são realizadas pelo Zabbix server ou proxy (se os itens forem monitorados por proxy).
Esse recurso suporta uma variedade de casos de uso, como:
Uma ou mais etapas de pré-processamento podem ser configuradas para um item. Essas etapas são executadas na ordem em que são configuradas.
Se uma etapa de pré-processamento falhar, um item se torna não suportado. Isso pode ser evitado pelo tratamento de erro Personalizado em caso de falha (disponível para a maioria das transformações), permitindo descartar valores ou definir valores personalizados.
Para itens de log, os metadados do log (sem valor) sempre redefinirão o estado de item não suportado, tornando-o suportado novamente. Isso acontece mesmo que o erro inicial tenha ocorrido após receber um valor de log do agent.
Todos os valores passados para o pré-processamento são inicialmente tratados como strings. A conversão para o tipo de valor desejado (conforme definido na configuração do item) é realizada ao final do pipeline de pré-processamento. No entanto, etapas específicas de pré-processamento podem acionar conversões anteriores, se necessário. Para informações técnicas detalhadas, consulte Detalhes do pré-processamento.
Para garantir que sua configuração de pré-processamento funcione conforme o esperado, você pode testá-la.
Veja também: Exemplos de pré-processamento
As etapas de pré-processamento são definidas na guia Pré-processamento do formulário de configuração do item.

Clique em Adicionar para selecionar uma transformação suportada.
O campo Tipo de informação é exibido na parte inferior da guia quando pelo menos uma etapa de pré-processamento é definida. Se necessário, é possível alterar o tipo de informação sem sair da guia Pré-processamento. Consulte Criando um item para obter uma descrição detalhada dos parâmetros.
Todas as transformações suportadas estão listadas abaixo. Clique no nome da transformação para ver detalhes completos sobre ela.
| Nome | Descrição | Tipo |
|---|---|---|
| Expressão regular | Compara o valor com a expressão regular e substitui pela saída desejada. | Texto |
| Substituir | Encontra a string de pesquisa e a substitui por outra (ou nada). | |
| Remover espaços | Remove caracteres especificados do início e do fim do valor. | |
| Remover espaços à direita | Remove caracteres especificados do final do valor. | |
| Remover espaços à esquerda | Remove caracteres especificados do início do valor. | |
| XML XPath | Extrai valor ou fragmento de dados XML usando a funcionalidade XPath. | Dados estruturados |
| JSON Path | Extrai valor ou fragmento de dados JSON usando a funcionalidade JSONPath. | |
| CSV para JSON | Converte dados de arquivo CSV para o formato JSON. | |
| XML para JSON | Converte dados em formato XML para JSON. | |
| Valor SNMP walk | Extrai valor pelo OID/nome MIB especificado e aplica opções de formatação. | SNMP |
| SNMP walk para JSON | Converte valores SNMP para JSON. | |
| Valor SNMP get | Aplica opções de formatação ao valor SNMP get. | |
| Multiplicador personalizado | Multiplica o valor pelo valor inteiro ou de ponto flutuante especificado. | Aritmética |
| Mudança simples | Calcula a diferença entre o valor atual e o anterior. | Mudança |
| Mudança por segundo | Calcula a velocidade da mudança do valor (diferença entre o valor atual e o anterior) por segundo. | |
| Booleano para decimal | Converte o valor do formato booleano para decimal. | Sistemas numéricos |
| Octal para decimal | Converte o valor do formato octal para decimal. | |
| Hexadecimal para decimal | Converte o valor do formato hexadecimal para decimal. | |
| JavaScript | Insira o código JavaScript. | Scripts personalizados |
| No intervalo | Define um intervalo no qual o valor deve estar. | Validação |
| Corresponde à expressão regular | Especifica uma expressão regular que um valor deve corresponder. | |
| Não corresponde à expressão regular | Especifica uma expressão regular que um valor não deve corresponder. | |
| Verificar erro em JSON | Verifica uma mensagem de erro em nível de aplicação localizada no JSONPath. | |
| Verificar erro em XML | Verifica uma mensagem de erro em nível de aplicação localizada no XPath. | |
| Verificar erro usando expressão regular | Verifica uma mensagem de erro em nível de aplicação usando uma expressão regular. | |
| Verificar valor não suportado | Verifica se nenhum valor de item pôde ser recuperado. | |
| Descartar inalterado | Descarta um valor se ele não mudou. | Limitação |
| Descartar inalterado com heartbeat | Descarta um valor se ele não mudou dentro do período de tempo definido. | |
| Padrão Prometheus | Usa a seguinte consulta para extrair os dados necessários das métricas do Prometheus. | Prometheus |
| Prometheus para JSON | Converte as métricas Prometheus necessárias para JSON. |
Observe que para as etapas de pré-processamento Mudança e Limitação, o Zabbix precisa lembrar o último valor para calcular/comparar o novo valor conforme necessário. Esses valores anteriores são tratados pelo gerenciador de pré-processamento. Se o Zabbix server ou proxy for reiniciado ou houver qualquer alteração feita nas etapas de pré-processamento, o último valor do item correspondente será redefinido, resultando em:
Corresponde o valor à expressão regular e substitui pela saída necessária.
Parâmetros:
Comentários:
Encontre a string de pesquisa e substitua por outra (ou nada).
Parâmetros:
Comentários:
Remove os caracteres especificados do início e do final do valor.
Remove os caracteres especificados do final do valor.
Remove os caracteres especificados do início do valor.
Extrai valor ou fragmento de dados XML usando a funcionalidade XPath.
Comentários:
Exemplos:
number(/document/item/value) #irá extrair '10' de <document><item><value>10</value></item></document>
number(/document/item/@attribute) #irá extrair '10' de <document><item attribute="10"></item></document>
/document/item #irá extrair '<item><value>10</value></item>' de <document><item><value>10</value></item></document>Extrai um valor ou fragmento de dados JSON usando a funcionalidade JSONPath.
Se você marcar a caixa Personalizado em caso de falha, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. Em caso de falha na etapa de pré-processamento, o item não ficará como não suportado se a opção de descartar o valor ou definir um valor especificado for selecionada.
Converte dados de arquivo CSV para o formato JSON.
Para mais informações, consulte: Pré-processamento CSV para JSON.
Converte dados no formato XML para JSON.
Para mais informações, consulte: Regras de serialização.
Se você marcar a caixa Personalizado em caso de falha, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. Em caso de falha na etapa de pré-processamento, o item não ficará como não suportado se a opção de descartar o valor ou definir um valor especificado for selecionada.
Extrai o valor pelo OID/nome MIB especificado e aplica opções de formatação:
' ' são substituídos por ':');Se você marcar a caixa de seleção Personalizado em caso de falha, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. Em caso de falha na etapa de pré-processamento, o item não ficará como não suportado se a opção de descartar o valor ou definir um valor especificado for selecionada.
Converte valores SNMP para JSON.
Especifique um nome de campo no JSON e o caminho SNMP OID correspondente. Os valores dos campos serão preenchidos pelos valores no caminho SNMP OID especificado.
Comentários:
Aplique opções de formatação ao valor SNMP get:
' ' são substituídos por ':');Se você marcar a caixa Personalizado em caso de falha, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. Em caso de falha em uma etapa de pré-processamento, o item não ficará como não suportado se a opção de descartar o valor ou definir um valor especificado for selecionada.
Multiplica o valor pelo valor inteiro ou de ponto flutuante especificado.
Comentários:
1e+70; macros de usuário e macros LLD; strings que incluem macros, por exemplo, {#MACRO}e+10, {$MACRO1}e+{$MACRO2}. As macros devem ser resolvidas para um número inteiro ou de ponto flutuante.Calcula a diferença entre o valor atual e o anterior.
Comentários:
Calcula a velocidade de alteração do valor (diferença entre o valor atual e o anterior) por segundo.
Comentários:
Converte o valor do formato booleano para decimal.
Comentários:
Converte o valor do formato octal para decimal.
Se você marcar a caixa de seleção Personalizado em caso de falha, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. Em caso de falha na etapa de pré-processamento, o item não ficará como não suportado se a opção de descartar o valor ou definir um valor especificado for selecionada.
Converte o valor do formato hexadecimal para decimal.
Se você marcar a caixa de seleção Personalizado em caso de falha, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. Em caso de falha na etapa de pré-processamento, o item não ficará como não suportado se a opção de descartar o valor ou definir um valor especificado for selecionada.
Digite o código JavaScript no editor modal que é aberto ao clicar no campo de parâmetro ou no ícone de lápis ao lado dele.
Não use atribuições não declaradas no JavaScript de pré-processamento. Use var para declarar variáveis locais.
Comentários:
Defina um intervalo em que um valor deve estar, especificando valores mínimos/máximos (inclusive).
Comentários:
Especifique uma expressão regular que um valor deve corresponder.
Se você marcar a caixa Personalizado em falha, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. Em caso de falha na etapa de pré-processamento, o item não ficará como não suportado se a opção de descartar o valor ou definir um valor especificado for selecionada.
Especifique uma expressão regular que um valor não deve corresponder.
Se você marcar a caixa de seleção Personalizado em falha, é possível especificar opções personalizadas de tratamento de erro: descartar o valor, definir um valor especificado ou definir uma mensagem de erro especificada. Em caso de falha na etapa de pré-processamento, o item não ficará como não suportado se a opção de descartar o valor ou definir um valor especificado for selecionada.
Verifica por uma mensagem de erro em nível de aplicação localizada no JSONPath. Interrompe o processamento se for bem-sucedido e a mensagem não estiver vazia; caso contrário, continua o processamento com o valor que estava antes desta etapa de pré-processamento.
Comentários:
Verifica por uma mensagem de erro em nível de aplicação localizada no XPath. Interrompe o processamento se for bem-sucedido e a mensagem não estiver vazia; caso contrário, continua o processamento com o valor que estava antes desta etapa de pré-processamento.
Comentários:
Verifica uma mensagem de erro em nível de aplicação usando uma expressão regular. Interrompe o processamento se for bem-sucedido e a mensagem não estiver vazia; caso contrário, continua o processamento com o valor que estava antes desta etapa de pré-processamento.
Parâmetros:
Comentários:
Verifica se nenhum valor de item pôde ser recuperado. Especifique como a falha deve ser processada, com base na inspeção da mensagem de erro retornada.
Parâmetros:
Comentários:
Descarta um valor se ele não foi alterado.
Comentários:
Descarta um valor se ele não tiver sido alterado dentro do período de tempo definido (em segundos).
Comentários:
Use a seguinte consulta para extrair os dados necessários das métricas do Prometheus.
Veja Verificações Prometheus para mais detalhes.
Converta as métricas Prometheus necessárias para JSON.
Consulte Verificações Prometheus para mais detalhes.
Macros de usuário e macros de usuário com contexto são suportadas em:
O contexto da macro é ignorado quando uma macro é substituída por seu valor. O valor da macro é inserido no código como está, não sendo possível adicionar escape adicional antes de colocar o valor no código JavaScript. Esteja ciente de que isso pode causar erros de JavaScript em alguns casos.