Todos os produtos
Search
Central de documentação

Simple Log Service:Variáveis em modelos de alerta

Última atualização: Jul 10, 2026

Use variáveis em modelos de alerta para preencher dinamicamente o conteúdo e o assunto das notificações.

Referência de variáveis

Importante
  • Os nomes das variáveis devem corresponder exatamente ao definido.

    • Se uma variável não existir ou a referência for inválida, o valor padrão será uma string vazia.

    • Objetos referenciados são convertidos em strings JSON.

  • Nomes de variáveis podem conter letras, dígitos e underscores (_), mas não podem começar com um dígito.

    • Se o nome da variável seguir essas regras, recupere seu valor usando notação de ponto, por exemplo, {{alert.xxx}}.

    • Se o nome da variável contiver caracteres especiais, como __tag__:__namespace__, use a notação de colchetes para recuperar o valor, como em {{alert.annotations["__tag__:__namespace__"] }}.

Ao configure uma política de ação, selecione um modelo de alerta que defina o conteúdo e o assunto da notificação. Nos campos Send Content e Subject/Title, referencie as variáveis do modelo usando a sintaxe {{ alert.xxx }}. O Simple Log Service (SLS) substitui cada variável pelo valor real ao enviar as notificações. Por exemplo, {{ alert.project }} é substituído pelo nome do projeto da regra de alerta.

Por exemplo, em um modelo de canal do DingTalk, defina o Subject como SLS Alert e use variáveis como {{ alert.aliuid }}, {{ alert.project }}, {{ alert.alert_name }} e {{ alert.severity }} no Content para incluir o ID da conta, o nome do projeto, o nome da regra de alerta e a severidade.

Também é possível usar fluxo de controle e funções integradas para processar os dados das variáveis. Para mais informações, consulte Sintaxe de Modelo de Alerta (Novo) e Funções Integradas de Modelo.

Atributos do alerta

Parâmetro

Descrição

Tipo

Valor

Exemplo de referência

aliuid

ID da conta Alibaba Cloud do projeto.

string

117918634953****

A regra de alerta para o usuário {{ alert.aliuid }} foi acionada.

alert_instance_id

ID da instância que acionou o alerta.

string

ee16a8f435485f3f-5be6b81edc520-3d6****

O ID da instância é {{ alert.alert_instance_id }}.

alert_id

ID exclusivo da regra de alerta no projeto.

string

alert-12345

O ID da regra de alerta é {{ alert.alert_id }}.

alert_name

Nome da regra de alerta.

string

Regra de alerta de teste

A regra de alerta {{ alert.alert_name }} foi acionada.

alert_type

Tipo do alerta.

  • sls_alert: alerta acionado por uma regra de monitoramento de alertas.

  • sls_pub: alerta aberto proveniente de um sistema externo.

  • sls_ml: alerta acionado por inspeção inteligente.

string

sls_alert

O tipo de alerta é {{ alert.alert_type }}, formatado como {{ alert.alert_type | format_type }}.

region

Região onde o alerta foi acionado.

string

cn-hangzhou

O alerta foi acionado na região {{ alert.region }}.

project

Projeto ao qual a regra de alerta pertence.

string

my-project

Uma regra de alerta foi acionada no projeto {{ alert.project }}.

next_eval_interval

Próximo intervalo de avaliação, em segundos.

int

300

Próxima avaliação em {{ alert.next_eval_interval }} segundos.

alert_time

Timestamp UTC da avaliação atual.

int

1616744734

O horário da avaliação atual é {{ alert.alert_time }}, formatado como {{ alert.alert_time | format_date }}.

fire_time

Timestamp UTC do primeiro acionamento do alerta.

int

1616059834

O alerta foi acionado pela primeira vez em {{ alert.fire_time }}, formatado como {{ alert.fire_time | format_date }}.

status

Status atual do alerta.

  • firing: o alerta está ativo.

  • resolved: o alerta foi resolvido.

string

firing

O status do alerta é {{ alert.status }}, formatado como {{ alert.status | format_status }}.

resolve_time

Timestamp UTC de resolução do alerta.

  • Se o status do alerta for firing, o valor será 0.

  • Se o status do alerta for resolved, o valor corresponderá ao horário da resolução.

int

0

O alerta foi resolvido em {{ alert.resolve_time }}, formatado como {{ alert.resolve_time | format_date }}.

severity

Severidade do alerta.

  • 10: Crítica

  • 8: Alta

  • 6: Média

  • 4: Baixa

  • 2: Relatório

int

10

A severidade do alerta é {{ alert.severity }}, formatada como {{ alert.severity | format_severity }}.

labels

Conjunto de rótulos chave-valor definidos pelo usuário.

map

{"env":"test"}

