3 Exemplos de pré-processamento
Visão geral
Esta seção apresenta exemplos de uso de etapas de pré-processamento para realizar algumas tarefas práticas.
Filtrando registros de log de eventos do VMware
Este exemplo usa a etapa de pré-processamento Corresponde à expressão regular para filtrar eventos desnecessários do log de eventos do VMware.
1. Em um host VMware Hypervisor funcional, verifique se o item vmware.eventlog está presente e funcionando corretamente. Observe que o item de log de eventos já pode estar presente no hypervisor se um template VMware foi vinculado durante a criação do host.
2. No host VMware Hypervisor, crie um item dependente do tipo Log e defina o item de log de eventos como seu item mestre.
3. Na guia Pré-processamento do item dependente, clique em Adicionar para criar uma etapa de pré-processamento e selecione Corresponde à expressão regular no menu suspenso. Em seguida, especifique um dos seguintes padrões:
- Para filtrar todos os eventos de log:
.* logged in .*
- Para filtrar linhas que contenham nomes de usuário após "User":
\bUser\s+\K\S+
Se a expressão regular não for correspondida, o item dependente se tornará não suportado com uma mensagem de erro correspondente. Para evitar isso, marque a caixa Personalizado em caso de falha e selecione uma opção como descartar o valor ou definir um valor personalizado. Observe que valores descartados não são armazenados no banco de dados; como resultado, triggers não são avaliados e dados de tendência não são gerados.
Como alternativa, você pode usar a etapa de pré-processamento Expressão regular para extrair grupos correspondentes e controlar a saída:
- Para extrair e exibir todo o evento de log contendo "logged in", especifique os seguintes parâmetros:
Padrão: .*logged in.*
Saída: \0
- Para extrair e exibir nomes de usuário após "User":
Padrão: User (.*?)(?=\ )
Saída: \1
Verificando o tipo de valor recuperado
Este exemplo usa a etapa de pré-processamento Multiplicador personalizado para verificar se o tipo de valor do item recuperado é numérico.
Na aba Pré-processamento de um item, selecione a etapa de pré-processamento Multiplicador personalizado e especifique o seguinte parâmetro (multiplica o valor recuperado por 1):
1
Se o pré-processamento falhar (por exemplo, se a entrada não for numérica), o item se tornará não suportado com uma mensagem de erro correspondente. Para evitar isso, marque a caixa Personalizado em caso de falha e selecione uma opção, como descartar o valor ou definir um valor personalizado. Observe que valores descartados não são armazenados no banco de dados; como resultado, triggers não são avaliados e dados de tendência não são gerados.
Verificando valor não suportado
Este exemplo usa a etapa de pré-processamento Verificar valor não suportado para verificar se o valor do item não pôde ser recuperado.
Quando um processo de poller do Zabbix server/proxy tenta coletar o valor de um item, ele pode:
- Retornar um resultado válido.
- Retornar um resultado que inicialmente parece válido, mas pode se tornar não suportado posteriormente (por exemplo, devido a uma incompatibilidade de tipo de valor após o pré-processamento).
- Retornar um erro ao coletar o valor, fazendo com que o item se torne não suportado. As causas comuns incluem:
- Chave de item desconhecida (para Zabbix agent, Verificação simples ou itens internos do Zabbix)
- OID desconhecido (SNMP agent), sensor desconhecido (IPMI agent) ou métrica JMX ausente (JMX agent)
- Não é possível ler o arquivo de trap (SNMP trap)
- Script não encontrado (Verificação externa)
- URL inexistente (HTTP agent, Browser)
- Falha no login (SSH agent, TELNET agent)
- Sintaxe de fórmula inválida (Calculado), erro de sintaxe JavaScript (Script) ou SQL inválido (Monitor de banco de dados)
Para detectar e lidar com erros na coleta de valores de itens, você pode usar a etapa de pré-processamento Verificar valor não suportado. Observe que esta etapa é sempre executada primeiro e detecta apenas erros que ocorrem antes do início do pré-processamento.
Na aba Pré-processamento de um item, selecione a etapa de pré-processamento Verificar valor não suportado e especifique um dos seguintes parâmetros:
- Para quaisquer erros:
Parâmetro: any error
- Para erros contendo "cannot connect":
Parâmetro: error matches
Padrão: (?i)cannot connect
Em seguida, use a opção Personalizar em caso de falha para descartar o valor (neste caso, o erro), definir um valor personalizado ou retornar uma mensagem de erro personalizada. Observe que valores descartados não são armazenados no banco de dados; como resultado, triggers não são avaliados e dados de tendência não são gerados.