Executar Análise Avançada com Link
Entenda o aplicativo do recurso Link para a execução de análise avançada com o caso de uso discutido neste tópico.
Cenários de Exemplo:
Caso de Uso | Vincular Recurso | Logs de Exemplo |
---|---|---|
Visualizar Dados da Série de Tempo Usando o Recurso de Tendência do Link |
Tendência do Link |
|
Vincular recursos básicos |
|
|
Usando campos virtuais para gráficos |
|
|
Usando a instrução SQL como campo |
|
|
Análise de tempo |
|
|
Gráficos para diversos campos e seus valores |
- |
|
Agregação de Segundo Nível Usando o Comando Eventstats no Link |
Agregação de segundo nível |
|
Usar Funções de Navegação de Link para Identificar Eventos em um Banco de Dados |
Funções de navegação |
|
Usando o símbolo de moeda em tabelas e gráficos de grupos |
|
|
Analisar a tendência de um campo |
|
|
Agrupar valores de séries temporais semelhantes |
|
Visualizar Dados da Série de Tempo Usando o Recurso de Tendência do Link
O link é usado para agrupar os registros de log por campos específicos. As várias estatísticas que você pode extrair desses grupos podem ser visualizadas usando a visualização do gráfico de bolhas. A visualização do gráfico de bolhas agora é aprimorada para suportar o campo Tempo como eixo.
As etapas a seguir explicam como usar o recurso de tendência para analisar a duração do job para Solicitações Simultâneas do Oracle E-Business Suite (EBS).
Considere o seguinte log de amostra no caminho de arquivo /u01/oracle/appl_top/req/l7474445.req
:
Human Resources: Version : 12.2
Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
AME_MIGRATIONB: Approvals Management Post Upgrade Process
+---------------------------------------------------------------------------+
Current system time is 24-JUL-2018 01:04:29
+---------------------------------------------------------------------------+
**Starts**24-JUL-2018 01:04:30
**Ends**24-JUL-2018 01:04:30
Migration of item class usages successful
+---------------------------------------------------------------------------+
Start of log messages from FND_FILE
+---------------------------------------------------------------------------+
+---------------------------------------------------------------------------+
End of log messages from FND_FILE
+---------------------------------------------------------------------------+
+---------------------------------------------------------------------------+
No completion options were requested.
Output file size:
0
Deleting empty output file.
+---------------------------------------------------------------------------+
Concurrent request completed successfully
Current system time is 24-JUL-2018 01:04:32
+---------------------------------------------------------------------------+
A origem Logs de Solicitação Simultânea do EBS - Aprimorados definida pela Oracle extrai o campo ID da Solicitação do caminho do arquivo. Por exemplo, os dados numéricos 7474445
são o ID da Solicitação extraído do caminho do arquivo do log de amostra anterior. A origem também extrai os metadados associados para cada ID de Solicitação.
-
Selecione a origem e alterne para a visualização Link:
No painel Campos, clique em Origem de Log, selecione a origem de log Logs de Solicitação Simultânea de EBS - Aprimorado. Alterne para a visualização Link e arraste e solte o campo ID da Solicitação para o painel Agrupar por para obter a lista de solicitações:
A consulta gerada automaticamente tem esta aparência:
'Log Source' = 'EBS Concurrent Request Logs - Enhanced' | link 'Request ID'
-
Extraia os horários inicial e final da solicitação:
Cada solicitação tem um horário inicial e um horário final impressos no arquivo. Se o horário final estiver ausente, o horário em que o arquivo for atualizado será considerada como horário final. A origem de log é configurada para capturar esses valores como campos Event Start Time e Event End Time.
Edite a consulta para extrair esses campos:
'Log Source' = 'EBS Concurrent Request Logs - Enhanced' | link 'Request ID' | stats earliest('Event Start Time') as 'Request Start Time', latest('Event End Time') as 'Request End Time'
earliest
é uma função do comandostats
. Isso classifica os registros de cada ID de Solicitação por tempo e retorna o Event Start Time mais antigo. Da mesma forma,latest
retorna o último Event End Time.Agora você pode ver os novos campos na tabela de registros:
Request Start Time e Request End Time são detectados automaticamente como timestamps e formatados no fuso horário local. Quando os arquivos são coletados, o agente usa o fuso horário do banco de dados do EBS para interpretar os timestamps.
Observação
Para garantir que o fuso horário do banco de dados seja exibido conforme esperado no home de configuração do Oracle Infrastructure Monitoring e para evitar a incompatibilidade nos valores, informe o fuso horário durante o upload. -
Duração da solicitação de computação:
Agora que temos os horários inicial e final de cada solicitação, podemos calcular a duração como diferença entre esses dois campos.
Altere a consulta de forma adequada:
'Log Source' = 'EBS Concurrent Request Logs - Enhanced' | link 'Request ID' | stats earliest('Event Start Time') as 'Request Start Time', latest('Event End Time') as 'Request End Time' | eval 'Time Taken' = 'Request End Time' - 'Request Start Time'
Time Taken é um novo campo criado para cada grupo de ID de Solicitação. Isso conteria a diferença entre os horários inicial e final da solicitação.
Observação
O Oracle Log Analytics detecta automaticamente Tempo Utilizado como um campo de duração, pois ele é produzido pela diferença entre dois campos de timestamp. Portanto, ele é formatado automaticamente de forma legível.
-
Tendência para o tempo utilizado pelas Solicitações Simultâneas do EBS :
O campo Time Taken agora pode ser analisado para obter as tendências. Clique no ícone Analisar
, selecione os campos Horário Inicial da Solicitação e Horário Utilizado na caixa do diálogo Analisar e clique em OK.
Isso alteraria automaticamente a consulta para:
'Log Source' = 'EBS Concurrent Request Logs - Enhanced' | link 'Request ID' | stats earliest('Event Start Time') as 'Request Start Time', latest('Event End Time') as 'Request End Time' | eval 'Time Taken' = 'Request End Time' - 'Request Start Time' | classify topcount = 300 'Request Start Time', 'Time Taken'
O comando
Classify
pega dois campos, agrupa os resultados e marca as anomalias quando aplicável. Os resultados são exibidos no gráfico de bolhas.Quando Tempo é selecionado para um eixo, o gráfico de bolhas alterna automaticamente para a opção Tendência. Para modificar as opções do gráfico, clique no ícone Opções de Gráfico
e altere os parâmetros necessários.
No gráfico de bolhas resultante, Request Start Time é representado ao longo do eixo x e os clusters de Time Taken são representados ao longo do eixo y:
A hora é mostrada no fuso horário local. O tamanho das bolhas indica o número de solicitações.
No gráfico de bolhas anterior, a duração da solicitação de mais de quatro minutos é notada no dia 21 de julho de 2018. A maioria das solicitações foi concluída em menos de dois minutos.
Você pode clicar em uma ou mais bolhas para fazer drill-down e exibir as solicitações específicas.
Analisar os Logs de Acesso do Oracle WebLogic Server
Considere o exemplo de um conjunto de dados que consiste nos Logs de Acesso do Oracle WebLogic Server na origem de log FMW WLS Server Access Logs
. Os registros de log contêm dados sobre o acesso ao Oracle WebLogic Server pelos usuários durante um período específico. Esses registros de log individuais podem ser analisados para obter informações significativas das estatísticas de uso, da popularidade dos URLs, dos usuários mais ativos e mais dados desse tipo. Nos logs, saiba obter os seguintes resultados analisando os registros de log com a seleção de campos específicos de cada resultado:
-
Exibir os principais URLs por Número de Ocorrências
-
Exibir as anomalias pelo Número de Ocorrências
-
Exibir as anomalias pela Duração do Acesso
-
Identificar os URLs pelo Tamanho do Upload
-
Identificar os URLs pelo Tamanho do Download
-
Analisar a correlação entre o Número de Ocorrências e Tamanho do Download
-
Determinar as Páginas Mais Visitadas
-
Identificar os Principais Usuários
-
Identificar os Principais Usuários e suas Páginas Favoritas
-
Identificar a página de entrada que leva ao máximo de visitas
-
Identificar o caminho de Entrada e Saída para a maioria dos usuários
-
Use o comando
rename
para alterar o nome do campo para um que seja mais relevante para o caso de uso. -
O comando
classify
permite analisar os grupos e exibe o resultado na forma de gráfico de bolhas. Para simplesmente exibir o resultado da execução de uma consulta no formato tabular, remova o comandoclassify
da consulta e execute-o novamente. -
Clique na bolha anômala do gráfico para exibir os detalhes dos grupos anômalos. Para retornar ao resultado original depois de investigar a bolha, clique no ícone Desfazer
.
-
Quando você executa o comando
link
, a duração do grupo é mostrada em um formato legível no gráfico de bolhas, por exemplo, em minutos ou segundos. No entanto, se você quiser executar um comandowhere
após o comandolink
para procurar transações que levaram mais que o número de segundos especificado (digamos, 200 segundos), a unidade que você deve usar será milissegundos.
Para recuperar o conjunto de dados, selecione uma faixa de datas adequada, especifique a origem de log e execute a consulta:
'Log Source' = 'FMW WLS Server Access Logs'
Selecione Link no painel Visualizar. Isso exibirá a tabela de grupos 'Logs de Acesso do Servidor WLS FMW e o gráfico de bolhas.
-
Para exibir os URLs principais por Número de Ocorrências, agrupe os registros de log pelo valor do URL no registro de log, obtenha a contagem total do URL em cada grupo, renomeie os campos padrão na tabela de grupos para os valores adequados e exiba o resultado no formato tabular. Com essa análise, você pode determinar os URLs mais usados.
-
Arraste e solte o campo URI para Agrupar por e remova o campo Origem de Log de Agrupar por.
-
Após a execução da consulta, na linha de comando, altere os nomes dos campos Contagem para Número de Ocorrências, Horário Inicial para Primeiro Acesso, Horário Final para Último Acesso e Duração do Grupo para Duração do Acesso.
-
Remova o comando
classify
da linha de comando e submeta a consulta.A consulta será a seguinte:
'Log Source' = 'FMW WLS Server Access Logs' | link URI | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration'
Na execução da consulta, você pode determinar os URLs principais pelo número de ocorrências na tabela. As colunas são renomeadas conforme especificado no comando rename.
-
-
Para exibir as anomalias pelo Número de Ocorrências, agrupe os registros de log pelo valor do URL no registro de log, renomeie os campos padrão na tabela de grupos para os valores adequados e analise os grupos para obter o número de ocorrências do URL. Com essa análise, você pode separar o padrão incomum no acessar aos URLs.
Clique em Analisar, selecione Número de Ocorrências e clique em OK.
A consulta deve mudar para:
'Log Source' = 'FMW WLS Server Access Logs' | link URI | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify topcount = 300 'Number of Hits'
Essa consulta aciona a análise da coluna 'Número de Ocorrências' e cria bolhas representando as faixas comumente vistas. A maioria dos valores é tratada como linha de base. Por exemplo, uma bolha grande pode se tornar a linha de base ou um grande número de bolhas menores agrupadas podem formar a linha de base. As bolhas mais distantes da linha de base são marcadas como anomalias.
Portanto, isso exibe os URLs anômalos agrupados em bolhas distintas no gráfico de bolhas. Para exibir a porcentagem de URLs em cada faixa do número de ocorrências, passe o cursor do mouse sobre as bolhas.
-
Para exibir as anomalias pela Duração do Acesso, agrupe os registros de log pelo valor do URL no registro de log, renomeie os campos padrão na tabela de grupos para valores adequados e analise os grupos para obter a duração do acesso do URL. Com essa análise, você pode separar o padrão incomum no tempo gasto no acesso aos URLs. Em continuação para a etapa 2:
Clique em Analisar, selecione Duração do Acesso e clique em OK.
A Duração do Acesso é uma indicação de quanto tempo durou o acesso a cada URL. Isso é calculado como a diferença entre o último e o primeiro timestamps no arquivo de log de cada URL.
-
Para identificar os URLs pelo Tamanho do Upload, agrupe os registros de log pelo valor do URL no registro de log, renomeie os campos padrão na tabela de grupos para valores adequados e analise os grupos para ver o tamanho dos dados de upload. Com essa análise, você pode identificar os URLs que têm tamanho incomum dos dados de upload. Em continuação para a etapa 3:
-
Arraste e solte o campo Tamanho do Conteúdo em para a seção Valor.
-
Renomeie o campo Tamanho do Conteúdo em como Bytes Carregados alterando a consulta na linha de comando e execute a consulta.
-
Clique em Analisar, selecione Bytes Carregados e clique em OK.
A consulta será a seguinte:
'Log Source' = 'FMW WLS Server Access Logs' | link URI | stats avg('Content Size In') as 'Bytes Uploaded' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify topcount = 300 'Bytes Uploaded'
O gráfico Analisar exibe os grupos de URLs pelos bytes carregados.
-
Para correlacionar os dados de Bytes Carregados ao longo da faixa de tempo, é possível ocultar ou mostrar seletivamente os gráficos nas Opções do Gráfico de Histograma. Explore as outras opções de visualização, além do gráfico de barras.
-
-
Para identificar os URLs pelo Tamanho do Download, agrupe os registros de log pelo valor do URL no registro de log, renomeie os campos padrão na tabela de grupos para valores adequados e analise os grupos para ver o tamanho dos dados baixados. Com essa análise, você pode identificar os URLs que têm tamanho incomum dos dados baixados. Em continuação para a etapa 4:
-
Arraste e solte o campo Tamanho do Conteúdo de Saída para a seção Valor e remova Tamanho do Conteúdo de Entrada da seção Valor.
-
Renomeie o campo Tamanho do Conteúdo de Saída para Tamanho do Download alterando a consulta na linha de comando e execute a consulta.
-
Clique em Analisar, selecione Tamanho do Download e clique em OK.
A consulta será a seguinte:
'Log Source' = 'FMW WLS Server Access Logs' | link URI | stats avg('Content Size Out') as 'Download Size' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify topcount = 300 'Download Size'
O gráfico Analisar exibe os grupos de URLs pelo tamanho do download.
-
Para correlacionar os dados de Tamanho do Download ao longo da faixa de tempo, é possível ocultar ou mostrar seletivamente os gráficos nas Opções de Gráfico de Histograma. Explore as outras opções de visualização, além do gráfico de barras.
-
-
Para analisar a correlação entre Número de Ocorrências e Tamanho do Download, agrupe os registros de log pelo valor do URL no registro de log, renomeie os campos padrão na tabela de grupos para valores adequados e analise os grupos para ver o tamanho dos dados baixados e o número de ocorrências. Com essa análise, você pode identificar os URLs que têm padrões incomuns de tamanho dos dados baixados e número de ocorrências. Em continuação para a etapa 5:
-
Clique em Analisar, selecione os campos Número de Ocorrências, Tamanho do Download e clique em OK.
-
Remova
topcount=300
da consulta para ver todas as bolhas e execute a consulta.A consulta será a seguinte:
'Log Source' = 'FMW WLS Server Access Logs' | link URI | stats avg('Content Size Out') as 'Download Size' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify 'Download Size', 'Number of Hits'
No gráfico de bolhas, o campo Número de Ocorrências é representado ao longo do eixo x e Tamanho do Download ao longo do eixo y.
As bolhas podem ser interpretadas da seguinte maneira:
-
73,8% dos URLs foram acessados de uma a sete vezes.
-
O tamanho médio do download para 73,8% dos URLs está entre 32.345 e 34.000. Essa faixa apertada significa que um grande número de URLs tem um comportamento muito uniforme com referência ao tamanho do download.
-
Uma vez que 73,8% é a grande maioria, o restante dos pontos é marcado como anomalias.
-
Com dados reais, é comum o sistema agrupar arquivos .css, .js e de imagem separadamente de outros URLs porque eles tendem a ter diferentes comportamentos de download.
-
-
Para determinar as Páginas Mais Visitadas, agrupe os registros de log pelo valor do URL no registro de log, renomeie os campos padrão na tabela de grupos para valores adequados e analise os grupos para ver o número de visitantes exclusivos. Com essa análise, você pode identificar os URLs mais visitados pelos visitantes exclusivos. Em continuação para a etapa 6:
-
Arraste e solte o campo Nome do Usuário na seção Valor.
-
Clique na seta para baixo ao lado do nome do campo, altere a função de Exclusivo para Contagem Distinta. Consulte as outras funções que você pode selecionar para um campo numérico:
-
Renomeie o campo Nome do Usuário para Número de Usuários Exclusivos, remova o comando
classify
alterando a consulta na linha de comando e execute a consulta. A consulta será a seguinte:'Log Source' = 'FMW WLS Server Access Logs' | link URI | stats avg('Content Size In') as 'Bytes Uploaded', avg('Content Size Out') as 'Download Size', distinctcount('User Name') as 'Number of Unique Users' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration'
-
Clique em Analisar, selecione o campo Número de Usuários Exclusivos e clique em OK.
A tabela lista os URLs e o número correspondente de usuários exclusivos, ajudando a identificar os URLs mais visitados por usuários exclusivos. Na tabela, você também pode determinar o número de ocorrências que cada URL tem.
A análise mostra que mais de 99% dos URLs têm 0 ou 1 usuário exclusivo. Esse seria o caso de URLs que não precisam de log-in ou que raramente são acessados. O drill-down em qualquer uma das bolhas menores apontará para as páginas específicas, quantas ocorrências geralmente elas têm e quantos visitantes exclusivos.
-
-
Para identificar os Usuários Principais, agrupe os registros de log pelo valor do nome do usuário no registro de log, renomeie os campos padrão na tabela de grupos para valores adequados e analise os grupos para ver o número de ocorrências. Com essa análise, você pode identificar os usuários mais ativos.
-
Edite a linha de comando para remover todos os filtros:
'Log Source' = 'FMW WLS Server Access Logs' | link URI
-
Arraste e solte o campo Nome do Usuário para Agrupar por, remova URI e execute a consulta.
-
Remova o comando
classify
, renomeie os campos padrão na linha de comando e execute a seguinte consulta:'Log Source' = 'FMW WLS Server Access Logs' | link 'User Name' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration'
A tabela é classificada pelo número de ocorrências pelo usuário.
-
Para exibir o comportamento do usuário por acesso, clique em Analisar, selecione o campo Número de Ocorrências e clique em OK.
-
Clique nas anomalias para identificar os usuários que registraram o número maior ou menor de ocorrências em comparação com os outros usuários.
-
-
Para identificar os Usuários Principais e suas Páginas Favoritas, agrupe os registros de log pelo valor do nome do usuário no registro de log, renomeie os campos padrão na tabela de grupos para valores adequados e analise os grupos para ver o número de páginas exclusivas. Com essa análise, você pode identificar os usuários menos e mais ativos e suas páginas favoritas. Em continuação para a etapa 8:
-
Arraste e solte o campo URI para a seção Valor. Altere a função de Exclusivo para Contagem Distinta.
-
Renomeie o campo URI como Número de Páginas Exclusivas alterando a consulta na linha de comando e execute a consulta.
-
Clique em Analisar, selecione o campo Número de Páginas Exclusivas e clique em OK.
-
-
Para identificar a página de entrada que leva ao número máximo de visitas, agrupe os registros de log pelo valor do nome do usuário no registro de log, renomeie os campos padrão na tabela de grupos para valores adequados e analise os grupos para obter os valores dos URLs de entrada e o número de ocorrências nos URLs. Com essa análise, você pode identificar as páginas que os usuários atingiram primeiro. Em continuação para a etapa 9:
-
Para obter os URLs de entrada, altere a função do campo URI de Contagem Distinta para Mais Antigo.
-
Renomeie o campo URI como URL de Entrada alterando a consulta na linha de comando e execute a consulta.
-
Clique em Analisar, selecione os campos Número de Ocorrências e URL de Entrada, selecione o topcount como 20 e clique em OK.
'Log Source' = 'FMW WLS Server Access Logs' | link 'User Name' | stats earliest(URI) as 'Entry URL' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify topcount = 20 'Number of Hits', 'Entry URL'
Isso exibe o primeiro URL utilizado pelos usuários em relação ao número de ocorrências. Por exemplo, /login é o primeiro URL que a maioria dos usuários utiliza.
-
-
Para identificar o caminho de Entrada e Saída para a maioria dos usuários, agrupe os registros de log pelo valor do nome do usuário no registro de log, renomeie os campos padrão na tabela de grupos para valores adequados e analise os grupos para obter os valores dos URLs de entrada e de saída. Com essa análise, você pode identificar
-
Os caminhos mais comuns utilizados pelos usuários para percorrer o site
-
As páginas de produtos mais populares de onde os usuários estão saindo do site
-
Os URLs de saída mais comuns, como as páginas de check-out do produto ou o gateway de pagamento
-
Os URLs de saída incomuns e a causa principal das saídas inesperadas
-
Arraste e solte o campo URI para a seção Valor.
-
Para obter a página de saída, altere a função do campo URI de Exclusivo para Mais Recente.
-
Edite a linha de comando e renomeie o campo latest(URI) para URL de Saída e submeta a consulta.
-
Clique em Analisar, selecione os campos URL de Entrada e URL de Saída, selecione o topcount como 20 e clique em OK.
'Log Source' = 'FMW WLS Server Access Logs' | link 'User Name' | stats earliest(URI) as 'Entry URL', latest(URI) as 'Exit URL' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify topcount = 20 'Entry URL', 'Exit URL'
-
Aumente o tamanho do gráfico usando as opções de Gráfico de Análise.
Este mapa de árvore mostra o relacionamento entre os URLs de entrada e de saída em um site. Isso seria muito útil para os sites de varejo nos quais os provedores de serviço desejariam identificar os URLs de entrada que levam os clientes às páginas de check-out e os URLs do produto que estão fazendo com que os usuários não prossigam para o check-out.
-
Gerar Gráficos com Campos Virtuais
Para criar um novo campo virtual, você pode usar o comando eval
no recurso de link. A consulta eval
na linha de comando vai gerar um gráfico de linhas para o campo virtual e permitir rastreá-lo ao longo do tempo.
Para criar um novo campo virtual, você pode usar o comando eval
no recurso de link. A consulta eval
na linha de comando vai gerar um gráfico de linhas para o campo virtual e permitir rastreá-lo ao longo do tempo.
Exemplos:
-
Considere o cenário em que os registros de log da origem de log
SAR CPU Logs
são agrupados pelo nome do host e pela CPU. Para determinar a carga experimentada pela CPU do servidor ao longo do tempo, o comandoeval
cria um campo virtualLoad %
e gera o gráfico de linhas.'Log Source' = 'SAR CPU Logs' | rename Instance as CPU | link 'Host Name (Server)', CPU | stats avg('CPU Idle Time (%)') as 'CPU Idle Time (%)' | eval 'Load %' = 100 - 'CPU Idle Time (%)'
Para exibir o gráfico de linhas:
-
Clique na guia Histograma.
-
Clique na seta para baixo ao lado do ícone Opções de gráfico (
). Clique em Ocultar/Mostrar Gráficos. Selecione % de Carga.
-
Clique na seta para baixo ao lado do ícone Opções de gráfico (
). Clique em Opções de Gráfico. Na lista Tipo de Gráfico, selecione Linha sem Marcador. Clique em Fechar.
-
-
Considere o cenário em que os registros de log da origem de log
OMC WLS Server Access Logs
são agrupados pelo URI. Para determinar o tamanho dos dados acessados ao longo do tempo em megabytes, o comandoeval
cria um campo virtualContent Size (MB)
, calcula o tamanho do conteúdo em megabytes com base no valor do campoContent Size
e gera o gráfico de linhas.'Log Source' = 'WLS Server Access Logs' | link URI | stats avg('Content Size') as 'Content Size Bytes' | eval 'Content Size (MB)' = 'Content Size Bytes' / 1024
Para exibir o gráfico de linhas:
-
Clique na guia Histograma.
-
Clique na seta para baixo ao lado do ícone Opções de gráfico (
). Clique em Ocultar/Mostrar Gráficos. Selecione Tamanho do Conteúdo (MB) e Registros de Log de Acesso.
-
Clique na seta para baixo ao lado do ícone Opções de gráfico (
). Clique em Opções de Gráfico. Na lista Tipo de Gráfico, selecione Linha sem Marcador. Clique em Fechar.
-
Vincular Usando a Instrução SQL como Campo de Análise
O link suporta a Instrução SQL como campo para análise. A Instrução SQL contém a SQL executada e capturada por origens de log como Database Audit XML Logs
e Oracle Unified DB Audit Log Source Stored in Database 12.1
.
Você pode usar link 'SQL Statement'
para agrupar SQLs e analisar seu comportamento e identificar anomalias.
Exemplo:
Considere a seguinte consulta que vincula os registros de log com base no campo Instrução SQL:
'Log Source' in ('Database Audit Logs', 'Database Audit XML Logs')
| rename 'Host Name (Server)' as 'DB Server', 'User Name (Originating)' as 'OS User', 'User Name' as 'DB User'
| link 'SQL Statement'
| rename Count as 'Number of Runs', 'Start Time' as 'First Run', 'End Time' as 'Last Run', 'Group Duration' as Age
| addfields [ Object = dual | stats count as 'dual Table Access' ],
[ Object like 'all_%' | stats count as 'ALL_ Table Access' ],
[ Object like 'dba_%' | stats count as 'DBA_ Table Access' ],
[ Object like 'user_%' | stats count as 'USER_ Table Access' ],
[ Object like 'v$%' | stats count as 'VDollar Table Access' ],
[ Object = null | stats count as 'No Table Access' ],
[ Action = '2' | stats count as 'Insert Count' ],
[ Action = '3' | stats count as 'Select Count' ],
[ Action = '6' | stats count as 'Update Count' ],
[ Action = '7' | stats count as 'Delete Count' ],
[ Type = '8' | stats count as 'Connect Count' ],
[ 'Status Code' = 1 | stats count as Failures ]
| eval 'Object Type' = if('dual Table Access' > 0, Dual,
'ALL_ Table Access' > 0, System,
'DBA_ Table Access' > 0, System,
'USER_ Table Access' > 0, System,
'VDollar Table Access' > 0, System,
'No Table Access' > 0, 'No Table', Other)
| eval 'SQL Type' = if('Insert Count' > 0, Insert,
'Select Count' > 0, Select,
'Update Count' > 0, Update,
'Delete Count' > 0, Delete,
'Connect Count' > 0, Connect, Other)
| stats distinctcount(Object) as Objects, distinctcount('Database ID') as 'Number of DBs',
distinctcount(Session) as 'Number of Sessions'
| fields -'dual Table Access', -'No Table Access', -'ALL_ Table Access',
-'USER_ Table Access', -'DBA_ Table Access', -'VDollar Table Access', -'Insert Count',
-'Select Count', -'Update Count', -'Delete Count', -'Connect Count', -'SQL Type', -'Object Type'
| classify Age
| classify 'Number of Sessions'
| classify 'Number of DBs'
| classify 'Number of Runs', 'Object Type'
| classify 'Object Type', 'SQL Type'
addfields
é uma função disponível com visualização de link para adicionar campos virtuais à consulta. Leva uma consulta e canaliza a saída para um comando stats
. O campo virtual resultante está disponível na tabela, bem como no gráfico de série de tempo.
Para obter a sintaxe e outros detalhes do comando addfields
, consulte addfields.
Ao executar a consulta acima, os seguintes resultados podem ser observados:
-
Com base no comando de classificação, são gerados os gráficos de bolhas para
Age
,Number of Sessions
,Number of DBs
,Number of Runs, Object Type
eObject Type, SQL Type
.Nos gráficos de bolhas, os registros de log são agrupados com base no número de SQLs que se enquadram em cada conjunto de parâmetros. Os parâmetros
Object Type
eSQL Type
são determinados usando o comandoeval
na consulta. -
Os gráficos de histograma Linha com Área ilustram a ocorrência de campos como
dual Table Access
,No Table Access
,ALL_ Table Access
,USER_ Table Access
,DBA_ Table Access
,VDollar Table Access
,Insert Count
,Select Count
,Update Count
,Delete Count
,Connect Count
eLog Records
representados de acordo com o tempo.-
Na guia do gráfico de histograma, clique na seta para baixo ao lado do ícone Opções de gráfico (
).
-
Selecione para mostrar os gráficos de todos os campos.
-
Em Tipo de Gráfico, selecione Linha com Área.
-
Ajuste a largura para exibir dois gráficos por linha.
-
-
A Tabela de Grupos lista os grupos identificados por link com base no campo Instrução SQL. Você pode observar que, para cada SQL, a tabela lista o número de vezes que a SQL foi executada, o horário inicial, o horário final e a duração do grupo. Clique em cada grupo e exiba os registros de log para obter mais detalhes. Você também pode exibir os grupos na visualização do cluster para análise posterior.
Analisar o Tempo Utilizado Entre as Etapas de uma Transação
O recurso de link permite analisar sessões do usuário, extrair os vários parâmetros de tempo agrupando e deduzir dados sobre o tempo da transação para ajudar a obter insights de negócios.
Considere este conjunto de dados não ordenado obtido de um arquivo de Log de Acesso. Os seguintes campos indicam as informações sobre uma sessão do usuário e as ações executadas pelo usuário:
Time | Session ID | Action
T2 | 1 | Login
T1 | 5 | Login
T6 | 1 | addtocart
T3 | 1 | productlisting
T4 | 1 | purchase
T9 | 1 | purchase
T7 | 5 | addtocart
T5 | 1 | addtocart
T8 | 5 | purchase
As ações como Login
, addtocart
, productlisting
e purchase
são registradas em ordem aleatória de T1
a T9
e ocorreram em duas sessões com o ID de sessão 1
e 5
.
Para executar uma análise de tempo semelhante dos seus Logs de Acesso, extraia o Session ID
dos logs para um campo. Extraia as etapas intermediárias da sessão dos Logs de Acesso aplicando uma expressão regular para obter o URL
dos logs.
Em um contexto genérico, as sessões neste exemplo representam qualquer transação de usuário e as ações representam as etapas intermediárias executadas pelo usuário para concluir uma transação.
Para analisar esses dados não ordenados e extrair as informações necessárias, a seguinte consulta de exemplo pode ser executada:
'Upload Name' = logadmin
| link 'Session ID'
| rename 'Group Duration' as 'Session Duration'
| addfields
[ Action = addtocart | stats earliest(Time) as 'First Add To Cart Time' ],
[ Action = purchase | stats latest(Time) as 'Last Purchase Time' ]
| eval 'Time Taken for Purchase (Secs)' = ('Last Purchase Time' - 'First Add To Cart Time') / 1000
| fields -'First Add To Cart Time',
-'Last Purchase Time'
| classify 'Time Taken for Purchase (Secs)'
-
link 'Session ID'
agrupa os registros de Logs de Acesso pelo ID da Sessão, criando dois grupos:Time | Session ID | Action T2 | 1 | Login T6 | 1 | addtocart T3 | 1 | productlisting T4 | 1 | purchase T5 | 1 | addtocart T9 | 1 | purchase T1 | 5 | Login T7 | 5 | addtocart T8 | 5 | purchase
-
addfields
é executado em cada um desses grupos. O primeiroaddfields
coleta os registros em queAction = addtocart
. O resultado dessa consulta é o seguinte para os dois grupos:Time | Session ID | Action T6 | 1 | addtocart T5 | 1 | addtocart T7 | 5 | addtocart
-
stats earliest(Time)
classifica o resultado acima por tempo, para cada grupo:Time | Session ID | Action T5 | 1 | addtocart T6 | 1 | addtocart T7 | 5 | addtocart
-
Em seguida, o campo especificado, que é
Time
, é retirado do primeiro registro:'First Add To Cart Time' = T5 for Group = 1 'First Add To Cart Time' = T7 for Group = 5
-
O segundo
addfields
é executado emAction = purchase
, extraindo os seguintes registros:Time | Session ID | Action T4 | 1 | purchase T9 | 1 | purchase T8 | 5 | purchase
-
latest(Time)
também classifica os registros acima porTime
:Time | Session ID | Action T4 | 1 | purchase T9 | 1 | purchase T8 | 5 | purchase
-
latest(Time)
coleta o último registro e extrai o campo especificado, que éTime
:'Last Purchase Time' = T9 for Group = 1 'Last Purchase Time' = T8 for Group = 5
-
Nesse ponto, os dois grupos têm os valores para
First Add to Cart Time
eLast Purchase Time
definidos. Estes são timestamps.eval
subtrai um do outro para obter o tempo decorrido. -
Efetivamente, você pode obter o tempo necessário de Adição ao Carrinho para a etapa Comprar de cada sessão. Isso agora pode ser usado em
classify
para analisar a variação desse Tempo Decorrido entre as sessões.
Para obter a sintaxe e outros detalhes do comando addfields
, consulte addfields.
Gerar Gráficos para Diversos Campos e seus Valores
Você pode usar o comando addfields
na consulta para especificar vários campos e gerar gráficos distintos. Agora, você também pode usar a opção Adicionar/Editar Gráficos do histograma na IU para executar a mesma operação que o comando addfields
.
Normalmente, você deseja comparar os gráficos de um único campo com diversos valores, por exemplo, os valores do campo Severidade como Erro, Crítico, Alerta e Advertência. A opção Adicionar Gráfico permite gerar vários gráficos para comparar lado a lado especificando o campo e seus valores na caixa de diálogo.
Se preferir, digite e atualize a consulta com o comando. A opção Adicionar Gráfico permite executar a operação mais rapidamente do que compor a consulta com o comando addfields
.
-
Na interface de usuário do link, vá para a guia Registros de Log, no menu
Opções do Gráfico, clique em Adicionar/Editar Gráficos para atualizar automaticamente a consulta com o comando
addfields
.A caixa de diálogo Adicionar/Editar Gráficos é aberta.
-
Ao lado de Subconsulta, selecione o campo no menu, por exemplo,
Severity
.Selecione o operador relacionado.
Clique no ícone de edição
para selecionar um ou mais valores, por exemplo,
alert
. Os campos calculados não são suportados. -
Se desejar, selecione a função Estatísticas.
Ao lado de Estatísticas, selecione a Função a ser executada no campo e o Campo de Função no menu drop-down.
Exceto a função
count
, todas as outras exigem que o Campo de Função seja especificado. -
Clique em Adicionar Gráfico para exibir a consulta resultante. Clique no ícone de edição
para editar a consulta.
-
Repita as etapas de 2 a 4 para adicionar mais gráficos, por exemplo, para gerar gráficos dos valores
error
,critical
ewarning
do campoSeverity
.Clique em Atualizar.
-
Clique no menu Opções de gráfico
e certifique-se de que novos gráficos gerados sejam incluídos e selecionados na opção Ocultar/Mostrar. Você ainda pode selecionar o tipo de gráfico, o tamanho, a altura, a largura e outros atributos. Consulte Gráfico de Histograma.
Agora você pode ver os gráficos personalizados de campos de seleção e seus valores de seleção na guia Registros de Log e compará-los visualmente.
Agregação de Segundo Nível Usando o Comando Eventstats no Link
O link é usado para agrupar os registros de log usando uma ou mais chaves exclusivas. Por exemplo, você pode agrupar todos os registros de log pertencentes a uma transação usando o ID da transação exclusivo. É possível gerar estatísticas em cada grupo usando o comando stats
. eventstats
é um novo comando que pode agregar ainda mais essas estatísticas. Os exemplos a seguir ilustram os casos de uso do comando eventstats
.
Considere o seguinte Conjunto de Dados de Logs de Acesso nos exemplos:
1-Jan-2020 10:00:00 PST, chicago_dc1 /index.html 100
1-Jan-2020 10:00:00 PST, chicago_dc1 /index.html 100
1-Jan-2020 10:00:00 PST, chicago_dc1 /index.html 50
1-Jan-2020 10:00:00 PST, chicago_dc1 /index.html 50
1-Jan-2020 10:00:00 PST, chicago_dc2 /index.html 200
1-Jan-2020 10:00:00 PST, chicago_dc2 /index.html 200
1-Jan-2020 10:00:00 PST, austin_dc7 /report/download 5000
1-Jan-2020 10:00:00 PST, austin_dc7 /users/auth 50
1-Jan-2020 10:00:00 PST, amsterdam_dc1 /index.html 350
1-Jan-2020 10:00:00 PST, amsterdam_dc1 /report/download 1024
O conjunto de dados tem estes campos:
- Horário: Por exemplo, 1-Jan-2020 10:00:00 PST.
- Nome do Host (Servidor): O host que atendeu a essa solicitação, por exemplo, chicago_dc1.
- URI: O URL da solicitação, por exemplo, /index.html.
- Tamanho do Conteúdo de Saída: O número de bytes baixados, por exemplo, 100.
Agrupamento Simples:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
A consulta acima agrupa os registros de log usando a combinação distinta dos campos Nome do Host (Servidor) e URI. O campo Tamanho do Conteúdo de Saída de cada registro é então somado por grupo no novo campo Bytes Baixados.
Soma Global Usando o Comando Eventstats
Os bytes baixados no exemplo anterior são para cada combinação de servidor e URL. Um caso de uso simples de eventstats
seria calcular o total de dados baixados em todos os servidores e URLs:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
| eventstats sum('Bytes Downloaded') as 'Total Bytes Downloaded'
No exemplo acima, eventstats
agrega valores para cada grupo para produzir um único acúmulo global. Agora isso pode ser informado para classify
ou eval
, bem como usado na cláusula where
.
Vários Comandos eventstats
:
Vários eventstats
podem ser agrupados ou encadeados como no seguinte exemplo:
.. | eventstats sum('Content Size In') as 'Bytes Uploaded', sum('Content Size Out') as 'Bytes Downloaded'
| eventstats avg('Duraton') as 'Global Average Duration'
Agrupando com o Uso do Comando Eventstats
O comando eventstats
também tem um modo agrupar por. Considere a seguinte consulta:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
| eventstats sum('Bytes Downloaded') as 'Total Bytes Downloaded' by URI
Em vez de calcular um único valor, o comando eventstats
agora calcula um valor por URI exclusivo:
A soma é produzida primeiro obtendo os URIs distintos e, em seguida, executando a agregação:
index.html -> 300 + 400 + 350 = 1050
/report/download -> 5000 + 1024 = 6024
/users/auth -> 50 = 50
Eventstats com Eval
O comando eventstats
também pode operar em um campo produzido por um comando eval
. Por exemplo, em vez do URL, podemos produzir os totais em relação ao data center:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
| eval offset = indexof('Host Name (Server)', _)
| eval Datacenter = substr('Host Name (Server)', 0, offset)
| eventstats sum('Bytes Downloaded') as 'Total Bytes Downloaded' by Datacenter
| fields -offset
A função sum
é executada após o agrupamento por substrings:
chicago_dc1 = 300
chicago_dc2 = 400
-> chicago = 300+400 = 700
amsterdam_dc1 = 350
amsterdam_dc1 = 1024
-> amsterdam = 350 + 1024 = 1374
austin_dc7 = 5000
austin_dc7 = 50
-> austin = 5000 + 50 = 5050
O agrupamento pode ser executado usando uma ou mais propriedades. As propriedades são as chaves de grupo ou os valores de string produzidos por stats
ou eval
.
Porcentagens de Computação para Comparação de Grupo
Um aplicativo muito importante para o comando eventstats
é produzir um valor global e identificar a contribuição percentual alta ou baixa de vários grupos:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
| eval offset = indexof('Host Name (Server)', _)
| eval Datacenter = substr('Host Name (Server)', 0, offset)
| eventstats sum('Bytes Downloaded') as 'Total Bytes Downloaded' by Datacenter
| eval 'Download Contribution %' = 100 / ('Total Bytes Downloaded' / 'Bytes Downloaded')
| fields -offset
% de Contribuição de Download é calculado usando o valor global produzido pelo comando eventstats..by
e o valor por grupo produzido por stats
:
chicago_dc1, index.html => 100/(700/300) = 42.857
chicago_dc2, index.html => 100/(700/400) = 57.143
amsterdam_dc1, index.html => 100/(1374/350) = 25.473
amsterdam_dc1, /report/download => 100/(1374/1024) = 74.527
austin_dc7, /report/download => 100/(5050/5000) = 99.01
austin_dc7, /users/auth => 100/(5050/50) = 0.99
Essa consulta permite ver quais URLs causam o tráfego de download mais alto em comparação com outros URLs no mesmo data center. O campo % de Contribuição de Download pode ser usado para filtrar os grupos usando:
- a cláusula
where
- o comando
sort
para classificação - o comando
classify
para detecção de anomalias
Usar Funções de Navegação de Link para Identificar Eventos em um Banco de Dados
Use Link para criar dados estruturados de registros de log e exibir os dados como tabela ordenada. As funções estatísticas podem ser aplicadas a colunas da tabela usando o comando stats para criar colunas derivadas. Essas colunas derivadas podem ser melhor agregadas usando o comando eventstats.
Funções de Navegação
As funções de navegação são úteis para extrair valores de uma coluna específica de uma linha específica. Elas produzem resultados diferentes dependendo do comando de classificação anterior.
As seguintes funções de navegação podem ser usadas com o comando eventstats
no link:
Função | Descrição |
---|---|
|
Criar uma coluna de número de linha |
|
Obter o primeiro valor para o campo especificado |
|
Obter o último valor para o campo especificado |
|
Obter o valor da coluna da linha especificada |
|
Obter o valor da coluna da linha anterior |
|
Obter o valor da coluna para a próxima linha |
Para obter mais informações sobre as funções, consulte eventstats.
Obter Contexto de um Evento
O Oracle Log Analytics fornece labels prontos para uso para os Logs de Alerta do Banco de Dados. O Label Encerramento Anormal indica um problema grave que faz com que o banco de dados seja desligado. Uma triagem típica envolve a análise da sequência de eventos que aconteceram antes desse shutdown. Também é útil saber os eventos após um shutdown.
As seções a seguir explicam as etapas da triagem usando algumas das funções eventstats
para Logs de Alerta do Banco de Dados.
Vincular Eventos em Logs de Alerta do Banco de Dados
Execute a seguinte consulta para vincular os eventos de um banco de dados selecionado:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
Isso cria uma linha exclusiva para cada Label no Banco de Dados. Uma vez que incluímos a coluna Horário, haverá várias linhas para o mesmo Label, se elas se repetirem em momentos diferentes.
O comando sort
classifica a tabela pela ordem de Label, com o mais antigo na primeira linha.
Adicionar Número da Linha
Execute a consulta a seguir para adicionar um número a cada linha:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
Se a consulta tivesse mais de um banco de dados, o Número da Linha seria redefinido para cada Banco de Dados, em razão da cláusula by Database
.
Identificar a Linha com o Evento de Falha do Banco de Dados
O Label Encerramento Anormal indica que o banco de dados falhou. Identifique essas linhas com a seguinte consulta:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
| addfields
[ * | where Label = 'Abnormal Termination'
| eventstats last('Row Number') as 'Crash Row'
]
addfields
é usado para identificar um subconjunto dos registros de log. Nesse caso, addfields
pesquisa várias linhas da tabela. As linhas correspondentes são informadas para eventstats
e last('Row Number')
seleciona o Número da Linha da última linha correspondente. Essa agora é preenchido como novo campo Linha de Falha. Observe que a Linha de Falha só terá um valor para as linhas que correspondem à condição especificada em addfields
.
A Linha de Falha é preenchida apenas para linhas específicas. Use outro eventstats
para preencher todas as linhas com o valor:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
| addfields
[ * | where Label = 'Abnormal Termination'
| eventstats last('Row Number') as 'Crash Row'
]
| eventstats max('Crash Row') as 'Event Row' by Database
Isso cria a coluna Linha do Evento em cada linha e contém a linha que teve a última Falha do Banco de Dados.
Identificar Eventos perto da Falha do Banco de Dados
A tabela ainda tem vários eventos, por exemplo, centenas. Para identificar alguns eventos antes e depois da Linha do Evento, altere a consulta para filtrar as linhas:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
| addfields
[ * | where Label = 'Abnormal Termination'
| eventstats last('Row Number') as 'Crash Row'
]
| eventstats max('Crash Row') as 'Event Row' by Database
| eval 'Start Row' = 'Event Row' - 3
| eval 'End Row' = 'Event Row' + 2
| where 'Row Number' >= 'Start Row' and 'Row Number' <= 'End Row'
A tabela agora mostra quais eventos ocorreram antes do Encerramento Anormal. Também podemos ver os eventos que aconteceram após o Encerramento Anormal.
Eventos Anterior e Próximo
lag()
pode ser usado para obter o evento anterior. Um número de linha opcional pode ser informado para obter uma linha anterior específica. lead()
pode ser usado de forma semelhante para obter a próxima linha:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| addfields
[ *
| where Label != null
| eventstats lag(Label) as 'Previous Event',
lead(Label) as 'Next Event'
]
Além disso, nthVal()
pode obter o valor de uma linha específica.
Use os Símbolos de Moeda em sua Análise de Log
Você pode usar a função unit
no comando eval
para marcar um campo como contendo moeda. Em seguida, você pode usar esse valor de campo em sua análise e exibir o símbolo de moeda correspondente na tabela de visualizações e grupos.
Você pode primeiro especificar a unidade monetária usando o formato definido em eval. Depois disso, a tabela de links e os gráficos exibirão os símbolos de moeda corretos.
No exemplo a seguir, o valor do campo Preço é usado para calcular os valores dos novos campos Preço (US$), Preço (GBP), Preço (JPY), Preço (CNY) e Preço (INR) e marcá-los como contendo moeda. Os mesmos novos campos são usados para análise na obtenção do preço médio regional da gasolina durante um período de vários anos.
'Log Source' = 'Gasoline Prices'
| eval 'Price (USD)' = unit(Price, currency_usd)
| eval 'Price (GBP)' = unit(Price * 0.72, currency_gbp)
| eval 'Price (JPY)' = unit(Price * 110.6, currency_jpy)
| eval 'Price (CNY)' = unit(Price * 6.47, currency_cny)
| eval 'Price (INR)' = unit(Price * 74.79, currency_inr)
| link Time, Type, Region
| stats avg('Price (USD)') as 'Cost (USD)',
avg('Price (GBP)') as 'Cost (GBP)',
avg('Price (JPY)') as 'Cost (JPY)',
avg('Price (CNY)') as 'Cost (CNY)',
avg('Price (INR)') as 'Cost (INR)'
| classify 'Start Time', 'Cost (USD)', Region, Type as 'Gas Price Analysis'
Na imagem a seguir, os grupos são identificados com base na região, tempo e tipo de gasolina. A faixa de preço médio da gasolina é usada para plotar as bolhas ao longo do eixo y.

