Realización de análisis avanzados con Link
Conozca la aplicación de la función Link para realizar análisis avanzados con el caso de uso descrito en este tema.
Escenarios de ejemplo:
Caso de uso | Función Link | Logs de ejemplo |
---|---|---|
Visualización de datos de series de tiempo mediante la función de tendencia Link |
Tendencia de enlace |
|
Enlace de características básicas |
|
|
Uso de campos virtuales para gráficos |
|
|
Uso de Sentencia SQL como campo |
|
|
Análisis del tiempo transcurrido entre pasos de una transacción |
Análisis de tiempo |
|
Gráficos para varios campos y sus valores |
- |
|
Agregación de segundo nivel mediante el comando eventstats en Link |
Agregación de segundo nivel |
|
Uso de funciones de navegación de enlaces para identificar eventos en una base de datos |
Funciones de navegación |
|
Uso del símbolo de moneda en tablas y gráficos de grupos |
|
|
Analizar la tendencia de un campo |
|
|
Agrupar valores de series temporales similares |
|
Visualización de datos de series temporales mediante la función de tendencia Link
Link se utiliza para agrupar los registros de log por campos específicos. Las distintas estadísticas que puede extraer de estos grupos se pueden visualizar mediante la visualización del gráfico de burbujas. La visualización del gráfico de burbujas ahora se ha mejorado para soportar el campo Tiempo como eje.
En los siguientes pasos se explica cómo utilizar la función de tendencia para analizar la duración del trabajo para las solicitudes simultáneas de Oracle E-Business Suite (EBS).
Tenga en cuenta el siguiente log de ejemplo en la ruta de archivo /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
+---------------------------------------------------------------------------+
El origen definido por Oracle logs de solicitudes simultáneas de EBS - Mejorados extrae el campo ID de solicitud de la ruta de archivo. Por ejemplo, los datos numéricos 7474445
son el ID de solicitud extraído de la ruta de archivo del log de ejemplo anterior. El origen también extrae los metadatos asociados para cada ID de solicitud.
-
Seleccione el origen y cambie a la visualización de Link:
En el panel Campos, haga clic en Origen de log > Seleccione el origen de log Logs de solicitud simultánea de EBS - Mejorado > Cambie a la visualización Enlazar > Arrastre y suelte el campo ID de solicitud en el panel Agrupar por para obtener la lista de solicitudes:
La consulta generada automáticamente tiene el siguiente aspecto:
'Log Source' = 'EBS Concurrent Request Logs - Enhanced' | link 'Request ID'
-
Extraiga la hora de inicio y de finalización de la solicitud:
Cada solicitud tiene una hora de inicio y una hora de finalización impresas en el archivo. Si la hora de finalización está ausente, la hora a la que se actualiza el archivo se considera la hora de finalización. El origen de log está configurado para capturar estos valores como campos Hora de inicio de evento y Hora de finalización de evento.
Edite la consulta para extraer estos 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
es una función del comandostats
. De esta forma se ordenan los registros de cada ID de solicitud por hora y se devuelve la hora de inicio de evento más antigua. Del mismo modo, conlatest
se devuelve la última hora de finalización del evento.Ahora puede ver los nuevos campos en la tabla de registros:
Hora de inicio de solicitud y Hora de finalización de solicitud se detectan automáticamente como registros de hora y tienen formato en la zona horaria local. Cuando se recopilan los archivos, el agente utiliza la zona horaria de la base de datos de EBS para interpretar los registros de hora.
Nota
Para asegurarse de que la zona horaria de la base de datos se muestra como se esperaba en el directorio raíz de configuración de Oracle Infrastructure Monitoring y para evitar la discrepancia en los valores, proporcione la zona horaria durante la carga. -
Duración de la solicitud de recursos informáticos:
Ahora que tenemos las horas de inicio y finalización de cada solicitud, podemos calcular la duración como la diferencia entre estos dos campos.
Cambie la consulta como corresponda:
'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'
Tiempo usado es un nuevo campo creado para cada grupo de ID de solicitud. Podría contener la diferencia entre la hora de inicio y de finalización de la solicitud.
Nota
Oracle Logging Analytics detecta automáticamente el tiempo empleado como un campo de duración, ya que se produce por la diferencia entre dos campos de registro de hora. Por lo tanto, adopta automáticamente el formato legible por el hombre.
-
Tendencia del tiempo que tardan las solicitudes simultáneas de EBS:
El campo Tiempo empleado ahora se puede analizar para las tendencias. Haga clic en el icono Analizar
> Seleccione los campos Hora de inicio de solicitud y Tiempo usado en el cuadro de diálogo Analizar > Haga clic en Aceptar.
De esta forma se cambiaría automáticamente la consulta a:
'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'
El comando
Classify
toma dos campos, agrupa los resultados y marca las anomalías cuando corresponde. Los resultados se muestran en el gráfico de burbujas.Cuando se selecciona Tiempo para un eje, el gráfico de burbujas cambia automáticamente a la opción Tendencia. Para modificar las opciones del gráfico, haga clic en el icono Opciones de gráfico
y cambie los parámetros necesarios.
En el gráfico de burbujas resultante, la hora de inicio de solicitud se traza en el eje X y los clusters de tiempo empleado se trazan en el eje Y:
La hora se muestra en la zona horaria local. El tamaño de las burbujas indica el número de solicitudes.
En el gráfico de burbujas anterior, la duración de la solicitud de más de cuatro minutos se observa el 21 de julio de 2018. La mayoría de las solicitudes han finalizado en menos de dos minutos.
Puede hacer clic en una o más burbujas para aumentar detalle y ver las solicitudes específicas.
Análisis de los logs de acceso de Oracle WebLogic Server
Tenga en cuenta el ejemplo de un juego de datos que consta de logs de acceso de Oracle WebLogic Server desde el origen de log FMW WLS Server Access Logs
. Los registros de log contienen datos sobre el acceso de los usuarios a Oracle WebLogic Server durante un período de tiempo específico. Estos registros de log individuales se pueden analizar para obtener información significativa sobre las estadísticas de uso, la popularidad de las URL, los usuarios más activos y más datos de este tipo. En los logs, descubra cómo obtener los siguientes resultados analizando los registros de log con la selección de campos específicos para cada resultado:
-
Mostrar las URL principales por número de aciertos
-
Mostrar las anomalías por número de aciertos
-
Mostrar las anomalías por duración de acceso
-
Identificar las URL por tamaño de carga
-
Identificar las URL por tamaño de descarga
-
Analizar la correlación entre el número de aciertos y el tamaño de descarga
-
Determinar las páginas más visitadas
-
Identificar los usuarios principales
-
Identificar los usuarios principales y sus páginas favoritas
-
Identificar la página de entrada que controla el máximo de visitas
-
Identificar la ruta de entrada y salida para la mayoría de los usuarios
-
Utilice el comando
rename
para cambiar el nombre del campo por uno que sea más relevante para el caso de uso. -
El comando
classify
permite analizar los grupos y muestra el resultado como un gráfico de burbujas. Para ver simplemente el resultado de la ejecución de una consulta en formato tabular, elimine el comandoclassify
de la consulta y vuelva a ejecutarlo. -
Haga clic en la burbuja anómala del gráfico para ver los detalles de los grupos anómalos. Para volver al resultado original después de investigar la burbuja, haga clic en el icono Deshacer
.
-
Al ejecutar el comando
link
, se muestra la duración del grupo en un formato legible en el gráfico de burbujas, por ejemplo, en minutos o segundos. Sin embargo, si desea ejecutar un comandowhere
después del comandolink
para buscar transacciones que hayan tardado más de la cantidad especificada de segundos (por ejemplo, 200 segundos), la unidad que debe utilizar es milisegundos.
Para recuperar el juego de datos, seleccione un rango de fechas adecuado, especifique el origen de log y ejecute la consulta:
'Log Source' = 'FMW WLS Server Access Logs'
Seleccione Enlazar en el panel Visualizar. Se mostrará la tabla de grupos 'FMW WLS Server Access Logs' y el gráfico de burbujas.
-
Para mostrar las URL principales por número de aciertos, agrupe los registros de log por el valor de la URL en el registro de log, obtenga el recuento total de la URL en cada grupo, cambie el nombre de los campos por defecto de la tabla de grupos a los valores adecuados y muestre el resultado en formato tabular. Con este análisis, puede determinar las URL más utilizadas.
-
Arrastre y suelte el campo URI en Agrupar por y elimine el campo Origen de log de Agrupar por.
-
Una vez ejecutada la consulta, en la línea de comandos, cambie los nombres de los campos Recuento por Número de aciertos, Hora de inicio to Primer acceso, Hora de finalización to Último acceso, así como Duración de grupo por Duración de acceso.
-
Elimine el comando
classify
de la línea de comandos y envíe la consulta.La consulta será la siguiente:
'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'
Al ejecutar la consulta, puede determinar las URL principales por número de aciertos en la tabla. El nombre de las columnas se cambia según lo especificado en el comando rename.
-
-
Para mostrar las anomalías por número de aciertos, agrupe los registros de log por el valor de la URL en el registro de log, cambie el nombre de los campos por defecto de la tabla de grupos a los valores adecuados y analice los grupos para el número de aciertos. Con este análisis, puede separar el patrón inusual en el acceso a las URL.
Haga clic en Analizar, seleccione Número de aciertos y haga clic en Aceptar.
La consulta debe cambiar a lo siguiente:
'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'
Esta consulta dispara el análisis de la columna 'Número de aciertos' y crea burbujas que representan los rangos que se suelen ver. La mayoría de los valores se tratan como base. Por ejemplo, una burbuja grande se puede convertir en la línea base, o un gran número de burbujas más pequeñas agrupadas pueden formar la línea base. Las burbujas que estén más lejos de la base se marcan como anomalías.
Por lo tanto, de esta forma se muestran las URL anómalas agrupadas en burbujas separadas en el gráfico de burbujas. Para ver el porcentaje de URL en cada rango de número de aciertos, pase el cursor sobre las burbujas.
-
Para mostrar las anomalías por duración de acceso, agrupe los registros de log por el valor de la URL en el registro de log, cambie el nombre de los campos por defecto de la tabla de grupos a valores adecuados y analice los grupos para obtener la duración de acceso de la URL. Con este análisis, puede separar el patrón inusual en el tiempo dedicado a acceder a las URL. Como continuación al paso 2:
Haga clic en Analizar, seleccione Duración de acceso y haga clic en Aceptar.
La duración del acceso indica la duración durante la que se ha accedido a cada URL. Se calcula como la diferencia entre el último registro de hora y el primer registro de hora del archivo log para cada URL.
-
Para identificar las URL por tamaño de carga, agrupe los registros de log por el valor de la URL en el registro de log, cambie el nombre de los campos por defecto de la tabla de grupos a los valores adecuados y analice los grupos para el tamaño de los datos cargados. Con este análisis, puede identificar las URL que tengan un tamaño inusual de los datos cargados. Como continuación al paso 3:
-
Arrastre y suelte el campo Tamaño de contenido en en la sección Valor.
-
Cambie el nombre del campo Tamaño de contenido en a Bytes cargados modificando la consulta en la línea de comandos y ejecute la consulta.
-
Haga clic en Analizar, seleccione Bytes cargados y haga clic en Aceptar.
La consulta será la siguiente:
'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'
En el gráfico Analizar se muestran los grupos de URL por los bytes cargados.
-
Para correlacionar los datos de Bytes cargados en el rango de tiempo, puede ocultar o mostrar gráficos de forma selectiva en Opciones de gráfico de histograma. Explore las otras opciones de visualización además del gráfico de barras.
-
-
Para identificar las URL por tamaño de descarga, agrupe los registros de log por el valor de la URL en el registro de log, cambie el nombre de los campos por defecto de la tabla de grupos a los valores adecuados y analice los grupos para el tamaño de los datos descargados. Con este análisis, puede identificar las URL que tengan un tamaño inusual de datos descargados. Como continuación al paso 4:
-
Arrastre y suelte el campo Content Size Out en la sección Valor y elimine Content Size In de la sección Valor.
-
Cambie el nombre del campo Content Size Out a Tamaño de descarga modificando la consulta en la línea de comandos y ejecute la consulta.
-
Haga clic en Analizar, seleccione Tamaño de descarga y haga clic en Aceptar.
La consulta será la siguiente:
'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'
En el gráfico Analizar se muestran los grupos de URL por tamaño de descarga.
-
Para correlacionar los datos de Tamaño de descarga en el rango de tiempo, puede ocultar o mostrar gráficos de forma selectiva en Opciones de gráfico de histograma. Explore las otras opciones de visualización además del gráfico de barras.
-
-
Para analizar la correlación entre el número de aciertos y el tamaño de descarga, agrupe los registros de log por el valor de la URL en el registro de log, cambie el nombre de los campos por defecto de la tabla de grupos a los valores adecuados y analice los grupos para obtener el tamaño de los datos descargados y el número de aciertos. Con este análisis, puede identificar las URL que tengan patrones inusuales de tamaño de datos descargados y el número de aciertos. Como continuación al paso 5:
-
Haga clic en Analizar, seleccione los campos Número de aciertos, Tamaño de descarga y haga clic en Aceptar.
-
Elimine
topcount=300
de la consulta para ver todas las burbujas y ejecute la consulta.La consulta será la siguiente:
'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'
En el gráfico de burbujas, el campo Número de aciertos se traza en el eje X y Tamaño de descarga en el eje Y.
Las burbujas se pueden interpretar de la siguiente manera:
-
Se ha accedido al 73,8% de las URL de una a siete veces.
-
El tamaño medio de descarga para el 73,8% de las URL está entre 32.345 y 34.000. Este rango reducido implica que un gran número de direcciones URL tienen un comportamiento muy uniforme con referencia al tamaño de descarga.
-
Dado que el 73,8% es la gran mayoría, el resto de los puntos están marcados como anomalías.
-
Con datos reales, es habitual que el sistema agrupe archivos .css, .js y de imagen por separado de otras URL, ya que tienden a tener diferentes comportamientos de descarga.
-
-
Para determinar las páginas más visitadas, agrupe los registros de log por el valor de la URL en el registro de log, cambie el nombre de los campos por defecto de la tabla de grupos a los valores adecuados y analice los grupos para el número de visitantes únicos. Con este análisis, puede identificar las URL más visitadas por los visitantes únicos. Como continuación al paso 6:
-
Arrastre y suelte el campo Nombre de usuario en la sección Valor.
-
Haga clic en la flecha hacia abajo junto al nombre del campo, cambie la función de Único a Recuento distinto. Consulte las otras funciones que puede seleccionar para un campo numérico:
-
Cambie el nombre del campo Nombre de usuario a Número de usuarios únicos, elimine el comando
classify
modificando la consulta en la línea de comandos y ejecute la consulta. La consulta será la siguiente:'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'
-
Haga clic en Analizar, seleccione el campo Número de usuarios únicos y haga clic en Aceptar.
En la tabla se muestran las URL y el número correspondiente de usuarios únicos, lo que nos ayuda a identificar las URL más visitadas por los usuarios únicos. En la tabla, también puede determinar el número de aciertos que tiene cada URL.
El análisis muestra que más del 99 % de las URL tienen 0 o 1 usuario único. Este sería el caso de las URL que no necesitan una conexión o a las que rara vez se accede. Al profundizar en cualquiera de las burbujas más pequeñas, apuntará a las páginas específicas, cuántos aciertos suelen tener y cuántos visitantes únicos.
-
-
Para identificar los usuarios principales, agrupe los registros de log por el valor del nombre de usuario en el registro de log, cambie el nombre de los campos por defecto de la tabla de grupos a los valores adecuados y analice los grupos para el número de aciertos. Con este análisis, puede identificar los usuarios más activos.
-
Edite la línea de comandos para eliminar todos los filtros:
'Log Source' = 'FMW WLS Server Access Logs' | link URI
-
Arrastre y suelte el campo Nombre de usuario en Agrupar por, elimine URI y ejecute la consulta.
-
Elimine el comando
classify
, cambie el nombre de los campos por defecto en la línea de comandos y ejecute la siguiente 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'
La tabla se ordena por el número de aciertos del usuario.
-
Para ver el comportamiento del usuario por acceso, haga clic en Analizar, seleccione el campo Número de aciertos y haga clic en Aceptar.
-
Haga clic en las anomalías para identificar los usuarios que han registrado un número mayor o menor de aciertos en comparación con los demás usuarios.
-
-
Para identificar los usuarios principales y sus páginas favoritas, agrupe los registros de log por el valor del nombre de usuario en el registro de log, cambie el nombre de los campos por defecto de la tabla de grupos a los valores adecuados y analice los grupos para el número de páginas únicas. Con este análisis, puede identificar los usuarios menos activos y los más activos, así como sus páginas favoritas. Como continuación al paso 8:
-
Arrastre y suelte el campo URI en la sección Valor. Cambie la función de Único a Recuento distinto.
-
Cambie el nombre del campo URI a Número de páginas únicas modificando la consulta en la línea de comandos y ejecute la consulta.
-
Haga clic en Analizar, seleccione el campo Número de páginas únicas y haga clic en Aceptar.
-
-
Para identificar la página de entrada que controla el máximo de visitas, agrupe los registros de log por el valor del nombre de usuario en el registro de log, cambie el nombre de los campos por defecto de la tabla de grupos a los valores adecuados y analice los grupos para encontrar los valores de las URL de entrada y el número de aciertos para las URL. Con este análisis, puede identificar las páginas a las que los usuarios acceden primero. Como continuación al paso 9:
-
Para obtener las URL de entrada, cambie la función del campo URI de Recuento distinto a Primero.
-
Cambie el nombre del campo URI a URL de entrada modificando la consulta en la línea de comandos y ejecute la consulta.
-
Haga clic en Analizar, seleccione los campos Número de aciertos y URL de entrada, seleccione el topcount como 20 y haga clic en Aceptar.
'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'
De esta forma se muestra la primera URL utilizada por los usuarios en relación con el número de aciertos. Por ejemplo, /login es la URL que más utilizan los usuarios.
-
-
Para identificar la ruta de entrada y salida para la mayoría de los usuarios, agrupe los registros de log por el valor del nombre de usuario en el registro de log, cambie el nombre de los campos por defecto de la tabla de grupos a los valores adecuados y analice los grupos para los valores de las URL de entrada y las URL de salida. Con este análisis, puede identificar
-
Las rutas más comunes que siguen los usuarios para transitar por el sitio web
-
Las páginas de productos más populares desde las que los usuarios salen del sitio web
-
Las URL de salida más comunes, como las páginas de finalización de compra del producto o la puerta de enlace de pago
-
Las URL de salida inusuales y la causa raíz de las salidas inesperadas
-
Arrastre y suelte el campo URI en la sección Valor.
-
Para obtener la página de salida, cambie la función del campo URI de Único a Más reciente.
-
Edite la línea de comandos y cambie el nombre del campo latest(URI) a URL de salida y envíe la consulta.
-
Haga clic en Analizar, seleccione los campos URL de entrada y URL de salida, seleccione el topcount como 20 y haga clic en Aceptar.
'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 el tamaño del gráfico mediante Analizar opciones de gráfico.
En este gráfico de rectángulos se muestra la relación entre las URL de entrada y salida de un sitio. Esto sería muy útil para los sitios minoristas en los que los proveedores de servicios desearían identificar las URL de entrada que llevan a los clientes a las páginas de finalización de compra, y las URL de producto que están causando que los usuarios no vayan a la finalización de compra.
-
Generación de gráficos con campos virtuales
Para crear un nuevo campo virtual, puede utilizar el comando eval
en la función link. La consulta eval
en la línea de comandos generará un gráfico de líneas para el campo virtual y activará el seguimiento a lo largo del tiempo.
Para crear un nuevo campo virtual, puede utilizar el comando eval
en la función link. La consulta eval
en la línea de comandos generará un gráfico de líneas para el campo virtual y activará el seguimiento a lo largo del tiempo.
Ejemplos:
-
Tenga en cuenta el caso en el que los registros de log del origen de log
SAR CPU Logs
se agrupan por el nombre de host y la CPU. Para determinar la carga experimentada por la CPU del servidor a lo largo del tiempo, el comandoeval
crea un campo virtualLoad %
y genera el gráfico de líneas.'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 ver el gráfico de líneas:
-
Haga clic en el separador Histograma.
-
Haga clic en la flecha abajo junto al icono Opciones de gráfico (
). Haga clic en Mostrar/Ocultar gráficos. Seleccione % de carga.
-
Haga clic en la flecha abajo junto al icono Opciones de gráfico (
). Haga clic en Opciones de gráfico. En la lista Tipo de gráfico, seleccione Línea sin marcador. Haga clic en Cerrar.
-
-
Tenga en cuenta el caso en el que los registros de log del origen de log
OMC WLS Server Access Logs
se agrupan por el URI. Para determinar el tamaño de los datos a los que se accede a lo largo del tiempo en megabytes, el comandoeval
crea un campo virtualTamaño de contenido (MB)
, calcula el tamaño de contenido en MB según el valor del campoTamaño de contenido
y genera el gráfico de líneas.'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 ver el gráfico de líneas:
-
Haga clic en el separador Histograma.
-
Haga clic en la flecha abajo junto al icono Opciones de gráfico (
). Haga clic en Mostrar/Ocultar gráficos. Seleccione Tamaño de contenido (MB) y Registros de log de acceso.
-
Haga clic en la flecha abajo junto al icono Opciones de gráfico (
). Haga clic en Opciones de gráfico. En la lista Tipo de gráfico, seleccione Línea sin marcador. Haga clic en Cerrar.
-
Enlace con Sentencia SQL como campo de análisis
El enlace soporta Sentencia SQL como campo para el análisis. Sentencia SQL contiene el SQL que se ejecuta y que capturan los orígenes de log como Database Audit XML Logs
y Oracle Unified DB Audit Log Source Stored in Database 12.1
.
Puede utilizar link 'SQL Statement'
para agrupar sentencias SQL y analizar su comportamiento e identificar anomalías.
Ejemplo:
Tenga en cuenta la siguiente consulta que enlaza los registros de log en función del campo Sentencia 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
es una función disponible con visualización de enlaces para agregar campos virtuales a la consulta. Toma una consulta y canaliza la salida a un comando stats
. El campo virtual resultante está disponible en la tabla, así como en el gráfico de series temporales.
Para obtener la sintaxis y otros detalles del comando addfields
, consulte addfields.
Al ejecutar la consulta anterior, se pueden observar los siguientes resultados:
-
Según el comando classify, se generan los gráficos de burbujas para
Age
,Number of Sessions
,Number of DBs
,Number of Runs, Object Type
yObject Type, SQL Type
.En los gráficos de burbujas, los registros de log se agrupan según el número de sentencias SQL incluidas en cada juego de parámetros. Los parámetros
Object Type
ySQL Type
se determinan mediante el comandoeval
de la consulta. -
En los gráficos del histograma Línea con área se muestran la aparición 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
yLog Records
en relación con el tiempo.-
En la ficha de gráfico de histograma, haga clic en la flecha hacia abajo junto al icono Opciones de gráfico (
).
-
Seleccione esta opción para mostrar los gráficos de todos los campos.
-
En Tipo de gráfico, seleccione Línea con área.
-
Ajuste el ancho para mostrar dos gráficos por línea.
-
-
En la tabla de grupos se muestran los grupos identificados por enlace según el campo Sentencia SQL. Puede observar que, para cada SQL, en la tabla se muestra el número de veces que se ha ejecutado el SQL, la hora de inicio, la hora de finalización y la duración del grupo. Haga clic en cada grupo y consulte los registros de log para obtener más información. También puede ver los grupos en la visualización del cluster para realizar un análisis más detallado.
Análisis del tiempo transcurrido entre pasos de una transacción
La función de enlace le permite analizar sesiones de usuario, extraer los diversos parámetros de tiempo mediante la agrupación y deducir datos sobre el tiempo de transacción para ayudarle a obtener estadísticas de negocio.
Tenga en cuenta este juego de datos sin ordenar tomado de un archivo log de acceso. Los siguientes campos indican la información sobre una sesión de usuario y las acciones que realiza el usuario:
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
Las acciones como Login
, addtocart
, productlisting
y purchase
se registran en un orden aleatorio de T1
a T9
y se han producido en dos sesiones con el ID de sesión 1
y 5
.
Para realizar un análisis de tiempo similar de los logs de acceso, extraiga Session ID
de los logs en un campo. Extraiga los pasos intermedios de la sesión de los logs de acceso aplicando una expresión regular para obtener la URL
de los logs.
En un contexto genérico, las sesiones de este ejemplo representan cualquier transacción de usuario, mientras que las acciones representan los pasos intermedios que realiza el usuario para completar una transacción.
Para analizar estos datos no ordenados y extraer la información necesaria, se puede ejecutar la siguiente consulta de ejemplo:
'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 los registros de logs de acceso por ID de sesión, creando dos 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
se ejecuta en cada uno de estos grupos. El primer comandoaddfields
selecciona los registros dondeAction = addtocart
. El resultado de esta consulta es el siguiente para ambos grupos:Time | Session ID | Action T6 | 1 | addtocart T5 | 1 | addtocart T7 | 5 | addtocart
-
stats earliest(Time)
ordena el resultado anterior por tiempo para cada grupo:Time | Session ID | Action T5 | 1 | addtocart T6 | 1 | addtocart T7 | 5 | addtocart
-
A continuación, se selecciona el campo especificado, que es
Time
, del primer registro:'First Add To Cart Time' = T5 for Group = 1 'First Add To Cart Time' = T7 for Group = 5
-
El segundo
addfields
se ejecuta enAction = purchase
y extrae los siguientes registros:Time | Session ID | Action T4 | 1 | purchase T9 | 1 | purchase T8 | 5 | purchase
-
latest(Time)
también ordena los registros anteriores porTime
:Time | Session ID | Action T4 | 1 | purchase T9 | 1 | purchase T8 | 5 | purchase
-
latest(Time)
selecciona el último registro y extrae el campo especificado, que esTime
:'Last Purchase Time' = T9 for Group = 1 'Last Purchase Time' = T8 for Group = 5
-
En este punto, ambos grupos tienen definidos los valores para
First Add to Cart Time
yLast Purchase Time
. Se trata de registros de hora.eval
resta uno de otro para obtener el tiempo transcurrido. -
En efecto, puede obtener el tiempo que se tarda en agregar al carrito en el paso Comprar de cada sesión. Ahora se puede utilizar en
classify
para analizar la varianza de este tiempo transcurrido entre sesiones.
Para obtener la sintaxis y otros detalles del comando addfields
, consulte addfields.
Generación de gráficos para varios campos y sus valores
Puede utilizar el comando addfields
en la consulta para especificar varios campos para generar gráficos independientes. Ahora, también puede utilizar la opción Agregar/editar gráficos del histograma en la interfaz de usuario para realizar la misma operación que el comando addfields
.
Normalmente, desea comparar los gráficos de un único campo con varios valores, por ejemplo, los valores del campo Gravedad, como Error, Crítico, Alerta y Advertencia. La opción Agregar gráfico permite generar varios gráficos para compararlos en paralelo especificando el campo y sus valores en el cuadro de diálogo.
También puede escribir y actualizar la consulta con el comando. La opción Agregar gráfico permite realizar la operación más rápido que crear la consulta con el comando addfields
.
-
En la interfaz de usuario de link, vaya al separador Registros de log > del menú
Opciones de gráfico, haga clic en Agregar/editar gráficos para actualizar automáticamente la consulta con el comando
addfields
.Se abre el cuadro de diálogo Agregar/editar gráficos.
-
Junto a Subconsulta, seleccione el campo en el menú, por ejemplo,
Severity
.Seleccione el operador relevante.
Haga clic en el icono de edición
para seleccionar uno o más valores, por ejemplo,
alert
. Los campos calculados no están soportados. -
Opcionalmente, seleccione la función Estadísticas.
Junto a Estadísticas, seleccione la función que desea realizar en el campo y el campo de función en el menú desplegable.
A excepción de la función
count
, todas las demás funciones requieren que se especifique el campo de función. -
Haga clic en Agregar gráfico para ver la consulta resultante. Haga clic en el icono de Editar
para editar la consulta.
-
Repita los pasos 2 a 4 para agregar más gráficos, por ejemplo, para generar gráficos para los valores
error
,critical
ywarning
del campoSeverity
.Haga clic en Actualizar.
-
Haga clic en el menú Opciones de gráfico
y asegúrese de que los nuevos gráficos que ha generado se incluyan y seleccionen en la opción Mostrar/Ocultar. También puede seleccionar el tipo de gráfico, el tamaño del gráfico, la altura, el ancho y otros atributos. Consulte Gráfico de histograma.
Ahora puede ver los gráficos personalizados de los campos de selección y sus valores de selección en el separador Registros de log y compararlos visualmente.
Agregación de segundo nivel mediante el comando eventstats en Link
Link se utiliza para agrupar los registros de log con una o más claves únicas. Por ejemplo, puede agrupar todos los registros de log que pertenecen a una transacción mediante el ID de transacción único. Las estadísticas se pueden generar en cada grupo mediante el comando stats
. eventstats
es un nuevo comando que puede agregar aún más estas estadísticas. En los siguientes ejemplos se muestran los casos de uso de eventstats
.
Tenga en cuenta los siguientes ejemplos de juego de datos de registros de acceso:
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
El juego de datos tiene estos campos:
- Tiempo: por ejemplo, 1-Jan-2020 10:00:00 PST.
- Nombre de host (servidor): host que ha servido esta solicitud, por ejemplo, chicago_dc1.
- URI: URL de la solicitud, por ejemplo, /index.html.
- Content Size Out: número de bytes descargados, por ejemplo, 100.
Agrupación simple:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
Con la consulta anterior se agrupan los registros de log mediante la combinación distinta de los campos Nombre de host (servidor) y URI. El campo Content Size Out de cada registro se suma por grupo en el nuevo campo Bytes descargados.
Suma global mediante evenstats
Los bytes descargados en el ejemplo anterior son para cada combinación de servidor y URL. Un caso de uso sencillo de eventstats
es calcular el total de datos descargados en todos los servidores y direcciones URL:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
| eventstats sum('Bytes Downloaded') as 'Total Bytes Downloaded'
En el ejemplo anterior, eventstats
agrega valores para cada grupo para producir una única acumulación global. Ahora se puede transferir a classify
o eval
, así como utilizarlo en la cláusula where
.
Varios comandos eventstats
:
Se pueden agrupar o encadenar varios comandos eventstats
como en el siguiente ejemplo:
.. | eventstats sum('Content Size In') as 'Bytes Uploaded', sum('Content Size Out') as 'Bytes Downloaded'
| eventstats avg('Duraton') as 'Global Average Duration'
Agrupación con eventstats
El comando eventstats
también tiene un modo group by. Observe la siguiente consulta:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
| eventstats sum('Bytes Downloaded') as 'Total Bytes Downloaded' by URI
En lugar de calcular un único valor, eventstats
ahora calcula un valor por URI único:
La suma se produce primero al obtener los distintos URI y, a continuación, al realizar la agregación:
index.html -> 300 + 400 + 350 = 1050
/report/download -> 5000 + 1024 = 6024
/users/auth -> 50 = 50
Eventstats con eval
El comando eventstats
también puede funcionar en un campo producido por un comando eval
. Por ejemplo, en lugar de la URL, podemos producir los totales en el centro de datos:
* | 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
La función sum
se ejecuta después de la agrupación por subcadenas:
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
La agrupación se puede realizar mediante una o más propiedades. Las propiedades son las claves de grupo o los valores de cadena que generan stats
o eval
.
Porcentajes de cálculo para comparación de grupos
Una aplicación muy importante para el comando eventstats
es producir un valor global, así como identificar el porcentaje alto o el porcentaje bajo de contribución de los distintos 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
El % de contribución de descarga se calcula utilizando el valor global producido por eventstats..by
y el valor por grupo producido 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
Esta consulta permite ver qué URL provocan el mayor volumen de tráfico de descarga en comparación con las otras URL del mismo centro de datos. El campo % de contribución de descarga se puede utilizar para filtrar los grupos mediante:
- la cláusula
where
- el comando
sort
para la clasificación - el comando
classify
para la detección de anomalías
Uso de funciones de navegación de enlaces para identificar eventos en una base de datos
Utilice Link para crear datos estructurados a partir de registros log y mostrar los datos como una tabla ordenada. Las funciones estadísticas se pueden aplicar a las columnas de la tabla mediante el comando stats para crear columnas derivadas. Estas columnas derivadas se pueden agregar más mediante el comando eventstats.
Funciones de navegación
Las funciones de navegación son útiles para recuperar los valores de una columna específica de una fila específica. Producen resultados diferentes según el comando de ordenación anterior.
Las siguientes funciones de navegación se pueden utilizar con el comando eventstats
en el enlace:
Función | Descripción |
---|---|
|
Permite crear una columna de número de fila |
|
Permite obtener el primer valor para el campo especificado |
|
Permite obtener el último valor para el campo especificado |
|
Permite obtener el valor de columna para la fila especificada |
|
Permite obtener el valor de columna para la fila anterior |
|
Permite obtener el valor de columna para la siguiente fila |
Para obtener más información sobre las funciones, consulte eventstats.
Obtención de contexto para un evento
Oracle Log Analytics proporciona etiquetas listas para usar para logs de alertas de base de datos. La etiqueta Abnormal Termination indica una incidencia grave que provoca el cierre de la base de datos. Una clasificación típica implica analizar la secuencia de eventos que ocurrieron antes de dicho cierre. También es útil conocer los eventos después de un cierre.
En las siguientes secciones se explican los pasos para clasificar mediante algunas de las funciones eventstats
para logs de alertas de base de datos.
Enlace de eventos en logs de alertas de base de datos
Ejecute la siguiente consulta para enlazar los eventos de una base de datos seleccionada:
'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'
De esta forma se crea una fila única para cada etiqueta en la base de datos. Dado que hemos incluido la columna Hora, habría varias filas para la misma etiqueta si se repiten en momentos diferentes.
El comando sort
ordena la tabla por el orden de Etiqueta, con el más antiguo en la primera fila.
Adición del número de fila
Ejecute la siguiente consulta para agregar un número a cada fila:
'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
Si la consulta tenía más de una base de datos, el número de fila se restablecería para cada base de datos, debido a la cláusula by Database
.
Identificación de la fila con evento de fallo de base de datos
La etiqueta Abnormal Termination indica que la base de datos se ha bloqueado. Identifique dichas filas con la siguiente 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
se utiliza para identificar un subjuego de los registros de log. En este caso, con addfields
se buscan varias filas de la tabla. Las filas coincidentes se transfieren a eventstats
y last('Row Number')
selecciona el número de fila de la última fila coincidente. Ahora se rellena como un nuevo campo Fila de bloqueo. Tenga en cuenta que Fila de bloqueo tendrá un valor solo para aquellas filas que coincidan con la condición especificada en addfields
.
Fila de bloqueo solo se rellena para filas específicas. Utilice otro comando eventstats
para rellenar todas las filas con el 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
De esta forma se crea la columna Fila de eventos en cada fila y contiene la fila con el último bloqueo de la base de datos.
Identificación de eventos cercanos a un bloqueo de la base de datos
En la tabla sigue habiendo varios eventos, por ejemplo, cientos. Para identificar algunos eventos antes de la fila de evento y pocos eventos después de la fila de evento, cambie la consulta para filtrar las filas:
'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'
En la tabla ahora se muestran los eventos ocurridos antes de la terminación anormal. También podemos ver los eventos que ocurridos después de la terminación anormal.
Eventos anteriores y siguientes
lag()
se puede utilizar para obtener el evento anterior. Se puede transferir un número de fila opcional para obtener una fila anterior específica. lead()
se puede utilizar de forma similar para obtener la siguiente fila:
'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'
]
Además, nthVal()
puede obtener el valor de una fila específica.
Uso de los símbolos de moneda en el análisis de log
Puede utilizar la función unit
en el comando eval
para marcar un campo como que contiene la moneda. A continuación, puede utilizar ese valor de campo en el análisis y mostrar el símbolo de moneda correspondiente en la tabla de visualizaciones y grupos.
Primero puede especificar la unidad de moneda con el formato definido en eval. Después de eso, la tabla de enlaces y los gráficos mostrarán los símbolos de moneda correctos.
En el siguiente ejemplo, el valor del campo Price se utiliza para calcular los valores de los nuevos campos Price (USD), Price (GBP), Price (JPY), Price (CNY) y Price (INR) y marcarlos como que contienen la moneda. Los mismos nuevos campos se utilizan para el análisis en la obtención del precio medio regional de la gasolina durante un período de varios años.
'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'
En la siguiente imagen, los grupos se identifican en función de la región, el tiempo y el tipo de gasolina. La banda de precios promedio de la gasolina se utiliza para trazar las burbujas a lo largo del eje Y.

