Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Gráficos de series temporales en QRadar Pulse

A primera vista, crear un gráfico de series temporales a partir de datos relacionales en QRadar Pulse puede ser un desafío. La cantidad de datos que devuelve una consulta AQL puede ser difícil de manejar, pero con algunos conocimientos previos y una planificación cuidadosa, puede producir gráficos de series temporales relevantes y significativos.

Nota:

Después de leer acerca de los gráficos de series temporales, cree un gráfico dinámico de series temporales siguiendo el procedimiento descrito en Seguimiento de los cinco dispositivos más activos en los últimos diez minutos. En QRadar Pulse 2.1.4 o posterior, el gráfico de series temporales tiene una opción de serie dinámica que es útil cuando no sabe qué dispositivos desea rastrear o le resulta difícil hacer que los gráficos de series temporales funcionen correctamente. Detecta automáticamente las series y las muestra como líneas separadas en el gráfico de series temporales.

Ordenar una métrica por hora de inicio produce una serie temporal, como la siguiente consulta AQL, pero la cantidad de datos devueltos puede ser difícil de manejar para trabajar y entender.

select starttime as 'Start Time', SUM(eventcount) as 'Event Count (Sum)' from events where eventcount <> NULL GROUP BY starttime order by starttime LAST 60 minutes

La cantidad de datos devueltos puede dar lugar a un gráfico ruidoso que no proporciona mucha información. Es posible que las horas de inicio del evento no se produzcan a intervalos regulares, lo que puede crear lagunas en el conjunto de datos.

Crear intervalos en una consulta de serie temporal

El primer paso es decidir el tipo de intervalo que se utilizará para el análisis de datos. ¿Desea ver los datos de un intervalo estrecho, como cada segundo? ¿O en intervalos más grandes de cada minuto o cada hora? Esta decisión es importante porque los puntos de datos deben agruparse en intervalos para que se calcule una métrica.

Con la consulta original, puede agrupar los datos mediante una de las siguientes técnicas:

  • Uso de la cláusula GROUP BY para crear un intervalo: GROUP BY starttime/60000. Dado que el tiempo de inicio se muestra en milisegundos, si se divide por 60.000 (60 segundos x 1000 milisegundos), se crean grupos o intervalos de 60 segundos (1 minuto).

  • Cambiar la cláusula ORDER BY para usar el sTime agregado.

La consulta cambia al código siguiente:

select starttime as 'sTime', SUM(eventcount) as 'Event Count (Sum)' from events where eventcount > 0 GROUP BY starttime/60000 order by "sTime" LAST 60 minutes

Los datos ahora son más consumibles visualmente y garantizan que se produzca un punto de datos cada minuto. Ahora que los intervalos están definidos correctamente, puede usar algunas estrategias para formatear los datos en un formato de serie temporal más amigable.

Creating Intervals in a Time Series Query

Pivotar filas a columnas para crear una serie

Un método para crear un gráfico de series temporales implica pivotar las filas de datos en columnas que representan directamente una serie en Pulse. Por ejemplo, si su caso de uso es contar eventos para un dispositivo específico para cada intervalo de 1 minuto, debe crear un agregado condicional independiente para cada serie que desee trazar en el gráfico.

SUM(IF LOGSOURCETYPENAME(devicetype) = 'System Notification' THEN 1.0 ELSE 0.0) as system_notification SUM(IF LOGSOURCETYPENAME(devicetype) = 'SIM Audit' THEN 1.0 ELSE 0.0) as sim_audit

La consulta completa es similar al siguiente ejemplo:

SELECT starttime/(1000*60) as 'minute', (minute * (1000*60)) as 'stime', SUM(IF LOGSOURCETYPENAME(devicetype) = 'System Notification' THEN 1.0 ELSE 0.0) as system_notification, SUM(IF LOGSOURCETYPENAME(devicetype) = 'SIM Audit' THEN 1.0 ELSE 0.0) as sim_audit FROM events WHERE devicetype <> NULL GROUP BY minute ORDER BY stime asc LAST 10 minutes

La consulta toma los datos de fila para los dispositivos de notificación del sistema y auditoría de SIM y los pivota en columnas separadas que corresponden a una serie en el gráfico:

Pivoting Rows to Columns to Create a Series

La siguiente imagen muestra la configuración de la vista y la visualización del gráfico para pivotar las filas.

Pivoting Rows to Columns to Create a Series

Si bien este método es bastante eficiente para transformar datos relacionales en datos de series temporales, debe saber de antemano qué datos está buscando.

Creación de series temporales dinámicas