Na imagem a seguir, a tabela de grupos mostra o preço médio da gasolina em várias moedas. Os gráficos mostram a variação do custo em vários anos para cada valor de moeda.

Análise de Séries Temporais Usando o Comando timestats
Você pode analisar a tendência de um campo usando o comando timestats
. O comando timestats
, quando usado após o comando link
, fornece análises de séries temporais adicionais e visualização avançada.
Considere o exemplo de Logs de Esquema Unificado de Fluxo da VCN do OCI. O campo Ação nos Logs de Esquema Unificado de Fluxo da VCN do OCI indica se uma solicitação de rede específica foi aceita ou rejeitada. Use o comando timestats
para analisar a tendência desse campo. Consulte timestats.
Começando com o comando link
básico:
'Log Source' = 'OCI VCN Flow Unified Schema Logs' | link Action
Isso mostra que há dois valores distintos para o período selecionado:

No caso acima, apenas uma linha está disponível para cada Ação exclusiva porque o comportamento padrão é agrupar pelo campo fornecido. A primeira etapa é garantir que haja várias linhas para cada valor com base no período. Você pode fazer isso adicionando Tempo como outro campo ao comando link
.
'Log Source' = 'OCI VCN Flow Unified Schema Logs' | link span=1day Time, Action
O parâmetro span é opcional. Se não for fornecido, um padrão apropriado para o período selecionado será calculado. Agora você pode ver a mesma Ação para um dia diferente aparecer em uma linha separada.

