Todos os produtos
Search
Central de documentação

Resource Orchestration Service:ALIYUN::SLS::Alert

Última atualização: Jul 03, 2026

O recurso ALIYUN::SLS::Alert cria uma regra de alerta.

Sintaxe

{
  "Type": "ALIYUN::SLS::Alert",
  "Properties": {
    "Project": String,
    "Detail": Map
  }
}

Propriedades

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Project

String

Sim

Não

Nome do projeto.

Nenhuma.

Detail

Map

Sim

Sim

Detalhes da regra de alerta.

Para mais informações, consulte Propriedades de Detail.

Sintaxe de Detail

"Detail": {
  "Type": String,
  "Description": String,
  "Configuration": Map,
  "State": String,
  "Schedule": Map,
  "DisplayName": String,
  "Name": String
}

Propriedades de Detail

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Type

String

Não

Não

Tipo da regra de alerta.

Nenhuma.

Description

String

Não

Sim

Descrição da regra de alerta.

Nenhuma.

Configuration

Map

Sim

Sim

Configurações da regra de alerta.

Para mais informações, consulte Propriedades de Configuration.

State

String

Não

Não

Defina se a regra de alerta está ativada.

Valores válidos:

  • Enable

  • Disabled

Schedule

Map

Sim

Sim

Intervalo em que o Log Service avalia a regra de alerta.

Se a avaliação da regra retornar mais de 100 entradas de log, o sistema verificará apenas as primeiras 100.

Para mais informações, consulte Propriedades de Schedule.

DisplayName

String

Sim

Sim

Nome de exibição da regra de alerta.

O nome deve ter de 1 a 64 caracteres.

Name

String

Sim

Não

Nome da regra de alerta.

Nenhuma.

Sintaxe de Configuration

"Configuration": {
  "Throttling": String,
  "Condition": String,
  "NotificationList": List,
  "NotifyThreshold": Integer,
  "Dashboard": String,
  "QueryList": List,
  "Type": String,
  "GroupConfiguration": Map,
  "NoDataFire": Boolean,
  "Threshold": Integer,
  "SeverityConfigurations": List,
  "Labels": List,
  "AutoAnnotation": Boolean,
  "PolicyConfiguration": Map,
  "SendResolved": Boolean,
  "NoDataSeverity": Integer,
  "Annotations": List,
  "MuteUntil": Integer,
  "JoinConfigurations": List,
  "Version": String
}

Propriedades de Configuration

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Throttling

String

Não

Sim

Intervalo entre os envios de notificações de alerta pelo Log Service.

Nenhuma.

Condition

String

Não

Sim

Condição de acionamento.

Operadores aritméticos compatíveis: adição (+), subtração (-), multiplicação (*), divisão (/) e módulo (%). Operadores de comparação compatíveis: maior que (>), maior ou igual a (>=), menor que (<), menor ou igual a (<=), igual a (==), diferente de (!=), correspondência (=~) e não correspondência (!~).

Para mais informações, consulte Sintaxe das condições de acionamento em regras de alerta.

NotificationList

List

Não

Sim

Lista de notificações de alerta.

Para mais informações, consulte Propriedades de NotificationList.

NotifyThreshold

Integer

Não

Sim

Limiar para acionamento das notificações de alerta.

Nenhuma.

Dashboard

String

Sim

Sim

Painel associado à regra de alerta.

Nenhuma.

QueryList

List

Sim

Sim

Lista de instruções de consulta.

Para mais informações, consulte Propriedades de QueryList.

Type

String

Não

Sim

Tipo da regra de alerta.

Defina o valor como default.

GroupConfiguration

Map

Não

Sim

Configurações da avaliação por grupo.

Para mais informações, consulte Propriedades de GroupConfiguration.

NoDataFire

Boolean

Não

Sim

Defina se o recurso de alerta por ausência de dados está ativado.

Valor padrão: false. Valores válidos:

  • true: ativa o recurso de alerta por ausência de dados.

    Se esta propriedade for definida como true, um alerta será acionado quando o número de vezes sem retorno de dados em um resultado de consulta e análise exceder o valor da propriedade Threshold.

    Nota

    Se houver múltiplos resultados de consulta e análise, o alerta será acionado quando o número de vezes sem retorno de dados em uma operação de conjunto sobre esses resultados ultrapassar o valor definido na propriedade Threshold.

    Para mais informações, consulte Alerta por ausência de dados.

  • false: desativa o recurso de alerta por ausência de dados.