¿Qué sucede si no sabe de antemano qué dispositivos está buscando o si desea graficar los cinco dispositivos más activos en la última hora? Puede crear una serie temporal dinámica en QRadar Pulse V2.1.4. En lugar de pivotar filas de datos en columnas, la segunda estrategia utiliza una cláusula secundaria GROUP BY (llamada "dispositivo" en los ejemplos) para crear una serie temporal dinámica.

SELECT starttime/(1000*60) as 'minute', MIN(starttime) as 'stime', eventcount as 'eventCount', devicetype as 'deviceType', LOGSOURCETYPENAME(devicetype) as 'device', count(*) as 'total' FROM events WHERE deviceType IN ( SELECT deviceType FROM ( SELECT devicetype as 'deviceType', count(*) as 'total' FROM events GROUP BY deviceType ORDER BY total DESC LIMIT 8 LAST {Time_Span} ) ) and devicetype not in (18,105,147,368) GROUP BY minute, device ORDER BY minute asc LAST {Time_Span}

Los resultados devueltos para la consulta son similares a la siguiente imagen:

Creating a Dynamic Time Series

La diferencia con el método anterior es que los datos no se pivotan en columnas y contienen repeticiones en la columna de tiempo causadas por la cláusula secundaria GROUP BY. Mediante la opción de serie temporal dinámica, QRadar Pulse divide los datos en un formato de serie temporal adecuado. Seleccione la columna que contiene la hora ( para el eje x), la columna que contiene los datos ( para el eje y) y la columna que contiene la cláusula GROUP BY (stimetotalpara extraer las diferentes series por device).

Creating a Dynamic Time Series

Aunque el gráfico tiene el mismo aspecto que el que se creó con el método anterior, la consulta AQL subyacente es mucho más dinámica. Si los orígenes del registro cambian con el tiempo, el gráfico se actualiza automáticamente porque los valores ya no están codificados en la consulta.

Sin embargo, debe tener en cuenta algunas advertencias. Dado que las filas de datos no se dividen en columnas, el tamaño de los datos es mucho mayor y crece proporcionalmente con el número de dispositivos. QRadar Pulse procesa los datos, por lo que el tamaño de los datos podría afectar negativamente la capacidad de respuesta general del navegador. Para evitar la degradación del rendimiento, QRadar Pulse representa las primeras 20 series de datos que detecta e ignora las series siguientes. Limite el tamaño de los datos mediante la cláusula WHERE to LIMIT y ORDER los conjuntos de datos para usarlos en una serie temporal dinámica. Por ejemplo, si el caso de uso es "contar los tres dispositivos más activos en los últimos 10 minutos, excluyendo 'Métricas de estado'", cree la siguiente consulta:

SELECT starttime/(1000*60) as 'minute', (minute * (1000*60)) as 'stime', LOGSOURCETYPENAME(devicetype) as 'device', count(*) as 'total' FROM events WHERE device IN ( SELECT deviceList FROM ( SELECT LOGSOURCETYPENAME(devicetype) as deviceList, count(*) as topDevices FROM events WHERE deviceList <> 'Health Metrics' GROUP BY deviceList ORDER BY topDevices DESC LIMIT 3 LAST 10 minutes ) ) GROUP BY minute, device ORDER BY stime asc LAST 10 minutes

La consulta es más eficaz y garantiza que las tres series renderizadas correspondan a los tres principales dispositivos activos en el intervalo de tiempo seleccionado.

Seguimiento de los cinco dispositivos más activos en los últimos diez minutos

En este ejemplo, se crea un gráfico dinámico de series temporales para realizar un seguimiento de los cinco dispositivos más activos de su entorno en los últimos diez minutos. En QRadar Pulse V2.1.4 o posterior, el gráfico de series temporales tiene una opción de serie dinámica que es útil cuando no sabe qué dispositivos desea rastrear o le resulta difícil hacer que los gráficos de series temporales funcionen correctamente. Detecta automáticamente las series y las muestra como líneas separadas en el gráfico de series temporales.

