En las consultas avanzadas de eventos se utilizan instrucciones SQL para consultar o analizar los eventos que un trail entrega a Simple Log Service.
Si utiliza cadenas de texto en las instrucciones analíticas, debe encerrarlas entre comillas simples (''). Las cadenas sin comillas o con comillas dobles ("") representan nombres de campos o de columnas. Por ejemplo, 'status' indica la cadena status, mientras que status o "status" indican el campo de registro status.
Ejemplos
-
Consulta de texto completo
Especifique una palabra clave, como el nombre o el valor de un campo.
Ejemplo: consulte los eventos que contienen la palabra clave
DescribeInstances.DescribeInstances -
Coincidencia exacta por propiedad
Especifique una propiedad del evento con el formato
[Nombre de la propiedad del evento]:[Valor de la propiedad del evento]. Debe indicar el nombre y el valor exactos. Para obtener más información sobre las propiedades de los eventos, consulte Event properties en este tema.Ejemplo: consulte los eventos donde el valor de
event.eventSourceesactiontrail.cn-hangzhou.aliyuncs.com.event.eventSource: actiontrail.cn-hangzhou.aliyuncs.com -
Coincidencia aproximada por atributo
Especifique una propiedad del evento con el formato
[Nombre de la propiedad del evento]:[Valor de la propiedad del evento]. El nombre debe ser exacto. En el valor, agregue un asterisco (*) para coincidir con varios caracteres o un signo de interrogación (?) para coincidir con un solo carácter.-
Ejemplo 1: consulte todos los eventos de acceso mediante pares de AccessKey.
event.userIdentity.accessKeyId: * -
Ejemplo 2: consulte los eventos donde el valor de
event.eventSourcecomienza conactiontrail.event.eventSource: actiontrail*
-
-
Consulta con varias condiciones
Utilice paréntesis
()y los operadores lógicosANDuORpara ejecutar una consulta con varias condiciones.-
Ejemplo 1: consulte todos los eventos de error en accesos mediante pares de AccessKey.
event.errorCode: * AND event.userIdentity.accessKeyId: * -
Ejemplo 2: consulte los eventos donde el valor de
event.eventNameesCreate,CreateInstanceoRunInstances.event.eventName: Create OR event.eventName: CreateInstance OR event.eventName: RunInstances -
Ejemplo 3: consulte los eventos donde el valor de
event.serviceNameeskafkay el valor de eventName esCreate,CreateInstanceoRunInstances.(event.serviceName: AliKafka AND ( event.eventName: Create OR event.eventName: CreateInstance OR event.eventName: RunInstances )
-
-
Consulta de agregación
La sintaxis de consulta de agregación de Simple Log Service permite generar estadísticas agregadas de los eventos. Por ejemplo, utilice la cláusula
GROUP BYpara generar estadísticas agregadas de campos específicos.-
Ejemplo 1: consulte la cantidad de eventos agrupados por servicio en la nube.
* | SELECT "event.serviceName" AS service, COUNT(*) AS count FROM log GROUP BY "event.serviceName" -
Ejemplo 2: consulte la cantidad de eventos agrupados por usuario y servicio en la nube.
* | SELECT "event.userIdentity.principalId" AS principalId, "event.serviceName" AS service, COUNT(*) AS count FROM log GROUP BY principalId,service
-
Propiedades de los eventos
A continuación se describen los atributos de eventos compatibles con ActionTrail.
|
Categoría |
Nombre de la propiedad del evento |
Descripción |
|
Operador |
|
El ID de la cuenta de Alibaba Cloud. |
|
|
El ID de la clave. |
|
|
|
El ID del solicitante. |
|
|
|
El tipo de cuenta. |
|
|
|
El nombre de usuario. |
|
|
Acción |
|
El nombre del servicio. |
|
|
El tipo de lectura o escritura. |
|
|
|
El nombre del evento. |
|
|
|
La información de la versión. |
|
|
|
El mensaje de error. |
|
|
|
El código de error. |
|
|
Recurso asociado |
|
El tipo de recurso. |
|
|
El nombre del recurso. |
|
|
Ubicación |
|
La región. |
|
|
El origen del evento. |
|
|
|
La dirección IP de origen. |
|
|
Otros |
|
El ID de la solicitud. |
|
|
El ID del evento. |
Funciones de agregación
A continuación se describen las funciones de agregación compatibles con ActionTrail.
Parámetro | Sintaxis | Descripción | Compatible con SQL | Compatible con SPL |
arbitrary(x) | Devuelve un valor arbitrario distinto de NULL de x. | √ | × | |
avg(x) | Calcula la media aritmética de x. | √ | × | |
bitwise_and_agg(x) | Devuelve el resultado de la operación AND bit a bit de todos los valores de x. | √ | × | |
bitwise_or_agg(x) | Devuelve el resultado de la operación OR bit a bit de todos los valores de x. | √ | × | |
bool_and(boolean expression) | Devuelve true si todos los registros cumplen la condición. La función | √ | × | |
bool_or(boolean expression) | Devuelve true si como mínimo un registro cumple la condición. | √ | × | |
checksum(x) | Calcula la suma de comprobación de x. | √ | × | |
count(*) | Devuelve el número total de registros. | √ | × | |
count(1) | Devuelve el número total de registros; equivale a | √ | × | |
count(x) | Devuelve la cantidad de registros cuyo valor de x no es NULL. | √ | × | |
count_if(boolean expression) | Devuelve la cantidad de registros que cumplen la condición especificada. | √ | × | |
every(boolean expression) | Devuelve true si todos los registros cumplen la condición. La función | √ | × | |
geometric_mean(x) | Calcula la media geométrica de x. | √ | × | |
kurtosis(x) | Calcula la curtosis de x. | √ | × | |
map_union(x) | Devuelve la unión de los mapas de una columna. Si una clave existe en varios mapas, se elige un valor arbitrario para esa clave. | √ | × | |
max(x) | Devuelve el valor máximo de x. | √ | × | |
max(x, n) | Devuelve, como arreglo, los n valores más grandes de x. | √ | × | |
max_by(x, y) | Devuelve el valor de x asociado al valor máximo de y. | √ | × | |
max_by(x, y, n) | Devuelve un arreglo con los valores de x correspondientes a los n valores más grandes de y. | √ | × | |
min(x) | Devuelve el valor mínimo de x. | √ | × | |
min(x, n) | Devuelve, como arreglo, los n valores más pequeños de x. | √ | × | |
min_by(x, y) | Devuelve el valor de x asociado al valor mínimo de y. | √ | × | |
min_by(x, y, n) | Devuelve un arreglo con los valores de x correspondientes a los n valores más pequeños de y. | √ | × | |
skewness(x) | Calcula la asimetría de x. | √ | × | |
sum(x) | Calcula la suma de x. | √ | × |
Palabras reservadas
El siguiente bloque de código muestra todas las palabras reservadas en las instrucciones 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