Extraindo valores específicos como chaves JSON
No IBM® Cloud Logs, é possível usar a regra Extrair para extrair valores específicos necessários como chaves JSON sem precisar analisar o log inteiro.
Diferente de uma regra de análise, uma regra de extração deixa o log original intacto e inclui campos nela na raiz.
Antes de Iniciar
As regras de análise são organizadas dentro de Grupos de Regras Cada grupo tem um nome e um conjunto de regras com um relacionamento lógico entre eles.. Os logs são processados de acordo com a ordem do grupo de regras (do início ao
fim) Eles são então processados pela ordem de regras dentro do grupo de regras e de acordo com os operadores lógicos entre eles (AND/OR). As regras ajudam a processar, analisar e reestruturar dados do log para preparar o monitoramento
e a análise. Para obter mais informações, consulte Trabalhando com grupos da regra
Usando grupos capturados nomeados para definir novos campos
A regra de extração usa grupos de captura RegEx-named para definir novos campos.
- Grupos capturados se tornam os campos de log analisados.
- O valor que está associado a cada grupo se torna o valor do campo.
- O RegEx não precisa corresponder ao log inteiro..
- Apenas os grupos de captura nomeados RegEx (os valores dentro do
< >) e o valor que eles capturam fazem parte do log reconstruído.
Configurando uma regra de Extração
Conclua as etapas a seguir:
-
Clique no ícone Pipeline de dados
> Regras de análise e clique em Novo grupo de regras.
-
Na seção Detalhes, insira Nome do Grupo de Regras e Descrição do Grupo de Regras.
-
Na seção Correspondente de regra, configure os aplicativos, subsistemas e gravidades que definem os logs nos quais aplicar as regras que estão incluídas no grupo de regras
-
Na seção Regras, selecione Extrair
.
-
Insira um nome.
-
Opcionalmente, insira uma descrição.
-
Selecione um campo de origem. Este é o campo no qual o RegEx é aplicado
-
Insira a Expressão regular (RegEx).
-
Alterne o status para ACTIVE se desejar que a regra seja ativada..
-
-
Inclua grupos de regras adicionais clicando em Incluir regra e selecionando o tipo de regra desejado.. Alterne AND/OR para selecionar como deseja que as regras adicionais sejam processadas.
-
Clique em Criar grupo de regras.
Exemplo: Criando dois novos campos
O exemplo a seguir extrai informações da mensagem de campo e cria dois novos campos, 'bytes' e 'status ' que podem ser consultados e visualizados..
O log original é:.
{"level":"INFO", "message": "200 bytes sent status is OK"}
O RegEx é:.
message"\s*:\s*"(?P<bytes>\d+)\s*.*?status\sis\s(?P<status>[^"]+)
O log formatado é:
{
"level": "INFO",
"message": "200 bytes sent status is OK",
"Bytes": "200",
"status": "OK"
}
Se o log original for desestruturado, os campos serão adicionados com base nos grupos de capturas nomeados e o log original será armazenado dentro de um campo chamado text Usando o exemplo anterior, ele altera o log original para
ser desestruturado
O log original:
"level":"INFO", "message": "200 bytes sent status is OK",
O log resultante:.
{
"bytes": "200",
"text": "\"level\":\"INFO\", \"message\": \"200 bytes sent status is OK\"",
"status": "OK"
}