Threshold

Integer

Não

Sim

Limiar para acionamento do alerta.

Um alerta é disparado se a condição de acionamento for atendida consecutivamente pelo número de vezes especificado neste limiar. O sistema não contabiliza as ocorrências em que a condição não for satisfeita.

SeverityConfigurations

List

Não

Sim

Condição de acionamento. Especifique pelo menos uma condição.

Para mais informações, consulte Propriedades de SeverityConfigurations.

Labels

List

Não

Sim

Rótulos da regra de alerta.

Para mais informações, consulte Propriedades de Labels.

AutoAnnotation

Boolean

Não

Sim

Defina se o sistema pode adicionar anotações automaticamente à regra de alerta.

Valor padrão: true. Valores válidos:

  • true: permite que o sistema adicione anotações automáticas, como __count__, à regra de alerta.

    Para mais informações, consulte Opção de adição automática.

  • false: impede que o sistema adicione anotações automáticas à regra de alerta.

PolicyConfiguration

Map

Não

Sim

Configurações da política de alerta.

Para mais informações, consulte Propriedades de PolicyConfiguration.

SendResolved

Boolean

Não

Sim

Defina se uma notificação de recuperação deve ser enviada ao resolver o alerta.

Valor padrão: false. Valores válidos:

  • true: envia uma notificação de recuperação ao resolver o alerta.

    Para mais informações, consulte Notificações de recuperação.

  • false: não envia notificação de recuperação ao resolver o alerta.

NoDataSeverity

Integer

Não

Sim

Nível de severidade do alerta por ausência de dados.

Para mais informações, consulte Severidades de alerta.

Annotations

List

Não

Sim

Anotações da regra de alerta.

Para mais informações, consulte Propriedades de Annotations.

MuteUntil

Integer

Não

Sim

Limiar para acionamento do alerta.

Nenhuma.

JoinConfigurations

List

Não

Sim

Configurações das operações de conjunto.

Para mais informações, consulte Propriedades de JoinConfigurations.

  • Se você especificar apenas uma instrução de consulta na propriedade QueryList, não será necessário definir a propriedade JoinConfigurations.

  • Ao especificar duas ou três instruções de consulta na propriedade QueryList, defina a propriedade JoinConfigurations para associar os resultados de consulta e análise.

    Para mais informações, consulte Operações com múltiplos conjuntos.

Version

String

Não

Sim

Versão da regra de alerta.

Defina o valor como 2,0.

Sintaxe de NotificationList

"NotificationList": [
  {
    "Type": String,
    "MobileList": List,
    "ServiceUri": String,
    "Content": String,
    "EmailList": List,
    "Method": String,
    "Headers": Map
  }
]

Propriedades de NotificationList

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Type

String

Sim

Não

Método de envio das notificações de alerta.

Valores válidos:

  • Email: E-mail

  • MessageCenter: Central de Mensagens

  • DingTalk: Webhook de chatbot do DingTalk

  • Webhook: Webhook personalizado

Content

String

Não

Não

Conteúdo da notificação de alerta.

Você pode usar as seguintes variáveis de modelo no conteúdo: ${Project}, ${Condition}, ${AlertName}, ${AlertID}, ${Dashboard}, ${FireTime} e ${Results}.

Para mais informações, consulte Configurar métodos de notificação.

MobileList

List

Não

Não

Lista de números de celular.

Cada número de celular pode receber até 50 mensagens de texto por dia.

ServiceUri

String

Não

Não

URL da requisição.

Esta propriedade é obrigatória se a propriedade Type estiver definida como Webhook ou DingTalk.

EmailList

List

Não

Não

Lista de endereços de e-mail.

Esta propriedade é obrigatória se a propriedade Type estiver definida como Email.

Cada endereço de e-mail pode receber até 100 mensagens por dia.

Method

String

Não

Não

Método da requisição.

Nenhuma.

Headers

Map

Não

Não

Detalhes do cabeçalho da requisição.

Nenhuma.

Sintaxe de QueryList

"QueryList": [
  {
    "Query": String,
    "LogStore": String,
    "Start": String,
    "TimeSpanType": String,
    "End": String,
    "ChartTitle": String,
    "DashboardId": String,
    "Region": String,
    "RoleArn": String,
    "StoreType": String,
    "PowerSqlMode": String,
    "Project": String,
    "Store": String
  }
]

