Utilisez des instructions SQL dans les requêtes d'événements avancées pour interroger ou analyser les événements acheminés vers Simple Log Service via un trail.
Pour utiliser des chaînes de caractères dans les instructions d'analyse, entourez-les de guillemets simples (''). Les chaînes sans guillemets ou celles entre guillemets doubles ("") désignent des noms de champs ou de colonnes. Par exemple, 'status' indique la chaîne « status », tandis que status ou "status" fait référence au champ de journal « status ».
Exemples
-
Requête en texte intégral
Spécifiez un mot-clé, tel qu'un nom de champ ou une valeur de champ.
Exemple : recherchez les événements contenant le mot-clé
DescribeInstances.DescribeInstances -
Correspondance exacte basée sur les propriétés
Indiquez une propriété d'événement au format
[Nom de la propriété d'événement]:[Valeur de la propriété d'événement]. Spécifiez un nom et une valeur exacts. Pour plus d'informations sur les propriétés des événements, consultez la section Propriétés des événements de cette rubrique.Exemple : recherchez les événements dont la valeur de
event.eventSourceestactiontrail.cn-hangzhou.aliyuncs.com.event.eventSource: actiontrail.cn-hangzhou.aliyuncs.com -
Correspondance floue basée sur les attributs
Indiquez une propriété d'événement au format
[Nom de la propriété d'événement]:[Valeur de la propriété d'événement]. Le nom doit être exact. Pour la valeur, ajoutez un astérisque (*) pour correspondre à plusieurs caractères ou un point d'interrogation (?) pour correspondre à un seul caractère.-
Exemple 1 : recherchez tous les événements d'accès basés sur une paire AccessKey.
event.userIdentity.accessKeyId: * -
Exemple 2 : recherchez les événements dont la valeur de
event.eventSourcecommence paractiontrail.event.eventSource: actiontrail*
-
-
Requête multi-conditions
Utilisez des parenthèses
()et les opérateurs logiquesANDouORpour effectuer une requête avec plusieurs conditions.-
Exemple 1 : recherchez tous les événements correspondant à des échecs d'accès basés sur une paire AccessKey.
event.errorCode: * AND event.userIdentity.accessKeyId: * -
Exemple 2 : recherchez les événements dont la valeur de
event.eventNameestCreate,CreateInstanceouRunInstances.event.eventName: Create OR event.eventName: CreateInstance OR event.eventName: RunInstances -
Exemple 3 : recherchez les événements dont la valeur de
event.serviceNameestkafkaet dont la valeur de eventName estCreate,CreateInstanceouRunInstances.(event.serviceName: AliKafka AND ( event.eventName: Create OR event.eventName: CreateInstance OR event.eventName: RunInstances )
-
-
Requête d'agrégation
Utilisez la syntaxe de requête d'agrégation de Simple Log Service pour générer des statistiques agrégées sur les événements. Par exemple, utilisez la clause
GROUP BYpour agréger des données selon des champs spécifiques.-
Exemple 1 : comptez le nombre d'événements regroupés par service cloud.
* | SELECT "event.serviceName" AS service, COUNT(*) AS count FROM log GROUP BY "event.serviceName" -
Exemple 2 : comptez le nombre d'événements regroupés par utilisateur et par service cloud.
* | SELECT "event.userIdentity.principalId" AS principalId, "event.serviceName" AS service, COUNT(*) AS count FROM log GROUP BY principalId,service
-
Propriétés des événements
Le tableau suivant décrit les attributs d'événement pris en charge par ActionTrail.
|
Catégorie |
Nom de la propriété d'événement |
Description |
|
Opérateur |
|
L'ID du compte Alibaba Cloud. |
|
|
L'ID de la clé. |
|
|
|
L'ID du demandeur. |
|
|
|
Le type de compte. |
|
|
|
Le nom d'utilisateur. |
|
|
Action |
|
Le nom du service. |
|
|
Le type de lecture/écriture. |
|
|
|
Le nom de l'événement. |
|
|
|
Les informations de version. |
|
|
|
Le message d'erreur. |
|
|
|
Le code d'erreur. |
|
|
Ressource associée |
|
Le type de ressource. |
|
|
Le nom de la ressource. |
|
|
Emplacement |
|
La région. |
|
|
La source de l'événement. |
|
|
|
L'adresse IP source. |
|
|
Autres |
|
L'ID de la requête. |
|
|
L'ID de l'événement. |
Fonctions d'agrégation
Le tableau suivant décrit les fonctions d'agrégation prises en charge par ActionTrail.
Paramètre | Syntaxe | Description | Prise en charge SQL | Prise en charge SPL |
arbitrary(x) | Renvoie une valeur non NULL arbitraire issue de x. | √ | × | |
avg(x) | Calcule la moyenne arithmétique de x. | √ | × | |
bitwise_and_agg(x) | Renvoie le ET binaire de toutes les valeurs de x. | √ | × | |
bitwise_or_agg(x) | Renvoie le OU binaire de toutes les valeurs de x. | √ | × | |
bool_and(expression booléenne) | Renvoie true si tous les journaux satisfont la condition. La fonction | √ | × | |
bool_or(expression booléenne) | Renvoie true si au moins un journal satisfait la condition. | √ | × | |
checksum(x) | Calcule la somme de contrôle de x. | √ | × | |
count(*) | Renvoie le nombre total de journaux. | √ | × | |
count(1) | Renvoie le nombre total de journaux, ce qui équivaut à | √ | × | |
count(x) | Renvoie le nombre de journaux pour lesquels la valeur de x n'est pas NULL. | √ | × | |
count_if(expression booléenne) | Renvoie le nombre de journaux qui satisfont la condition spécifiée. | √ | × | |
every(expression booléenne) | Renvoie true si tous les journaux satisfont la condition. La fonction | √ | × | |
geometric_mean(x) | Calcule la moyenne géométrique de x. | √ | × | |
kurtosis(x) | Calcule l'aplatissement (kurtosis) de x. | √ | × | |
map_union(x) | Renvoie l'union des mappages d'une colonne. Si une clé existe dans plusieurs mappages, une valeur arbitraire est sélectionnée pour cette clé. | √ | × | |
max(x) | Renvoie la valeur maximale de x. | √ | × | |
max(x, n) | Renvoie les n plus grandes valeurs de x sous forme de tableau. | √ | × | |
max_by(x, y) | Renvoie la valeur de x associée à la valeur maximale de y. | √ | × | |
max_by(x, y, n) | Renvoie un tableau des valeurs x correspondant aux n plus grandes valeurs de y. | √ | × | |
min(x) | Renvoie la valeur minimale de x. | √ | × | |
min(x, n) | Renvoie les n plus petites valeurs de x sous forme de tableau. | √ | × | |
min_by(x, y) | Renvoie la valeur de x associée à la valeur minimale de y. | √ | × | |
min_by(x, y, n) | Renvoie un tableau des valeurs x correspondant aux n plus petites valeurs de y. | √ | × | |
skewness(x) | Calcule l'asymétrie (skewness) de x. | √ | × | |
sum(x) | Calcule la somme de x. | √ | × |
Mots réservés
Le bloc de code suivant liste tous les mots réservés dans les instructions SQL :
AND
AS
BETWEEN
BY
CASE
CAST
CROSS
CUBE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
DISTINCT
ELSE
END
ESCAPE
EXCEPT
EXISTS
FROM
GROUP
GROUPING
HAVING
IN
INNER
INSERT
INTERSECT
INTO
IS
JOIN
LEFT
LIKE
LIMIT
LOCALTIME
LOCALTIMESTAMP
NATURAL
NOT
NULL
ON
OR
ORDER
OUTER
RIGHT
ROLLUP
SELECT
THEN
TRUE
UNION
UNNEST
VALUES
WHEN
WHERE
WITH