En la siguiente imagen, la tabla de grupos muestra el precio promedio de la gasolina en varias monedas. Los gráficos muestran la variación del costo en varios años para cada valor de moneda.

Análisis de series temporales con el comando timestats
Puede analizar la tendencia de un campo mediante el comando timestats
. El comando timestats
, cuando se utiliza después del comando link
, proporciona análisis de series temporales adicionales y una visualización enriquecida.
Considere el ejemplo de logs de esquema unificado de flujo de VCN de OCI. El campo Acción de los logs de esquema unificado de flujo de VCN de OCI indica si se ha aceptado o rechazado una solicitud de red concreta. Utilice el comando timestats
para analizar la tendencia de este campo. Consulte timestats.
A partir del comando básico link
:
'Log Source' = 'OCI VCN Flow Unified Schema Logs' | link Action
Esto muestra que hay dos valores distintos para el período de tiempo seleccionado:

En el caso anterior, solo hay una fila disponible para cada acción única porque el comportamiento predeterminado es agrupar por el campo determinado. El primer paso consiste en asegurarse de que hay varias filas para cada valor en función del periodo de tiempo. Para ello, puede agregar Tiempo como otro campo al comando link
.
'Log Source' = 'OCI VCN Flow Unified Schema Logs' | link span=1day Time, Action
El parámetro span es opcional. Si no se proporciona, se calcula un valor por defecto adecuado para el período de tiempo seleccionado. Ahora puede ver que la misma acción para un día diferente aparece en una fila independiente.

