Zeitreihendiagramme in QRadar Pulse
Auf den ersten Blick kann die Erstellung eines Zeitreihendiagramms aus relationalen Daten in QRadar® Pulse eine Herausforderung darstellen. Das Datenvolumen, das von einer AQL-Abfrage zurückgegeben wird, kann unhandlich sein, aber mit etwas Hintergrundwissen und einer sorgfältigen Planung können Sie relevante und aussagefähige Zeitreihendiagramme erstellen.
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
Intervalle in einer Zeitreihenabfrage erstellen
Der erste Schritt besteht darin, den Typ des für eine Datenanalyse zu verwendenden Intervalls zu bestimmen. Möchten Sie Daten aus einem kurzen Intervall betrachten, z. B. jede Sekunde? Oder sollen es längere Intervalle sein, wie etwa jede Minute oder jede Stunde? Diese Entscheidung ist wichtig, weil Datenpunkte in Intervallen gruppiert werden müssen, damit eine Metrik berechnet wird.
- Bestimmung eines Intervalls mithilfe der Klausel GROUP BY: GROUP BY starttime/60000. Da starttime in Millisekunden angezeigt wird, erstellen Sie durch eine Division durch 60.000 (60 Sekunden x 1000 Millisekunden) Gruppen oder Intervalle von 60 Sekunden (1 Minute).
- Änderung der Klausel ORDER BY, sodass das Aggregat sTime verwendet wird.
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
Zeilen in Spalten pivotieren, um eine Zeitreihe zu erstellen
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

Auch wenn diese Methode ziemlich effizient ist, um relationale Daten in Zeitreihendaten umzuwandeln, müssen Sie vorher wissen, nach welchen Daten Sie suchen.
Dynamische Zeitreihen erstellen
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}
Der Unterschied zur vorherigen Methode besteht darin, dass die Daten nicht in Spalten geschwenkt werden und Wiederholungen in der Zeitspalte enthalten, die durch die sekundäre GROUP BY -Klausel verursacht wird. Bei Verwendung der Option für dynamische Zeitreihen teilt QRadar Pulse die Daten in ein geeignetes Zeitreihenformat auf. Wählen Sie die Spalte mit time (stime für die X-Achse), die Spalte mit data (total für die Y-Achse) und die Spalte mit der Klausel GROUP BY (zum Extrahieren der verschiedenen Zeitreihen nach Einheit) aus.

Obwohl das Diagramm genauso aussieht wie das Diagramm, das mit der vorherigen Methode erstellt wurde, ist die zugrunde liegende AQL-Abfrage viel dynamischer. Wenn sich die Protokollquellen im Laufe der Zeit ändern, wird das Diagramm automatisch aktualisiert, da die Werte nicht mehr fest in der Abfrage codiert sind.
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 minutesDie Abfrage ist effizienter und stellt sicher, dass die drei Zeitreihen
für die drei aktivsten Einheiten in der ausgewählten Zeitspanne wiedergegeben werden.