Os rótulos do alerta são {{ alert.labels | to_list }}.

annotations

Conjunto de anotações chave-valor definidas pelo usuário.

map

{ "title": "Alert title","desc": "Alert description" }

As anotações do alerta são {{ alert.annotations | to_list }}.

results

Array de parâmetros de consulta e resultados intermediários. Para mais informações sobre os valores desta variável, consulte Estrutura QueryData.

array

Consulte o apêndice ao final deste tópico.

O horário de início da primeira consulta é {{ alert.results[0].start_time }}, o horário de término é {{ alert.results[0].end_time }}, a contagem é {{ alert.results[0].fire_result.cnt }} e a consulta é {{ alert.results[0].query }}.

fire_results

Dados que acionaram o alerta, correspondentes ao resultado da operação de conjunto. São retornadas no máximo 100 linhas.

Se o tamanho da variável fire_results exceder 2 KB ou se o conteúdo de um único campo ultrapassar 1 KB, os dados serão truncados. Para saber como lidar com dados truncados, consulte O que fazer se um alerta for acionado por muitos logs e a notificação exibir informações incompletas?

array

Consulte o apêndice ao final deste tópico.

Os dados que acionaram o alerta são {{ alert.fire_results | to_json }}.

fire_results_count

Número total de linhas de dados que acionaram o alerta. Este valor pode ser superior a 100, por exemplo, após uma operação de product cartesiano.

int

3

O alerta foi acionado por {{ alert.fire_results_count }} linhas de dados.

condition

Expressão de avaliação que acionou o alerta, com variáveis substituídas pelos valores reais de acionamento entre colchetes []. O formato é Count:Expression;Condition:Expression.

string

Count:[5] > 3;Condition:[example.com]=='example.com'

A expressão de avaliação do alerta é {{ alert.condition }}.

raw_condition

Expressão de avaliação original, sem a substituição das variáveis pelos seus valores reais. O formato é Count:Expression;Condition:Expression.

string

Count:__count__ > 3;Condition:host=='example.com'

A expressão de avaliação original é {{ alert.raw_condition }}.

policy

Política de alerta ou política de ação. Para mais informações sobre os valores desta variável, consulte Estrutura da política.

map

Consulte o apêndice ao final deste tópico.

O ID da política de alerta é {{ alert.policy.alert_policy_id }}.

dashboard

Nome do painel associado ao alerta.

string

mydashboard

O painel associado é {{ alert.dashboard }}.

alert_url

URL da página de detalhes do alerta.

string

https://sls.console.alibabacloud.com/lognext/project/test-xxxx/alert/alert-1617164106-940166

A URL do alerta é {{ alert.alert_url }}.

query_url

URL da página de busca da primeira consulta.

string

https://sls.console.alibabacloud.com/lognext/project/test-xxx/logsearch/test-alert-access?encode=base64&endTime=1617175989&queryString=KiB8IHNlbGVjdCBjb3VudCgxKSBhcyBjbn****&queryTimeType=99&startTime=1617175089

A URL da primeira página de consulta é {{ alert.query_url }}.

alert_history_dashboard_url

URL do painel de Estatísticas do Histórico de Alertas.

string

https://sls.console.alibabacloud.com/lognext/project/test-xx/dashboard/internal-alert-analysis

A URL do painel de Estatísticas do Histórico de Alertas é {{ alert.alert_history_dashboard_url }}.

dashboard_url

URL do painel associado ao alerta.

string

https://sls.console.alibabacloud.com/next/project/myproject/dashboard/mydashboard

A URL do painel associado é {{ alert.dashboard_url }}.

fingerprint

Impressão digital do alerta. Para mais informações, consulte Deduplicar alertas com base nas impressões digitais.

string

478325709134bc5c

A impressão digital do alerta é {{ alert.fingerprint }}.

signin_url

URL para visualizar detalhes do alerta sem fazer login no console. Para mais informações, consulte Visualizar detalhes do alerta sem fazer login.

string

https://sls.console.alibabacloud.com/console/AlertAjax/slsSignIn.json?token=xxxx

View Details

Estrutura da política

A variável policy contém os seguintes campos.

Parâmetro

Descrição

Tipo

Exemplo de valor

alert_policy_id

ID da política de alerta.

string

sls.test-alert

action_policy_id

ID da política de ação configurada para a regra de alerta. Disponível apenas quando a regra utiliza uma Política de Ação Dinâmica.

string

sls.test-action

repeat_interval

Intervalo de reenvio de notificação para um alerta ativo. Disponível apenas quando a regra utiliza uma Política de Ação Dinâmica.

string

4h

Estrutura de dados da consulta

A variável results contém os seguintes campos.

Parâmetro

Descrição

Tipo

Valor

store_type

Tipo de armazenamento. Valores válidos:

  • log: dados de log.

  • metric: dados de métrica.

  • meta: dados de recurso.

string

log

region

Região onde o armazenamento de destino está localizado.

Esta variável fica vazia se o valor de store_type for meta.

string

cn-hangzhou

project

Projeto onde o armazenamento de destino está localizado.

Esta variável fica vazia se o valor de store_type for meta.

string

sls-test-alert

store

Nome do armazenamento de destino.

string

test-LogStore

query

Instrução de consulta.

string

error | select count(1) as cnt

start_time

Horário de início da consulta, especificado como timestamp UTC.

Esta variável fica vazia se o valor de store_type for meta.

int

1616741485

end_time

Horário de término da consulta, especificado como timestamp UTC.

Esta variável fica vazia se o valor de store_type for meta.

int

1616745085

raw_results

Array dos resultados da consulta, contendo até 100 linhas.

Se a variável raw_results exceder 2 KB ou se um campo nos resultados ultrapassar 1 KB, os dados excedentes serão truncados.

array

[{
    "host": "example.com",
    "slbid": "slb-02",
    "status": "200"
}, {
    "host": "example.com",
    "slbid": "slb-01",
    "status": "200"
}]

raw_results_count

Número total de linhas no conjunto de resultados, podendo ser superior a 100.

int

20

fire_result

Primeiro registro do resultado de acionamento do alerta, mesmo que o conjunto contenha múltiplos registros.

map

{
    "host": "example.com",
    "slbid": "slb-02",
    "status": "200"
}

query_url

URL da página de consulta no console.

Esta variável fica vazia se o valor de store_type for meta.

string

https://sls.console.alibabacloud.com/lognext/project/test-xxx/logsearch/test-alert-access?encode=base64&endTime=1617175989&queryString=KiB8IHNlbGVjdCBjb3VudCgxKSBhcy***&queryTimeType=99&startTime=1617175089

dashboard_url

URL do painel associado à consulta.

string

https://sls.console.alibabacloud.com/next/project/myproject/dashboard/mydashboard

role_arn

Alibaba Cloud Resource Name (ARN) da função de service.

string

acs:ram::117918634953****:role/aliyunslsalertmonitorrole

Perguntas frequentes

Apêndice

  • Exemplo de results:

    [{
        "store_type": "log",
        "region": "cn-hangzhou",
        "project": "sls-alert-test",
        "store": "test",
        "query": "* | select count(1) as cnt",
        "start_time": 1616741485,
        "end_time": 1616745085,
        "dashboard_id": "mydashboard",
        "raw_results": [{
            "cnt": "4"
        }],
        "raw_result_count": 1,
        "fire_result": {
            "cnt": "4"
        },
        "truncated": false,
        "role_arn": ""
    }]
  • Exemplo de fire_results:

    [{
        "host": "example.com",
        "host__1": "example.com",
        "pv": "836",
        "slbid": "slb-02",
        "status": "200"
    }, {
        "host": "example.com",
        "host__1": "example.com",
        "pv": "836",
        "slbid": "slb-02",
        "status": "200"
    }]
  • Exemplo de policy:

    {
        "alert_policy_id": "sls.test-alert",
        "action_policy_id": "sls.test-action",
        "repeat_interval": "5m0s"
    }

Exemplo

O exemplo abaixo define o conteúdo da notificação usando o novo modelo de conteúdo:

  • Conteúdo do alerta:

    {
        "alert_id": "test-alert",
        "alert_name": "PV/UV Alert",
        "project": "project-1",
        "status": "firing",
        "severity": 6,
        "labels": {
            "app": "nginx",
            "host": "host-1"
        },
        "results": [
            {
                "project": "project-1",
                "logstore": "logstore-1",
                "query": "* | select count(*) as pv"
            },
            {
                "project": "project-2",
                "logstore": "logstore-2",
                "query": "* | select count(distinct user_id) as uv"
            }
        ]
    }
  • Configuração do modelo de alerta:

    - Alert ID: {{ alert.alert_id }}
    - Alert Name: {{ alert.alert_name }}
    - Project: {{ alert.project }}
    - Status: {% if alert.status == "firing" %}FIRING{% else %}RESOLVED{% endif %}
    - Labels:
    {%- for key, val in alert.labels.items() %}
        - {{ key }}: {{ val }}
    {%- endfor %}
    - Query: {{ alert.results[0].query }}
  • Resultado da saída:

    - Alert ID: test-alert
    - Alert Name: PV/UV Alert
    - Project: project-1
    - Status: FIRING
    - Labels:
        - app: nginx
        - host: host-1
    - Query: * | select count(*) as pv