Para obtener más información general, consulte Gráficos de series temporales en QRadar Pulse.

  1. Haga clic en Configurar panel.

    La pantalla Configurar panel muestra una biblioteca de widgets disponibles, con detalles sobre cada widget.

  2. Haga clic en Crear nuevo widget.

  3. En la página Nuevo elemento de panel , escriba un nombre y una descripción para el elemento.

  4. Seleccione AQL en la lista de orígenes de datos de la sección Consulta y escriba la siguiente instrucción AQL:

    SELECT MIN(starttime) as stime, LOGSOURCETYPENAME(devicetype) as device, devicetype as devices, count(*) as total FROM events WHERE devices IN ( SELECT devices FROM ( SELECT devicetype as devices, count(*) as topDevices FROM events where devicetype <> 368 GROUP BY devices ORDER BY topDevices DESC LIMIT 3 LAST 10 minutes ) ) GROUP BY starttime/(60*1000), device ORDER BY stime asc LAST 10 minutes

  5. Mantenga el tiempo de actualización en cada minuto y los resultados establecidos en 1000.

  6. Haga clic en Ejecutar consulta.

  7. En la sección Vistas, llame al gráfico y seleccione Gráfico de serie temporal como tipo de gráficoDynamic time series.

  8. En la ficha General , configure las siguientes opciones:

    1. En la lista Hora (eje x), seleccione stime.

    2. Seleccione la opción Serie dinámica .

    3. Divida la serie por device.

    4. En la lista Valores (eje y), seleccione total.

    5. Establezca Mostrar leyenda en y establezca la orientación.

  9. Haga clic en Guardar.

La siguiente captura de pantalla es un ejemplo de cómo se ve el gráfico:

Tracking the Top Five Most Active Devices in the Last Ten Minutes

Seguimiento de las tendencias de los datos de flujo durante 24 horas

En este ejemplo, aprenderá a crear un gráfico de series temporales para realizar un seguimiento de todos los datos de flujo de una interfaz específica durante las últimas 24 horas.

  1. Haga clic en Configurar panel.

    La pantalla Configurar panel muestra una biblioteca de widgets disponibles, con detalles sobre cada widget.

  2. Haga clic en Crear nuevo widget.

  3. En la página Nuevo elemento de panel , escriba Flow data over 24 hours como nombre y proporcione una descripción.

  4. Seleccione AQL como origen de datos, establezca el tiempo de actualización en cada 5 minutos e introduzca la siguiente consulta AQL en el campo Instrucción AQL:

    select MIN(starttime) as 'Start Time', count(*) as 'Flow Count' from flows GROUP BY starttime/60000 ORDER BY 'Start Time' DESC last 24 HOURS

  5. Establezca el límite de resultados en 1000 y haga clic en Ejecutar consulta.

  6. En la sección Vistas de la página, escriba Flow Data over 24 hours como Nombre de la vista y seleccione Gráfico de series temporales.

  7. Seleccione Hora de inicio para el eje x de tiempo y elija Serie personalizada.

  8. Seleccione Recuento de flujo para el eje y.

  9. Haga clic en el icono Más opciones .

    1. Deje la etiqueta del eje como Recuento de flujo.

    2. Seleccione Lineal como forma de línea y Línea como modo de línea.

  10. Haga clic en Guardar.

  11. En la pantalla Configurar panel , asegúrese de que el nuevo widget esté seleccionado y haga clic en Guardar.

    El gráfico puede ser similar al siguiente ejemplo:

Agregación de datos para crear un gráfico de series temporales

En este ejemplo, aprenderá a crear un gráfico de series temporales para mostrar el número de eventos cada minuto para la categoría Autenticación de usuario de SIM. Utilice vistas globales para agregar los datos en un formato que QRadar Pulse pueda mostrar.

La consulta AQL para generar el gráfico de serie temporal tiene el aspecto de la siguiente instrucción:

El gráfico resultante muestra el número de inicios de sesión en la última hora. Sin embargo, si desea ejecutar la consulta durante más de 24 horas, puede ser difícil obtener información durante un período de días. Las vistas de datos agregadas, también llamadas vistas globales, pueden ayudar. Una búsqueda guardada agrupada por varios campos genera una vista global que tiene muchas entradas únicas. A medida que aumenta el volumen de datos, el uso del disco, los tiempos de procesamiento y el rendimiento de búsqueda pueden verse afectados. Para evitar que aumente el volumen de datos, solo agregue búsquedas en los campos necesarios. Puede reducir el impacto en el acumulador agregando un filtro a sus criterios de búsqueda.

Parte 1: Creación de una vista de datos agregados en la pestaña Actividad de registro