Ahora utilice el comando timestats
. En este caso, queremos la hora de inicio en el eje X y el valor Recuento en el eje Y. Dado que timestats
siempre requiere una función, utilice la función sum() para sumar el número de registros con el valor de acción determinado, 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
Muestra los valores sum(Count) para cada acción.

Para obtener detalles sobre el trazado de la serie de tiempo mediante el comando timestats
, los campos, los límites y las opciones de configuración, consulte Uso del comando timestats para trazar una serie de tiempo.
Agrupación en clusters de series temporales
Puede agrupar valores de series temporales similares mediante el comando timecluster
después del comando link
. La agrupación en clusters es útil cuando hay un gran número de series temporales que analizar o cuando desea identificar diferentes comportamientos en los valores de las series temporales.
Los logs de esquema unificado de flujo de VCN de OCI registran la información de tráfico de red para una VNIC de OCI. Para identificar cuántos datos transfieren diferentes IP públicas, se puede componer una consulta mediante los campos IP pública y Agotamiento de tamaño de contenido.
A partir del comando básico link
:
'Log Source' = 'OCI VCN Flow Unified Schema Logs' | eval 'Content Size Out (bytes)' = unit('Content Size Out', byte) | link 'Public IP'
Esto muestra que hay más de 25k IP públicas únicas en el sistema.

La tabla tiene una fila por cada IP pública única. Debe dividirse para tener una fila para cada período. Para ello, agregue el campo Time al comando link
:
'Log Source' = 'OCI VCN Flow Unified Schema Logs'
| eval 'Content Size Out (bytes)' = unit('Content Size Out', byte)
| link Time, 'Public IP'
Muestra varias filas para cada valor de IP pública.
Si se utiliza el comando timestats
para trazar la serie temporal, devuelve solo las 100 IP públicas principales. No se pueden trazar las IP 25k en un gráfico.

Por lo tanto, en lugar de timestats
, utilice timecluster
para obtener los ejemplos representativos.
'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 línea representa uno o más valores de IP pública que tienen valores similares para la transferencia de red.
Pase el mouse por encima de cualquier punto para ver más detalles:

Para obtener más información sobre el comando timecluster
y la agrupación en clusters de series temporales, consulte timecluster y Use timecluster Command to Plot a Time Series.