Gráficos de series temporales en QRadar Pulse
A primera vista, la creación de un gráfico de serie temporal a partir de datos relacionales en QRadar® Pulse puede ser un reto. La cantidad de datos que devuelve una consulta AQL puede ser difícil de manejar, pero con un poco de conocimiento previo y una planificación adecuada, puede producir gráficos de series temporales relevante y con sentido.
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
Creación de intervalos en una consulta de serie temporal
El primer paso es decidir el tipo de intervalo que hay que utilizar para el análisis de datos. ¿Desea examinar datos desde un intervalo corto, como cada segundo? O en intervalos más largos de cada minuto o cada hora? Esta decisión es importante porque los puntos de datos se deben agrupar en intervalos de forma que se calcule una métrica.
- Utilizando la cláusula GROUP BY para crear un intervalo: GROUP BY starttime/60000. Dado que starttime se visualiza en milisegundos, si divide por 60.000 (60 segundos x 1000 milisegundos), crea grupos o intervalos de 60 segundos (1 minuto).
- Cambiando la cláusula ORDER BY para utilizar el agregado sTime.
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
Pivotar filas en columnas para crear una serie
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_auditSELECT 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

Si bien este método es bastante eficaz para transformar datos relacionales en datos de serie temporal, debe saber de antemano qué datos está buscando.
Creación de 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}
La diferencia respecto al método anterior es que los datos no se pivotan en columnas y contiene repeticiones en la columna de tiempo provocadas por la cláusula GROUP BY. Utilizando 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 time (stime para el eje x), la columna que contiene data (total para el eje y) y la columna que contiene la cláusula GROUP BY (para extraer la serie diferente por device).

Si bien 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 se codifican en la 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 minutesLa consulta es más eficaz y asegúrese de que las tres series representadas corresponden a los tres dispositivos principales más activos en el intervalo de tiempo seleccionado.