Todos los productos
Search
Centro de documentos

ActionTrail:Crear una regla de alerta personalizada

Última actualización: Sep 03, 2026

Cree reglas de alerta personalizadas para monitorear eventos específicos y lograr un monitoreo de seguridad empresarial flexible. ActionTrail genera alertas según las consultas, la frecuencia de verificación y las condiciones de activación que usted configure; posteriormente, realiza la reducción de ruido de alertas y envía notificaciones conforme a sus políticas de alerta y de acción.

Contexto

Las reglas de alerta personalizadas utilizan la sintaxis de Structured Query Language (SQL) para filtrar eventos. Para obtener más información sobre la sintaxis SQL, consulte Query overview y Query and analysis overview.

Procedimiento

  1. Inicie sesión en la ActionTrail console.

  2. En el panel de navegación izquierdo, haga clic en Event Alerting.

  3. En la página Alert Center, vaya a la pestaña Alert Rules y haga clic en Create Alert.

  4. En el panel Create Alert, agregue una configuración de consulta y análisis.

    1. Haga clic en Add a la derecha de Query and Analysis.

    2. En el cuadro de diálogo Query and Analysis, dentro de la pestaña Advanced Settings, establezca Types en Logstore Name y Authorization Method en Default.

      Nota

      Los campos Region y Project se completan automáticamente para coincidir con el trail donde está habilitada la alerta de eventos.

    3. Seleccione el Logstore al cual el trail entrega los eventos. El nombre del Logstore tiene el formato actiontrail_<trail_name>.

    4. Seleccione si desea habilitar Dedicated SQL.

      Nota
      • Auto: Dedicated SQL está deshabilitado de forma predeterminada. Si se alcanza un límite de concurrencia de consultas o si los resultados son inexactos, Simple Log Service reintenta automáticamente la consulta con Dedicated SQL.

      • Enable: Habilita Dedicated SQL para todas las consultas y análisis.

      • Close: Deshabilita Dedicated SQL.

      Para obtener más información sobre Dedicated SQL, consulte High-performance and high-accuracy query and analysis (Dedicated SQL).

    5. Establezca el Query Time Range, introduzca una sentencia de consulta personalizada en el cuadro de texto a la derecha de Query y luego haga clic en Preview.

      Para obtener más información sobre las sentencias de consulta personalizadas, consulte Custom query statements.

    6. Haga clic en Confirm.

  5. En el panel Create Alert, configure parámetros como Rule Name, Check Frequency, Group Evaluation, Trigger Condition, Add Tag, Add Annotation, No Data Recovery, Advanced Settings y Destination.

    Para obtener más información sobre los parámetros, consulte Alert monitoring rule parameters.

  6. Haga clic en Confirm.

    Una vez creada la regla de alerta personalizada, esta aparecerá en la lista de reglas de alerta. Para obtener más información, consulte Manage alert rules.

Sentencias de consulta personalizadas

Escenario

Descripción

Sentencia de consulta personalizada

Filtrar por servicio en la nube y evento

Filtra eventos por servicio en la nube y nombre del evento.

  • Especifique un solo evento para un único servicio. Por ejemplo, especifique el evento de creación de instancia para ECS.

    event.serviceName: Ecs and event.eventName: RunInstances

  • Especifique varios eventos para un único servicio. Por ejemplo, especifique eventos de liberación de instancias para ApsaraDB RDS.

    event.serviceName: RDS and (event.eventName: DeleteDBInstance or event.eventName: Release or event.eventName: DestroyDBInstance)

  • Especifique varios eventos para múltiples servicios. Por ejemplo, especifique eventos de cambio de permisos para Resource Management y RAM.

    (event.serviceName: ResourceManager and (event.eventName: AttachPolicy or event.eventName: DetachPolicy )) or (event.serviceName: Ram and (event.eventName: AttachPolicyToUser or event.eventName: AttachPolicyToGroup or event.eventName: AttachPolicyToRole or event.eventName: DetachPolicyFromUser or event.eventName: DetachPolicyFromGroup or event.eventName: DetachPolicyFromRole))

Obtener y especificar parámetros

Filtra eventos por valores de parámetros específicos en el objeto event.requestParameterJson.

  • Filtre eventos donde el atributo DeletionProtection de una instancia ECS se modifique a false.

    event.serviceName: Ecs and event.eventName: ModifyInstanceAttribute | SELECT * FROM (SELECT cast(json_extract("event.requestParameterJson", '$.DeletionProtection') as varchar) as deletion_protection FROM log) WHERE deletion_protection = 'false'

  • Filtre eventos donde la lista blanca de una instancia ApsaraDB RDS se establezca en 0.0.0.0.

    event.serviceName: Rds and event.eventName: ModifySecurityIps | SELECT * FROM (SELECT cast(json_extract("event.requestParameterJson", '$.SecurityIps') as varchar) as security_ips FROM log) WHERE security_ips like '%0.0.0.0%'