Propriedades de QueryList

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Query

String

Sim

Não

Instrução de consulta.

Nenhuma.

LogStore

String

Não

Não

Logstore.

Nenhuma.

Start

String

Sim

Não

Início do intervalo de tempo da consulta.

Nenhuma.

TimeSpanType

String

Sim

Não

Intervalo de tempo da consulta.

Nenhuma.

End

String

Sim

Não

Fim do intervalo de tempo da consulta.

Nenhuma.

ChartTitle

String

Não

Não

Título do gráfico.

Nenhuma.

DashboardId

String

Não

Não

ID do painel associado à regra de alerta.

Nenhuma.

Region

String

Não

Não

Região do projeto.

Nenhuma.

RoleArn

String

Não

Não

ARN (Alibaba Cloud Resource Name) da função RAM necessária para acessar os dados.

Para mais informações, consulte Configurar políticas de controle de acesso.

StoreType

String

Não

Não

Tipo da source de dados.

Valores válidos:

  • log: Dados do Logstore

  • metric: Dados do Metricstore

  • meta: Dados de recursos

PowerSqlMode

String

Não

Não

Defina se o sistema pode ativar o Dedicated SQL.

Valores válidos:

  • auto: O sistema ativa ou desativa o Dedicated SQL automaticamente.

  • enable: O sistema ativa o Dedicated SQL.

  • disable: O sistema desativa o Dedicated SQL.

Project

String

Não

Não

Projeto associado à instrução de consulta.

Nenhuma.

Store

String

Não

Não

Logstore, Metricstore ou dados de recursos associados à instrução de consulta.

Nenhuma.

Sintaxe de Schedule

"Schedule": {
  "Type": String,
  "Interval": String,
  "Hour": Integer,
  "DayOfWeek": Integer,
  "CronExpression": String,
  "Delay": Integer,
  "RunImmediately": Boolean
}

Propriedades de Schedule

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Type

String

Sim

Sim

Tipo de agendamento que define quando a regra de alerta é acionada.

Valores válidos:

  • Hourly: A regra de alerta é acionada a cada hora.

  • Daily: A regra de alerta é acionada diariamente.

  • Weekly: A regra de alerta é acionada semanalmente.

  • FixedRate: A regra de alerta é acionada em intervalos regulares.

  • Cron: A regra de alerta é acionada com base na expressão CRON.

Interval

String

Não

Sim

Intervalo regular em que a regra de alerta é acionada.

Esta propriedade é obrigatória se a propriedade Type estiver definida como FixedRate.

Valores válidos:

  • 10d: A regra de alerta é acionada a cada 10 dias.

  • 10h: A regra de alerta é acionada a cada 10 horas.

  • 10m: A regra de alerta é acionada a cada 10 minutos.

Hour

Integer

Não

Sim

Hora do dia em que a regra de alerta é acionada.

Esta propriedade é obrigatória se a propriedade Type estiver definida como Daily ou Weekly.

Valores válidos: 0 a 23.

DayOfWeek

Integer

Não

Sim

Dia da semana em que a regra de alerta é acionada.

Esta propriedade é obrigatória se a propriedade Type estiver definida como Weekly.

Valores válidos: 1 a 7.

CronExpression

String

Não

Sim

Expressão CRON que define quando a regra de alerta é acionada.

Esta propriedade é obrigatória se a propriedade Type estiver definida como Cron.

RunImmediately

Boolean

Não

Sim

Defina se a regra de alerta deve ser acionada imediatamente.

Valores válidos:

  • true

  • false

Delay

Integer

Não

Sim

Defina se o acionamento da regra de alerta deve ser atrasado.

Nenhuma.

Sintaxe de SeverityConfigurations

"SeverityConfigurations": {
 "EvalCondition": Map,
 "Severity": Integer
}

Propriedades de SeverityConfigurations

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

EvalCondition

Map

Não

Não

Condição de acionamento.

Para mais informações, consulte Propriedades de EvalCondition.

Severity

Integer

Sim

Não

Nível de severidade do alerta.

Para mais informações, consulte Estrutura de dados de uma regra de monitoramento de alerta.

Sintaxe de EvalCondition

"EvalCondition": {
"Condition": String,
"CountCondition": String
}

Propriedades de EvalCondition

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Condition

String

Não

Não

Expressão usada para corresponder aos dados.

  • Se não for necessário corresponder dados, defina o valor como uma string vazia.

  • Nos demais cenários, defina o valor como uma expressão. Exemplo: errCnt > 10.

CountCondition

String

Não

Não

Expressão usada para corresponder ao número de entradas de dados.

  • Para que a expressão seja correspondida quando houver dados, defina o valor como uma string vazia.

  • Nos demais cenários, defina o valor como uma expressão. Exemplo: __count__ > 3.

Sintaxe de Labels

"Labels": [{
 "Value": String,
 "Key": String
}]

Propriedades de Labels

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Value

String

Sim

Não

Valor do campo.

Nenhuma.

Key

String

Sim

Não

Chave do campo.

Nenhuma.

Sintaxe de GroupConfiguration

"GroupConfiguration": {
 "Type": String,
 "Fields": List
}

Propriedades de GroupConfiguration

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Type

String

Sim

Não

Tipo de avaliação por grupo.

Valores válidos:

  • no_group: Os resultados de consulta e análise não são agrupados.

  • custom: Os resultados de consulta e análise são agrupados com base no campo personalizado especificado.

  • labels_auto: Os resultados de consulta e análise são agrupados automaticamente com base nos rótulos especificados. Este valor é compatível apenas com dados de séries temporais.

Fields

List

Não

Não

Campos usados para realizar a avaliação por grupo.

Nenhuma.

Sintaxe de Annotations

"Annotations": [{
 "Value": String,
 "Key": String
}]

Propriedades de Annotations

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Key

String

Sim

Não

Chave do campo.

Nenhuma.

Value

String

Sim

Não

Valor do campo.

Nenhuma.

Sintaxe de JoinConfigurations

"JoinConfigurations": {
 "Type": String,
 "Condition": String
}

Propriedades de JoinConfigurations

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Condition

String

Não

Não

Expressão condicional.

Esta propriedade é obrigatória se a propriedade Type estiver definida como cross_join, concat ou no_join. Exemplo: $0.host == $1.ip.

Type

String

Sim

Não

Tipo da operação de conjunto.

Valores válidos:

  • cross_join: Produto cartesiano.

  • inner_join: Junção interna.

  • left_join: Junção à esquerda

  • right_join: Junção à direita.

  • full_join: Junção completa.

  • left_exclude: Exclusão à esquerda.

  • right_exclude: Exclusão à direita.

  • concat: Concatenação. O sistema percorre cada conjunto de dados sequencialmente.

  • no_join: Sem junção. O sistema utiliza apenas o primeiro conjunto de dados.

Sintaxe de PolicyConfiguration

"PolicyConfiguration": {
"RepeatInterval": String,
 "ActionPolicyId": String,
 "AlertPolicyId": String,
 "UseDefault": Boolean
}

Propriedades de PolicyConfiguration

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

RepeatInterval

String

Não

Não

Intervalo de repetição.

Nenhuma.

ActionPolicyId

String

Não

Não

ID da política de ação.

No modo avançado, caso a política de alerta não utilize uma política de ação dinâmica, defina o valor como uma string vazia.

AlertPolicyId

String

Não

Não

ID da política de alerta.

  • Nos modos simples ou padrão, defina o valor como sls.builtin.dynamic. Este valor especifica uma política de alerta dinâmica integrada.

  • No modo avançado, defina o valor como o ID da política de alerta desejada.

UseDefault

Boolean

Não

Não

Campo de compatibilidade.

Defina o valor como false.

Valores de retorno

Fn::GetAtt

Name: nome da regra de alerta.

