Exemple d'instructions AQL d'événement, de source de journal et d'utilisation du stockage
- Récapitulatif de la source du journal
- Événements uniques
- Pourcentage d'événements non analysés
- Pourcentage d'événements non analysés pour un type de source de journal spécifique
- Nombre de correspondances partielles par règle
- Nombre de correspondances partielles par processeur d'événements
- Nombre de correspondances partielles par règle et par processeur d'événement
- Consommation de stockage par type de source de journal
- Utilisation du stockage
- Utilisation de l'UC
- Utilisation de la mémoire
- CEP coûteux, sources de journaux et règles
- Recherches coûteuses
- Recherches AQL exécutées par l'utilisateur
Récapitulatif des sources de journaux
Fournit une liste des types de sources de journaux uniques, y compris le nombre de sources de journaux, les EPS, et le pourcentage d'événements non analysés.
SELECT LOGSOURCETYPENAME(devicetype) AS "LogSourceType",UNIQUECOUNT(logsourceid) as "Number of Log Sources",
COUNT(*)/3600 as "EPS",(DOUBLE(COUNT(isunparsed)) / COUNT(*)) * 100 AS "PercentUnparsed"
FROM events
GROUP BY devicetype
ORDER BY "PercentUnparsed"
DESC
LAST 1 HOURS
Evénements uniques
Fournit une liste des événements uniques et le type de source du journal, le QID, la catégorie de haut niveau, la catégorie de bas niveau et le nombre d'événements.
SELECT LOGSOURCETYPENAME(devicetype) AS "Log Source Type",
QIDNAME(qid) AS "Event Name",
qid as "QID",
CATEGORYNAME(highlevelcategory) AS "High-level Category",
CATEGORYNAME(category) AS "Low-level Category",
LONG(COUNT(*)) as "Number of Events"
FROM events
GROUP BY qid, devicetype
ORDER BY COUNT(*)
DESC
LAST 1 HOURS
Pourcentage d'événements non analysés
Fournit le pourcentage d'événements qui ne sont pas analysés pour chaque type de source de journal. Toutes les sources de journaux dont plus de 20% ne sont pas analysées doivent être traitées.
SELECT LOGSOURCETYPENAME(devicetype) AS "Log Source Type",
devicetype AS "Log Source ID",
LONG(UNIQUECOUNT(logsourceid)) as "Number of Log Sources",
LONG(SUM(eventcount)) as "Total Events",
LONG(COUNT(*)) as "Aggregated Events",
LONG(COUNT(isunparsed)) AS "Unparsed Events",
STR(LONG(SUM(eventcount)/24*3600)) as "EPS",
LONG("Unparsed Events"*100) / "Total Events" AS "PercentUnparsed"
FROM events
GROUP BY devicetype
ORDER BY "PercentUnparsed","Unparsed Events"
DESC
LAST 24 HOURS
Pourcentage d'événements non analysés pour un type de source de journal spécifique
Si vous souhaitez approfondir l'étude des problèmes d'analyse avec un type de source de journal (par exemple, devicetype=11), vous pouvez exécuter la requête suivante qui renvoie une répartition des statistiques par source de journal.
SELECT LOGSOURCENAME(logsourceid) AS "Log Source Name",
LONG(SUM(eventcount)) as "Total Events",
LONG(COUNT(*)) as "Aggregated Events",
LONG(COUNT(isunparsed)) AS "Unparsed Events",
STR(LONG(SUM(eventcount)/24*3600)) as "EPS",
LONG("Unparsed Events"*100) / "Total Events" AS "PercentUnparsed"
FROM events
WHERE devicetype=11
GROUP BY logsourceid
ORDER BY "PercentUnparsed","Unparsed Events"
DESC
LAST 24 HOURS
Nombre de correspondances partielles par règle
Fournit une liste de toutes les règles et blocs de construction avec le nombre de correspondances partielles au cours de la période spécifiée.
SELECT RULENAME(partialmatchlist) as "Rule Name",
LONG(COUNT(*)) as "Number of Partial Matches"
FROM events
WHERE partialmatchlist IS NOT NULL
GROUP BY "Rule Name"
ORDER BY "Number of Partial Matches"
DESC
LAST 1 HOURS
Nombre de correspondances partielles par processeur d'événements
Fournit une liste de toutes les règles et blocs de construction avec le nombre de correspondances partielles au cours de la période spécifiée.
SELECT HOSTNAME(processorid) as "Event Processor Name",
LONG(COUNT(*)) as "Number of Partial Matches"
FROM events
WHERE partialmatchlist IS NOT NULL
GROUP BY "Event Processor Name"
ORDER BY "Number of Partial Matches"
DESC
LAST 1 HOURS
Nombre de correspondances partielles par règle et par processeur d'événements
Fournit une liste de toutes les règles et blocs de construction, y compris le nombre de correspondances partielles par règle dans la période spécifiée.
SELECT HOSTNAME(processorid) as "Event Processor Name",
RULENAME(partialmatchlist) as "Rule Name",
LONG(COUNT(*)) as "Number of Partial Matches"
FROM events
WHERE partialmatchlist IS NOT NULL
GROUP BY "Event Processor Name", "Rule Name"
ORDER BY "Number of Partial Matches"
DESC
LAST 1 HOURS
Consommation de stockage par type de source de journal
Fournit une ventilation de l'espace de stockage utilisé par chaque type de source de journal pendant une journée.
SELECT
LOGSOURCETYPENAME(deviceType) AS LogSource,
LONG(MIN(STRLEN(UTF8(payload)))) AS "Minimum Payload Size (Bytes)",
LONG(MAX(STRLEN(UTF8(payload)))) AS "Maximum Payload Size (Bytes)",
LONG(AVG(STRLEN(UTF8(payload)))) AS "Average Payload Size (Bytes)",
LONG(STDEV(STRLEN(UTF8(payload)))) AS "Standard Deviation (Bytes)",
LONG(COUNT(logsourceid)) AS EventCount,
LONG(EventCount * "Average Payload Size (Bytes)") / (1024 * 1024) as "Total Storage (MB)"
FROM events
GROUP BY deviceType
ORDER BY "Total Storage (MB)"
DESC
LAST 24 HOURS
Utilisation du stockage
Fournit un récapitulatif quotidien de la quantité de stockage utilisée sur tous les dispositifs QRadar .
SELECT DATEFORMAT(starttime, 'yyyy-MM-dd') as "Date", "Hostname" as "QRadar Appliance Name",
LONG(MAX("Value")/(1024*1024*1024)) as "Storage Used (GB)"
FROM events
WHERE (qid = 94000001) AND ((LONG(starttime/1000)%(24*3600)) < 20) AND ("Metric ID" = 'DiskSpaceUsed') AND (Element = '/store')
GROUP BY "Date", "Hostname"
ORDER BY "Date", "Hostname"
Utilisation de l'UC
Fournit une répartition du temps UC utilisé par chaque composant sur chaque dispositif QRadar
SELECT DATEFORMAT(starttime, 'yyyy-MM-dd') as "Date", "Hostname" as "QRadar Appliance Name",
"Component Type", LONG(SUM("Value")) as "CPU Time"
FROM events
WHERE (qid = 94000001) AND ("Metric ID" = 'ProcessCPUTime')
GROUP BY "Date", "Hostname", "Component Type"
ORDER BY "Date", "Hostname", "Component Type"
Utilisation de la mémoire
Fournit une répartition du segment de mémoire utilisé par chaque composant sur chaque dispositif QRadar .
SELECT DATEFORMAT(starttime, 'yyyy-MM-dd') as "Date", "Hostname" as "QRadar Appliance Name",
"Component Type", LONG(SUM("Value")/(1024*1024*1024)) as "Memory Usage Per Day (GB)"
FROM events
WHERE (qid = 94000001) AND ("Metric ID" = 'HeapMemoryUsed')
GROUP BY "Date", "Hostname", "Component Type"
ORDER BY "Date", "Hostname", "Component Type"
PEC, sources de journal et règles coûteuses
SELECT DATEFORMAT(starttime,'yyyy-MM-dd HH:mm:ss') as "timestamp",sourceip, "expensivecp","expensivelogsource","expensiverules", UTF8(payload)
FROM events
WHERE devicetype=147 AND (expensivecp is not NULL OR expensivelogsource is not NULL OR expensiverules is not NULL)
ORDER BY timestamp
DESC
LAST 48 HOURS
Recherches coûteurses
Fournit une liste des recherches qui ont été effectuées au cours des dernières 24 heures. La liste est triée en fonction du temps d'exécution.
SELECT "searchid", "searchpriority", "searchlimit", "searchtime"
FROM events
WHERE qid=28250295
ORDER BY searchtime
DESC
LAST 24 HOURS
Recherches AQL exécutées par utilisateur
Fournit une liste de toutes les recherches qui ont été effectuées par chaque utilisateur.
SELECT username, "Ariel Source", "Ariel Cursor ID", "searchpriority", "AQL Statement"
FROM events
WHERE qid=28250254
ORDER BY username
LAST 2 HOURS
Copie d'échantillons de requêtes
Si vous copiez et collez un échantillon de requête qui contient des guillemets simples ou doubles, vous devez retaper les guillemets pour être sûr que l'analyse de la requête est effectuée.