Agora use o comando timestats
. Nesse caso, queremos Horário Inicial no Eixo X e o valor Contagem no eixo Y. Como timestats
sempre requer uma função, use a função sum() para somar o número de registros com o valor Action fornecido, para cada intervalo.
'Log Source' = 'OCI VCN Flow Unified Schema Logs'
| link span=1day Time, Action
| timestats name="Trend of Action" sum(Count) as Records by Action
Isso mostra os valores sum(Count) de cada Ação.

Para obter detalhes sobre plotagem da série de tempo usando o comando timestats
, campos, limites e opções de configuração, consulte Usar Comando de timestats para Plotar uma Série de Tempo.
Agrupamento de Séries Temporais
Você pode agrupar valores de séries temporais semelhantes usando o comando timecluster
após o comando link
. A clusterização é útil quando há um grande número de séries temporais para analisar ou quando você deseja identificar comportamentos diferentes em seus valores de séries temporais.
Os Logs de Esquema Unificado de Fluxo da VCN do OCI registram as informações de tráfego de rede de uma VNIC do OCI. Para identificar o volume de dados transferido por diferentes IPs Públicos, uma consulta pode ser composta usando os campos IP Público e Tamanho do Conteúdo Externo.
Começando com o comando link
básico:
'Log Source' = 'OCI VCN Flow Unified Schema Logs' | eval 'Content Size Out (bytes)' = unit('Content Size Out', byte) | link 'Public IP'
Isso mostra que há mais de 25k IPs Públicos exclusivos no sistema.

