Todos os produtos
Search
Central de documentação

ActionTrail:Criar uma regra de alerta personalizada

Última atualização: Jun 27, 2026

Crie regras de alerta personalizadas para monitorar eventos específicos e garantir um monitoramento de segurança corporativa flexível. O ActionTrail gera alertas com base nas consultas, na frequência de verificação e nas condições de acionamento que você configura. Em seguida, o serviço reduz o ruído dos alertas e envia notificações conforme suas políticas de alerta e de ação.

Informações básicas

As regras de alerta personalizadas usam a sintaxe da Structured Query Language (SQL) para filtrar eventos. Para obter mais informações sobre a sintaxe SQL, consulte Visão geral da consulta e Visão geral de consulta e análise.

Procedimento

  1. Faça login no console do ActionTrail.

  2. No painel de navegação à esquerda, clique em Event Alerting.

  3. Na página Alert Center, acesse a aba Alert Rules e clique em Create Alert.

  4. No painel Create Alert, adicione uma configuração de consulta e análise.

    1. Clique em Add à direita de Query and Analysis.

    2. Na caixa de diálogo Query and Analysis, na aba Advanced Settings, defina Types como Logstore Name e Authorization Method como Default.

      Nota

      Os campos Region e Project são preenchidos automaticamente para corresponder à trilha onde o alerta de eventos está ativado.

    3. Selecione o Logstore para o qual a trilha entrega eventos. O nome do Logstore segue o formato actiontrail_<trail_name>.

    4. Escolha se deseja ativar o Dedicated SQL.

      Nota
      • Auto: O Dedicated SQL fica desativado por padrão. Caso o limite de concorrência de consultas seja atingido ou os resultados sejam imprecisos, o Simple Log Service repetirá a consulta automaticamente usando o Dedicated SQL.

      • Enable: Ativa o Dedicated SQL para todas as consultas e análises.

      • Close: Desativa o Dedicated SQL.

      Para mais detalhes sobre o Dedicated SQL, consulte Consulta e análise de alto desempenho e alta precisão (Dedicated SQL).

    5. Defina o Query Time Range, insira uma instrução de consulta personalizada na caixa de texto à direita de Query e clique em Preview.

      Para saber mais sobre instruções de consulta personalizadas, consulte Instruções de consulta personalizadas.

    6. Clique em Confirm.

  5. No painel Create Alert, configure parâmetros como Rule Name, Check Frequency, Group Evaluation, Trigger Condition, Add Tag, Add Annotation, No Data Recovery, Advanced Settings e Destination.

    Para obter mais informações sobre os parâmetros, consulte Parâmetros da regra de monitoramento de alertas.

  6. Clique em Confirm.

    Após a criação da regra de alerta personalizada, ela aparecerá na lista de regras de alerta. Para mais informações, consulte Gerenciar regras de alerta.

Instruções de consulta personalizadas

Cenário

Descrição

Instrução de consulta personalizada

Filtrar por serviço de nuvem e evento

Filtra eventos pelo serviço de nuvem e pelo nome do evento.

  • Especifique um único evento para um único serviço. Por exemplo, especifique o evento de criação de instância para ECS.

    event.serviceName: Ecs and event.eventName: RunInstances

  • Defina vários eventos para um único serviço. Por exemplo, especifique eventos de liberação de instância para ApsaraDB RDS.

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

  • Indique múltiplos eventos para diversos serviços. Por exemplo, especifique eventos de alteração de permissão para Resource Management e 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))

Obter e especificar parâmetros

Filtra eventos por valores específicos de parâmetros no objeto event.requestParameterJson.

  • Filtre eventos nos quais o atributo DeletionProtection de uma instância ECS foi modificado para 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 em que a lista de permissões de uma instância ApsaraDB RDS esteja definida como 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%'

Obter recursos

Filtra eventos pelo nome ou tipo do recurso.

Para mais informações sobre os parâmetros, consulte Estrutura de eventos de gerenciamento.

Obtenha um único recurso. Por exemplo, obtenha o ID da instância afetada em um evento de liberação de instância 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

Obter identidades

Filtra eventos pela identidade que os iniciou.

As informações de identidade (userIdentity) incluem parâmetros como tipo de identidade (type), nome da identidade (userName), ID da identidade (principalId) e ID da conta Alibaba Cloud (accountId). Para mais detalhes sobre esses parâmetros, consulte Estrutura de eventos de gerenciamento.

  • Obtenha o tipo de identidade.

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

  • Obtenha o nome da identidade.

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

  • Obtenha o ID da identidade.

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

  • Obtenha o ID da conta Alibaba Cloud.

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

Contar ocorrências de eventos

Conta as ocorrências de eventos e aciona um alerta quando um limiar especificado é excedido.

  • Alerte sobre reinicializações excessivas de instâncias ECS. Por exemplo, acione um alerta se uma instância ECS for reiniciada mais de duas vezes.

    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

  • Alerte sobre um número excessivo de tentativas de login com falha. Por exemplo, acione um alerta se mais de duas tentativas de login falharem.

    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

Exemplos de alertas personalizados

A função arbitrary retorna um valor arbitrário não nulo de x. A sintaxe é arbitrary(x). Para mais informações, consulte a função arbitrary. Os exemplos a seguir usam essa função.

  • Exemplo 1: Alerta sobre liberação de instância 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

  • Exemplo 2: Alerta sobre alterações na configuração de grupo de segurança

    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