Las vistas de datos agregados son buckets de datos acumulados que se utilizan para generar informes y paneles. Estas vistas globales se basan en búsquedas guardadas que acumulan los datos regularmente en segundo plano. Use el siguiente procedimiento para crear un gráfico de serie temporal para una SIM User Authentication categoría.

  1. En QRadar, vaya a la pestaña Registrar actividad y cambie al campo Búsqueda avanzada .

  2. Para que la vista global sea reutilizable para cualquier categoría, quite la cláusula "where" del ejemplo anterior, escriba la siguiente consulta AQL y, a continuación, haga clic en Buscar.

    select categoryname(category) as catname, category, count(category) as catcount, first(starttime) as Time from events group by category, starttime/60000 order by Time last 1 hours

    Nota:

    De forma predeterminada, QRadar muestra dos gráficos "Top 10" encima de la lista de resultados. Trabaje con estos gráficos para crear la vista global. De forma predeterminada, tiene un aspecto similar al siguiente ejemplo:

  3. En el gráfico circular, haga clic en Configuración para mostrar las opciones de configuración.

  4. Para convertir el gráfico en un gráfico de serie temporal que funcione con Pulse, seleccione Tiempo en la lista Valor a gráfico y, a continuación, cambie el tipo de gráfico a Serie temporal.

  5. En la lista Valor a gráfico, seleccione CONTAR.

  6. Active la casilla Capturar datos de series temporales y, a continuación, haga clic en Guardar. Se abre la página Criterios de guardado , donde se crea una búsqueda guardada y una Vista global.

  7. Introduzca Pulse Category Count el nombre de la búsqueda.

  8. Introduzca valores para los siguientes parámetros:

    Parámetro

    Descripción

    Sin agregación

    Active la casilla del grupo al que desea asignar esta búsqueda guardada. Si no selecciona ningún grupo, esta búsqueda guardada se asigna al grupo Otros de forma predeterminada.

    Administrar grupos

    Haga clic en Administrar grupos para administrar los grupos de búsqueda.

    Opciones de intervalo de tiempo

    Elija una de las siguientes opciones:

    • Último intervalo (actualización automática) Seleccione esta opción para filtrar los resultados de la búsqueda mientras está en modo de actualización automática. Laspestañas Registrar actividad y Actividad de red se actualizan a intervalos de 1 minuto para mostrar la información más reciente.

    • Reciente Seleccione esta opción y, en este cuadro de lista, seleccione el intervalo de tiempo por el que desea filtrar.

    • Intervalo específico: seleccione esta opción y, en el calendario, seleccione el intervalo de fechas y horas por el que desea filtrar.

  9. Haga clic en Aceptar.

    Nota:

    Una vez guardados los criterios, la vista global ya está activa y lista para su uso en QRadar Pulse.

Parte 2: Verificación de la vista global en la pestaña Administrador

En primer lugar, compruebe que la agregación (vista global) se creó correctamente.

  1. Vaya a Administración >Administración de datos agregados.

  2. Seleccione Serie temporal en la lista Mostrar .

    Propina:

    Puede filtrar la vista para mostrar la nueva vista global. Por ejemplo, escriba Pulse.

Parte 3: Creación de una consulta con la vista global en Pulse

Después de verificar la vista global, puede cambiar a QRadar y crear una consulta en esta nueva vista global.

  1. Haga clic en Configurar panel.

    La pantalla Configurar panel muestra una biblioteca de widgets disponibles, con detalles sobre cada widget.

  2. Haga clic en Crear nuevo widget.

  3. En la página Nuevo elemento de panel , escriba un nombre y una descripción para el elemento.

  4. Seleccione AQL en la lista de orígenes de datos de la sección Consulta y escriba la siguiente instrucción AQL para ejecutar una consulta desde la nueva vista global:

    SELECT * FROM GLOBALVIEW('Pulse Category Count','NORMAL') LAST 7 days

  5. Haga clic en Ejecutar consulta.

    La consulta muestra las columnas en el campo de resultados.

  6. Ajuste la instrucción AQL:

    1. Agregue las siguientes columnas: COUNT_category, Hora y Categoría. Agregue una cláusula WHERE Category y una cláusula ORDER BY para que la consulta se ejecute en la secuencia de tiempo correcta.

    2. Las vistas globales se acumulan en tres rangos de tiempo: NORMAL (por minuto), CADA HORA y DIARIAMENTE. Agregue una cláusula GROUP BY para permitir la flexibilidad de cambiar la consulta entre los tres niveles de acumulación. La nueva consulta tiene un aspecto similar al siguiente ejemplo:

      SELECT SUM(COUNT_category), Time * 1000 as Time FROM GLOBALVIEW('Pulse Category Count','NORMAL') WHERE Category = 16001 GROUP BY Time ORDER BY Time LAST 7 days

    Nota:

    El intervalo de tiempo HOURLY no devuelve ningún dato hasta que la vista global se ejecuta durante al menos 1 hora. Del mismo modo, el rango de tiempo DIARIO no devuelve ningún dato hasta que la Vista global se ejecuta durante al menos 1 día.

  7. Ahora puede crear su gráfico de series temporales en Pulse como los siguientes ejemplos con NORMAL (por minuto), HOURLY y DAILY respectivamente: