Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:SLO CRD field reference

Última atualização: Jun 28, 2026

O Service Mesh (ASM) permite definir objetivos de nível de serviço (SLOs) e regras de alerta de forma declarativa por meio da definição de recurso personalizado (CRD) ServiceLevelObjective.

A referência de campos abaixo segue a hierarquia: metadata > spec > slos[] > sli / alerting.

Exemplo de YAML

O manifesto a seguir define um SLO de disponibilidade para o serviço httpbin no namespace default. O objetivo é 99,9%, com vigência de 30 dias e alertas nos níveis de página e ticket.

apiVersion: istio.alibabacloud.com/v1beta1
kind: ServiceLevelObjective
metadata:
  name: asm-slo-default-httpbin          # Format: asm-slo-{namespace}-{service}
  namespace: default                      # Must match the target service namespace
spec:
  service: httpbin                        # Target service name
  period: 30d                             # Period of time during which the SLO takes effect: 30d, 28d, 14d, or 7d
  labels:
    owner: "finance-team"                 # Global label, propagated to all generated recording rules
  slos:
  - name: asm-slo2                        # Unique SLO name within this CRD
    objective: "99.9"                     # Target percentage as a string
    labels:
      description: "service availability description"
    sli:
      plugin:
        id: availability                  # Plugin type: availability or latency
        options:                          # Plugin-specific options
          filter: request_protocol="http" # PromQL label filter
    alerting:
      name: asm-alert                     # Alert rule name
      labels:
        category: "availability"
      annotations:
        summary: "High error rate on requests"
      pageAlert:                          # High-severity, page-level alert
        labels:
          severity: "10"
      ticketAlert:                        # Low-severity, ticket-level alert
        labels:
          channel: "channel - call"

A tabela a seguir resume os principais campos. Para obter descrições completas, consulte Referência de campos do CRD.

Campo

Descrição

namespace

Namespace do recurso personalizado. Deve corresponder ao namespace do serviço de destino.

service

Nome do serviço de destino.

period

Período de vigência do SLO. Valores válidos: 30d, 28d, 14d, 7d.

objective

Percentual alvo em formato de string. Intervalo válido: (0, 100].

plugin

Define o tipo de SLI e as opções. Defina id como availability ou latency e configure as opções correspondentes. Consulte Campos de plugin.

Referência de campos do CRD

Campos de metadata

Campo

Tipo

Obrigatório

Descrição

Exemplo

name

String

Sim

Nome do recurso personalizado. Formato: asm-slo-{namespace}-{service}.

asm-slo-default-httpbin

namespace

String

Sim

Namespace do recurso personalizado. Deve corresponder ao namespace do serviço de destino.

default

labels

Object

Não

Preenchimento automático pelo backend. Não defina manualmente. O sistema adiciona dois rótulos: asm-target-namespace (namespace do serviço) e asm-target-service (nome do serviço, igual a spec.service).

labels: asm-target-namespace: default asm-target-service: httpbin

Campos de spec

Campo

Tipo

Obrigatório

Descrição

Exemplo

service

String

Sim

Nome do serviço de destino.

httpbin

period

String

Sim

Período de vigência do SLO. Valores válidos: 30d (30 dias), 28d, 14d, 7d.

30d

labels

Object

Não

Rótulo global propagado para o campo labels de todas as regras de gravação geradas pelos SLOs neste CRD.

labels: global: "some-label"

slos

Array

Sim

Uma ou mais definições de SLO. Requer pelo menos uma entrada.

-

Campos de slos[]

Cada entrada no array slos define um SLO individual com objetivo, configuração de SLI e regras de alerta.

Campo

Tipo

Obrigatório

Descrição

Exemplo

name

String

Sim

Nome do SLO.

asm-slo

objective

String

Sim

Percentual alvo em string conversível para ponto flutuante. Intervalo válido: (0, 100].

"99.9"

labels

Object

Não

Rótulo no nível do SLO propagado para o campo labels de todas as regras de gravação geradas por este SLO.

labels: recordlabel: aaa

sli

Object

Sim

Configuração do indicador de nível de serviço (SLI). Consulte campos de sli.

-

alerting

Object

Sim

Configuração da regra de alerta. Consulte campos de alerting.

-

Campos de sli

O objeto sli contém apenas o campo plugin.

Campo

Tipo

Obrigatório

Descrição

Exemplo

plugin

Object

Sim

Configuração do plugin que define a medição do SLI. Consulte Campos de plugin.

-

Campos de plugin

O plugin determina o tipo de medição do SLI. Defina id para selecione o plugin e configure as options correspondentes.

Campo

Tipo

Obrigatório

Descrição

Exemplo

id

String

Sim

Tipo de plugin. Valores válidos: availability (disponibilidade do serviço) e latency (latência do serviço).

latency

options

Map

Condicional

Opções do plugin. Obrigatório se o plugin selecionado tiver campos obrigatórios. Por exemplo, latency exige bucket. Consulte as tabelas de opções abaixo.

options: bucket: "300"

Opções para availability

Se id for availability, as seguintes opções estarão disponíveis:

Campo

Tipo

Obrigatório

Descrição

Exemplo

filter

String

Não

Filtro de rótulo PromQL. O Prometheus calcula métricas apenas para requisições correspondentes a este filtro.

request_protocol="http"

Opções para latency

Se id for latency, as seguintes opções estarão disponíveis:

Campo

Tipo

Obrigatório

Descrição

Exemplo

bucket

String

Sim

Objetivo de latência em string conversível para inteiro.

"300"

filter

String

Não

Filtro de rótulo PromQL. O Prometheus calcula métricas apenas para requisições correspondentes a este filtro.

request_protocol="http"

exclude_errors

Boolean

Não

Define se requisições com erro devem ser excluídas dos cálculos de latência. Padrão: false. Se true, exclui requisições com código de resposta 5XX. Se false, inclui todas as requisições.

false

Campos de alerting

Campo

Tipo

Obrigatório

Descrição

Exemplo

name

String

Sim

Nome da regra de alerta.

asm-alert

labels

Map

Não

Rótulos anexados à regra de alerta.

labels: alertlabel: bbb

annotations

Map

Não

Anotações anexadas à regra de alerta.

annotations: alertanno: ccc

pageAlert

Object

Não

Configuração de alerta de alta severidade no nível de página. Consulte campos de pageAlert.

-

ticketAlert

Object

Não

Configuração de alerta de baixa severidade no nível de ticket. Consulte campos de ticketAlert.

-

Campos de pageAlert

Campo

Tipo

Obrigatório

Descrição

Exemplo

disable

Boolean

Não

Controla a ativação deste alerta. Padrão: true (ativado). Defina como false para desativar.

false

labels

Map

Não

Rótulos anexados a este alerta.

labels: pagelabel: ddd

annotations

Map

Não

Anotações anexadas a este alerta.

annotations: pageanno: eee

Campos de ticketAlert

Campo

Tipo

Obrigatório

Descrição

Exemplo

disable

Boolean

Não

Controla a ativação deste alerta. Padrão: true (ativado). Defina como false para desativar.

false

labels

Map

Não

Rótulos anexados a este alerta.

labels: pagelabel: ddd

annotations

Map

Não

Anotações anexadas a este alerta.

annotations: pageanno: eee