A tabela tem uma linha para cada IP Público exclusivo. Deve ser dividido para ter uma linha para cada período. Isso pode ser feito adicionando o campo Tempo ao comando link
:
'Log Source' = 'OCI VCN Flow Unified Schema Logs'
| eval 'Content Size Out (bytes)' = unit('Content Size Out', byte)
| link Time, 'Public IP'
Isso mostra várias linhas para cada valor de IP Público.
Se o comando timestats
for usado para plotar a série de tempo, ele retornará apenas os 100 principais IPs Públicos. Não é possível plotar IPs 25k em um gráfico.

Portanto, em vez de timestats
, use timecluster
para obter as amostras representativas.
'Log Source' = 'OCI VCN Flow Unified Schema Logs'
| eval 'Content Size Out (bytes)' = unit('Content Size Out', byte)
| link Time, 'Public IP'
| timecluster avg('Content Size Out (bytes)') as 'Network Transfer' by 'Public IP'

Cada linha representa um ou mais valores de IP Público que têm valores semelhantes para a Transferência de Rede.
Passe o mouse sobre qualquer ponto para ver mais detalhes:

Para obter mais detalhes sobre o comando timecluster
e a clusterização de séries temporais, consulte timecluster e Usar o Comando timecluster para Plotar uma Série Temporal.