Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Filtrar logs de acesso com expressões CEL

Última atualização: Jun 28, 2026

Os logs de acesso do plano de dados do Service Mesh (ASM) oferecem visibilidade sobre padrões de requisição, taxas de erro e comportamento dos serviços. Em ambientes com alto volume de tráfego, o registro de logs sem filtragem gera sobrecarga nos proxies sidecar e produz mais dados do que é possível analisar de forma eficaz.

A Common Expression Language (CEL) permite escrever regras de filtragem que controlam quais entradas de log o proxy sidecar emite. Cada expressão CEL é avaliada por requisição: as entradas são registradas quando a expressão retorna true e descartadas quando retorna false.

Exemplos de expressões CEL

Os exemplos a seguir variam de filtros de condição única a regras com múltiplas condições.

Filtrar por código de status da resposta

Registre apenas respostas de erro (código de status 400 ou superior):

response.code >= 400

O atributo response.code representa o código de status HTTP. Essa expressão descarta entradas 1xx, 2xx e 3xx, mantendo somente erros de cliente (4xx) e de servidor (5xx).

Corresponder a caminhos de URL da requisição

Registre requisições cujo caminho contenha uma substring específica:

request.url_path.contains('login')

O atributo request.url_path corresponde ao caminho da requisição HTTP sem a string de consulta. O método contains é uma função padrão de string da CEL que retorna um valor booleano.

Combinar condições com operadores lógicos

Crie filtros com múltiplas condições usando && (AND) e || (OR).

AND — todas as condições devem corresponder:

request.url_path.contains('login') && request.headers['x-user-type'] == 'dev'

Registra requisições em que o caminho contém login e o cabeçalho x-user-type é igual a dev. O atributo request.headers é um map<string, string> com todos os cabeçalhos da requisição.

OR — qualquer condição corresponde:

request.url_path.contains('login') || request.url_path.contains('logout')

Registra requisições em que o caminho contém login ou logout.

Atributos CEL compatíveis

Atributos da requisição

Atributo

Tipo

Descrição

request.path

string

Caminho da URL HTTP com a string de consulta

request.url_path

string

Caminho da URL HTTP sem a string de consulta

request.host

string

Nome do host extraído da URL HTTP

request.scheme

string

Esquema da URL, como HTTP ou HTTPS

request.method

string

Método HTTP, como GET ou POST

request.headers

map

Todos os cabeçalhos da requisição

request.referer

string

Valor do cabeçalho Referer

request.useragent

string

Valor do cabeçalho User-Agent

request.time

timestamp

Momento em que o primeiro byte da requisição foi recebido

request.id

string

Valor do cabeçalho x-request-id

request.protocol

string

Protocolo da requisição, como HTTP/1.0, HTTP/1, HTTP/2 ou HTTP/3

request.query

string

String de consulta da URL, como name1=value1&name2=value2

request.duration

duration

Duração total da requisição

request.size

int

Tamanho do corpo da requisição. Usa o valor do cabeçalho Content-Length quando disponível.

request.total_size

int

Tamanho total da requisição, incluindo cabeçalhos

Atributos da resposta

Atributo

Tipo

Descrição

response.code

int

Código de status HTTP

response.code_details

string

Descrição do código de status da resposta

response.flags

int

Detalhes adicionais da resposta além do código de status HTTP, codificados como vetor de bits

response.grpc_status

int

Código de status gRPC

response.headers

map

Todos os cabeçalhos da resposta

response.trailers

map

Todos os trailers da resposta

response.size

int

Tamanho do corpo da resposta

response.total_size

int

Tamanho total da resposta, incluindo cabeçalhos

Atributos da conexão downstream

Atributo

Tipo

Descrição

source.address

string

Endereço do cliente downstream

source.port

int

Porta do cliente downstream

destination.address

string

Endereço de destino da conexão downstream

destination.port

int

Porta de destino da conexão downstream

connection.id

uint

ID da conexão downstream

connection.mtls

bool

Indica se o mTLS está ativado e se a conexão carrega um certificado de cliente

connection.requested_server_name

string

Nome do servidor solicitado pela conexão TLS downstream (SNI)

connection.tls_version

string

Versão do TLS da conexão downstream

connection.subject_local_certificate

string

Campo Subject do certificado do servidor

connection.subject_peer_certificate

string

Campo Subject do certificado do cliente

connection.dns_san_local_certificate

string

Primeira entrada DNS no campo SAN do certificado do servidor

connection.dns_san_peer_certificate

string

Primeira entrada DNS no campo SAN do certificado do cliente

connection.uri_san_local_certificate

string

Primeira entrada URI no campo SAN do certificado do servidor

connection.uri_san_peer_certificate

string

Primeira entrada URI no campo SAN do certificado do cliente

connection.sha256_peer_certificate_digest

string

Digest SHA256 do certificado do cliente

connection.transport_failure_reason

string

Motivo da falha de transporte, como falha na validação do certificado

Atributos da conexão upstream

Atributo

Tipo

Descrição

upstream.address

string

Endereço de destino da conexão upstream

upstream.port

int

Porta de destino da conexão upstream

upstream.tls_version

string

Versão do TLS da conexão upstream

upstream.subject_local_certificate

string

Campo Subject do certificado de cliente usado na conexão upstream

upstream.subject_peer_certificate

string

Campo Subject do certificado do servidor usado na conexão upstream

upstream.dns_san_local_certificate

string

Primeira entrada DNS no campo SAN do certificado de cliente

upstream.dns_san_peer_certificate

string

Primeira entrada DNS no campo SAN do certificado do servidor

upstream.uri_san_local_certificate

string

Primeira entrada URI no campo SAN do certificado de cliente

upstream.uri_san_peer_certificate

string

Primeira entrada URI no campo SAN do certificado do servidor

upstream.sha256_peer_certificate_digest

string

Digest SHA256 do certificado do servidor

upstream.local_address

string

Endereço local da conexão upstream

upstream.transport_failure_reason

string

Motivo da falha de transporte upstream, como falha na validação do certificado