Obtener recursos

Filtra eventos por nombre o tipo de recurso.

Para obtener más información sobre los parámetros, consulte Management event structure.

Obtenga un recurso individual. Por ejemplo, obtenga el ID de la instancia afectada en un evento de liberación de instancia ECS.

event.serviceName: Ecs and (event.eventName: DeleteInstances or event.eventName: DeleteInstance or event.eventName: Release) | SELECT resourceArray[num] as instance_id FROM (SELECT split("event.resourceName", ';') as resourceArray, array_position(split("event.resourceType", ';'), 'ACS::ECS::Instance') as num FROM log) where num > 0

Obtener identidades

Filtra eventos según la identidad que los inició.

La información de identidad (userIdentity) incluye parámetros como el tipo de identidad (type), el nombre de la identidad (userName), el ID de identidad (principalId) y el ID de cuenta de Alibaba Cloud (accountId). Para obtener más información sobre los parámetros, consulte Management event structure.

  • Obtenga el tipo de identidad.

    * | SELECT "event.userIdentity.type" as user_type

  • Obtenga el nombre de la identidad.

    * | SELECT "event.userIdentity.userName" as user_name

  • Obtenga el ID de identidad.

    * | SELECT "event.userIdentity.principalId" as principal_id

  • Obtenga el ID de cuenta de Alibaba Cloud.

    * | SELECT "event.userIdentity.accountId" as account_id

Contar ocurrencias de eventos

Cuenta las ocurrencias de eventos y activa una alerta cuando se supera un umbral especificado.

  • Genere una alerta por reinicios excesivos de instancias ECS. Por ejemplo, active una alerta si una instancia ECS se reinicia más de dos veces.

    event.serviceName: Ecs and (event.eventName: RebootInstances or event.eventName: RebootInstance) | SELECT account_id, resourceArray[num] as instance_id, count(*) as cnt FROM ( SELECT "event.userIdentity.accountId" as account_id, split("event.resourceName", ';') as resourceArray, array_position(split("event.resourceType", ';'), 'ACS::ECS::Instance') as num FROM log) where num > 0 group by account_id, instance_id

  • Genere una alerta por un número excesivo de intentos de inicio de sesión fallidos. Por ejemplo, active una alerta si fallan más de dos intentos de inicio de sesión.

    event.eventName: ConsoleSignin and event.userIdentity.type: ram-user and not event.errorMessage: success | select "event.userIdentity.principalId" as user_id, "event.userIdentity.userName" as user_name, count(1) as cnt group by user_id, user_name

Ejemplos de alertas personalizadas

La función arbitrary devuelve un valor arbitrario no nulo de x. La sintaxis es arbitrary(x). Para obtener más información, consulte the arbitrary function. Los siguientes ejemplos utilizan esta función.

  • Ejemplo 1: Alerta por liberación de instancia ApsaraDB RDS

    event.serviceName: RDS and (event.eventName: DeleteDBInstance or event.eventName: Release or event.eventName: DestroyDBInstance) | SELECT account_id, resourceArray[num] as instance_id, ram_user_id, user_type, user_name FROM (SELECT "event.userIdentity.accountId" as account_id, "event.userIdentity.principalId" as ram_user_id, split("event.resourceName", ';') as resourceArray, array_position(split("event.resourceType", ';'), 'ACS::RDS::DBInstance') as num, "event.userIdentity.type" as user_type, "event.userIdentity.userName" as user_name FROM log ) where num > 0

  • Ejemplo 2: Alerta por cambios en la configuración de security group

    event.eventName: CreateSecurityGroup OR event.eventName: AuthorizeSecurityGroup OR event.eventName: AuthorizeSecurityGroupEgress OR event.eventName: RevokeSecurityGroup OR event.eventName: RevokeSecurityGroupEgress OR event.eventName: JoinSecurityGroup OR event.eventName: LeaveSecurityGroup OR event.eventName: DeleteSecurityGroup OR event.eventName: ModifySecurityGroupPolicy) | select "event.userIdentity.accountId" as account_id, "event.userIdentity.principalId" as ram_user_id, "event.eventName" as event_name, arbitrary("event.userIdentity.type") as user_type, arbitrary("event.userIdentity.userName") as user_name group by account_id, ram_user_id, event_name

Documentos relacionados

  • También puede crear reglas de alerta personalizadas en Simple Log Service. Para consultar las instrucciones, consulte Create an alert monitoring rule.

  • Después de habilitar una regla de alerta, puede gestionarla en Simple Log Service. Para obtener más información, consulte Manage alert monitoring rules.