Todos los productos
Search
Centro de documentos

Alibaba Cloud Service Mesh:Filter access logs with CEL expressions

Última actualización: Sep 05, 2026

Los registros de acceso del plano de datos de Service Mesh (ASM) proporcionan visibilidad sobre los patrones de solicitud, las tasas de error y el comportamiento de los servicios. En entornos con alto volumen de tráfico, el registro sin filtrar genera sobrecarga en los proxies sidecar y produce más datos de los que se pueden analizar de manera efectiva.

Common Expression Language (CEL) permite escribir reglas de filtrado que controlan qué entradas de registro emite el proxy sidecar. Cada expresión CEL se evalúa por solicitud: las entradas se registran cuando la expresión devuelve true y se descartan cuando devuelve false.

Ejemplos de expresiones CEL

Los siguientes ejemplos avanzan desde filtros de condición única hasta reglas de múltiples condiciones.

Filtrado por código de estado de respuesta

Registre únicamente las respuestas de error (código de estado 400 o superior):

response.code >= 400

response.code es el código de estado HTTP. Esta expresión descarta las entradas 1xx, 2xx y 3xx, y conserva solo los errores de cliente (4xx) y los errores de servidor (5xx).

Coincidencia con rutas de URL de solicitud

Registre las solicitudes cuya ruta contenga una subcadena específica:

request.url_path.contains('login')

request.url_path es la ruta de la solicitud HTTP sin la cadena de consulta. contains es un método estándar de cadenas de CEL que devuelve un valor booleano.

Combinación de condiciones con operadores lógicos

Construya filtros de múltiples condiciones con && (AND) y || (OR).

AND: todas las condiciones deben coincidir:

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

Registra las solicitudes donde la ruta contiene login y el encabezado x-user-type es igual a dev. request.headers es un map<string, string> con todos los encabezados de la solicitud.

OR: cualquier condición coincide:

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

Registra las solicitudes donde la ruta contiene login o logout.

Atributos CEL compatibles

Atributos de solicitud

Atributo

Tipo

Descripción

request.path

string

Ruta de la URL HTTP con la cadena de consulta

request.url_path

string

Ruta de la URL HTTP sin la cadena de consulta

request.host

string

Nombre de host de la URL HTTP

request.scheme

string

Esquema de la URL, como HTTP o HTTPS

request.method

string

Método HTTP, como GET o POST

request.headers

map<string, string>

Todos los encabezados de la solicitud

request.referer

string

Valor del encabezado Referer

request.useragent

string

Valor del encabezado User-Agent

request.time

timestamp

Momento en que se recibió el primer byte de la solicitud

request.id

string

Valor del encabezado x-request-id

request.protocol

string

Protocolo de la solicitud, como HTTP/1.0, HTTP/1, HTTP/2 o HTTP/3

request.query

string

Cadena de consulta de la URL, como name1=value1&name2=value2

request.duration

duration

Duración total de la solicitud

request.size

int

Tamaño del cuerpo de la solicitud. Utiliza el valor del encabezado Content-Length cuando está disponible.

request.total_size

int

Tamaño total de la solicitud, incluidos los encabezados

Atributos de respuesta

Atributo

Tipo

Descripción

response.code

int

Código de estado HTTP

response.code_details

string

Descripción del código de estado de la respuesta

response.flags

int

Detalles adicionales de la respuesta más allá del código de estado HTTP, codificados como un vector de bits

response.grpc_status

int

Código de estado gRPC

response.headers

map<string, string>

Todos los encabezados de la respuesta

response.trailers

map<string, string>

Todos los trailers de la respuesta

response.size

int

Tamaño del cuerpo de la respuesta

response.total_size

int

Tamaño total de la respuesta, incluidos los encabezados

Atributos de conexión downstream

Atributo

Tipo

Descripción

source.address

string

Dirección del cliente downstream

source.port

int

Puerto del cliente downstream

destination.address

string

Dirección de destino de la conexión downstream

destination.port

int

Puerto de destino de la conexión downstream

connection.id

uint

ID de la conexión downstream

connection.mtls

bool

Indica si mTLS está habilitado y la conexión transporta un certificado de cliente

connection.requested_server_name

string

Nombre de servidor solicitado por la conexión TLS downstream (SNI)

connection.tls_version

string

Versión de TLS de la conexión downstream

connection.subject_local_certificate

string

Campo Subject del certificado de servidor

connection.subject_peer_certificate

string

Campo Subject del certificado de cliente

connection.dns_san_local_certificate

string

Primera entrada DNS en el campo SAN del certificado de servidor

connection.dns_san_peer_certificate

string

Primera entrada DNS en el campo SAN del certificado de cliente

connection.uri_san_local_certificate

string

Primera entrada URI en el campo SAN del certificado de servidor

connection.uri_san_peer_certificate

string

Primera entrada URI en el campo SAN del certificado de cliente

connection.sha256_peer_certificate_digest

string

Resumen SHA256 del certificado de cliente

connection.transport_failure_reason

string

Motivo de fallo de transporte, como un error en la validación del certificado

Atributos de conexión upstream

Atributo

Tipo

Descripción

upstream.address

string

Dirección de destino de la conexión upstream

upstream.port

int

Puerto de destino de la conexión upstream

upstream.tls_version

string

Versión de TLS de la conexión upstream

upstream.subject_local_certificate

string

Campo Subject del certificado de cliente utilizado para la conexión upstream

upstream.subject_peer_certificate

string

Campo Subject del certificado de servidor utilizado para la conexión upstream

upstream.dns_san_local_certificate

string

Primera entrada DNS en el campo SAN del certificado de cliente

upstream.dns_san_peer_certificate

string

Primera entrada DNS en el campo SAN del certificado de servidor

upstream.uri_san_local_certificate

string

Primera entrada URI en el campo SAN del certificado de cliente

upstream.uri_san_peer_certificate

string

Primera entrada URI en el campo SAN del certificado de servidor

upstream.sha256_peer_certificate_digest

string

Resumen SHA256 del certificado de servidor

upstream.local_address

string

Dirección local de la conexión upstream

upstream.transport_failure_reason

string

Motivo de fallo de transporte upstream, como un error en la validación del certificado