Exemplos

  • YAML format

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters: {}
    Resources:
      Alert:
        Type: ALIYUN::SLS::Alert
        Properties:
          Project: TestSlsProject
          Detail:
            DisplayName: ros-test-alert
            Description: test
            Schedule:
              Delay: 1
              Interval: 15m
              Type: FixedRate
              RunImmediately: false
            State: Enabled
            Configuration:
              Throttling: 5m
              NotifyThreshold: 1
              QueryList:
                - End: now
                  LogStore: audit-cf5362d1f87754fb29
                  ChartTitle: k8s-log-c7b729e7ea122425182133bc2c3ea
                  Start: '-15m'
                  Query: |-
                    objectRef.resource : "networkpolicies" and verb : create NOT  user.username: node NOT  user.username: serviceaccount NOT  user.username: apiserver NOT  user.username: kube-scheduler NOT  user.username: kube-controller-manager       | SELECT auditID as "Event ID", date_format(from_unixtime(__time__), '%Y-%m-%d %T' ) as "Operation time", "objectRef.name" as "Name", "objectRef.namespace" as "Namespace", "responseStatus.code" as "Status code",
                     CASE WHEN "user.username" != 'kubernetes-admin' then "user.username"
                     WHEN "user.username" = 'kubernetes-admin' and regexp_like("annotations.authorization.k8s.io/reason", 'RoleBinding') then regexp_extract("annotations.authorization.k8s.io/reason", ' to User "(\w+)"', 1) ELSE 'kubernetes-admin' END
                     as "Username",
                    CASE WHEN json_array_length(sourceIPs) = 1 then json_format(json_array_get(sourceIPs, 0)) ELSE  sourceIPs END
                    as "Source IP address" order by "Operation time"
                  TimeSpanType: Custom
              Dashboard: audit-cf5362d1f87754fb4a_network_policy_op_cn
              NotificationList:
                - Content: Message
                  ServiceUri: http://xxxx
                  Type: DingTalk
                - Content: Email Message
                  EmailList:
                    - abc@test.com
                  Type: Email
                - MobileList:
                    - 132373830xx
                  Content: Cellphone message
                  Type: SMS
              Condition: total  > 1
            Type: Alert
            Name: alert_2
    Outputs:
      Name:
        Description: Alert name.
        Value:
          Fn::GetAtt:
            - Alert
            - Name
  • JSON format

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
      },
      "Resources": {
        "Alert": {
          "Type": "ALIYUN::SLS::Alert",
          "Properties": {
            "Project": "TestSlsProject",
            "Detail": {
              "DisplayName": "ros-test-alert",
              "Description": "test",
              "Schedule": {
                "Delay": 1,
                "Interval": "15m",
                "Type": "FixedRate",
                "RunImmediately": false
              },
              "State": "Enabled",
              "Configuration": {
                "Throttling": "5m",
                "NotifyThreshold": 1,
                "QueryList": [
                  {
                    "End": "now",
                    "LogStore": "audit-cf5362d1f87754fb29",
                    "ChartTitle": "k8s-log-c7b729e7ea122425182133bc2c3ea",
                    "Start": "-15m",
                    "Query": "objectRef.resource : \"networkpolicies\" and verb : create NOT  user.username: node NOT  user.username: serviceaccount NOT  user.username: apiserver NOT  user.username: kube-scheduler NOT  user.username: kube-controller-manager       | SELECT auditID as \"Event ID\", date_format(from_unixtime(__time__), '%Y-%m-%d %T' ) as \"Operation time\", \"objectRef.name\" as \"Name\", \"objectRef.namespace\" as \"Namespace\", \"responseStatus.code\" as \"Status code\",\n CASE WHEN \"user.username\" != 'kubernetes-admin' then \"user.username\"\n WHEN \"user.username\" = 'kubernetes-admin' and regexp_like(\"annotations.authorization.k8s.io/reason\", 'RoleBinding') then regexp_extract(\"annotations.authorization.k8s.io/reason\", ' to User \"(\\w+)\"', 1) ELSE 'kubernetes-admin' END  \n as \"Username\", \nCASE WHEN json_array_length(sourceIPs) = 1 then json_format(json_array_get(sourceIPs, 0)) ELSE  sourceIPs END\nas \"Source IP address\" order by \"Operation time\"",
                    "TimeSpanType": "Custom"
                  }
                ],
                "Dashboard": "audit-cf5362d1f87754fb4a_network_policy_op_cn",
                "NotificationList": [
                  {
                    "Content": "Message",
                    "ServiceUri": "http://xxxx",
                    "Type": "DingTalk"
                  },
                  {
                    "Content": "Email Message",
                    "EmailList": [
                      "abc@test.com"
                    ],
                    "Type": "Email"
                  },
                  {
                    "MobileList": [
                      "132373830xx"
                    ],
                    "Content": "Cellphone message",
                    "Type": "SMS"
                  }
                ],
                "Condition": "total  > 1"
              },
              "Type": "Alert",
              "Name": "alert_2"
            }
          }
        }
      },
      "Outputs": {
        "Name": {
          "Description": "Alert name.",
          "Value": {
            "Fn::GetAtt": [
              "Alert",
              "Name"
            ]
          }
        }
      }
    }