Tous les produits
Search
Centre de documentation

ActionTrail:Instructions SQL dans les requêtes d'événements avancées

Dernière mise à jour :Aug 09, 2026

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.

Important

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.eventSource est actiontrail.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.eventSource commence par actiontrail.

      event.eventSource: actiontrail*
  • Requête multi-conditions

    Utilisez des parenthèses () et les opérateurs logiques AND ou OR pour 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.eventName est Create, CreateInstance ou RunInstances.

       event.eventName: Create  OR event.eventName: CreateInstance  OR event.eventName: RunInstances 
    • Exemple 3 : recherchez les événements dont la valeur de event.serviceName est kafka et dont la valeur de eventName est Create, CreateInstance ou RunInstances.

      (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 BY pour 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

event.userIdentity.accountId

L'ID du compte Alibaba Cloud.

event.userIdentity.accessKeyId

L'ID de la clé.

event.userIdentity.principalId

L'ID du demandeur.

event.userIdentity.type

Le type de compte.

event.userIdentity.userName

Le nom d'utilisateur.

Action

event.serviceName

Le nom du service.

event.eventRW

Le type de lecture/écriture.

event.eventName

Le nom de l'événement.

event.apiVersion

Les informations de version.

event.errorMessage

Le message d'erreur.

event.errorCode

Le code d'erreur.

Ressource associée

event.resourceType

Le type de ressource.

event.resourceName

Le nom de la ressource.

Emplacement

event.acsRegion

La région.

event.eventSource

La source de l'événement.

event.sourceIpAddress

L'adresse IP source.

Autres

event.requestId

L'ID de la requête.

event.eventId

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

fonction arbitrary

arbitrary(x)

Renvoie une valeur non NULL arbitraire issue de x.

×

fonction avg

avg(x)

Calcule la moyenne arithmétique de x.

×

fonction bitwise_and_agg

bitwise_and_agg(x)

Renvoie le ET binaire de toutes les valeurs de x.

×

fonction bitwise_or_agg

bitwise_or_agg(x)

Renvoie le OU binaire de toutes les valeurs de x.

×

fonction bool_and

bool_and(expression booléenne)

Renvoie true si tous les journaux satisfont la condition.

La fonction bool_and équivaut à la fonction every.

×

fonction bool_or

bool_or(expression booléenne)

Renvoie true si au moins un journal satisfait la condition.

×

fonction checksum

checksum(x)

Calcule la somme de contrôle de x.

×

fonction count

count(*)

Renvoie le nombre total de journaux.

×

count(1)

Renvoie le nombre total de journaux, ce qui équivaut à count(*).

×

count(x)

Renvoie le nombre de journaux pour lesquels la valeur de x n'est pas NULL.

×

fonction count_if

count_if(expression booléenne)

Renvoie le nombre de journaux qui satisfont la condition spécifiée.

×

fonction every

every(expression booléenne)

Renvoie true si tous les journaux satisfont la condition.

La fonction every équivaut à la fonction bool_and.

×

fonction geometric_mean

geometric_mean(x)

Calcule la moyenne géométrique de x.

×

fonction kurtosis

kurtosis(x)

Calcule l'aplatissement (kurtosis) de x.

×

fonction map_union

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é.

×

fonction max

max(x)

Renvoie la valeur maximale de x.

×

max(x, n)

Renvoie les n plus grandes valeurs de x sous forme de tableau.

×

fonction max_by

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.

×

fonction min

min(x)

Renvoie la valeur minimale de x.

×

min(x, n)

Renvoie les n plus petites valeurs de x sous forme de tableau.

×

fonction min_by

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.

×

fonction skewness

skewness(x)

Calcule l'asymétrie (skewness) de x.

×

fonction sum

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