有奖捉虫:行业应用 & 管理与支持文档专题 HOT

操作场景

云原生 API 网关默认为您提供网关实时日志服务和简单搜索能力,免费使用。
默认日志主要分为用户访问日志和网关错误日志。您可以通过查看云原生 API 网关的访问日志了解用户的请求相关信息,便于进行数据分析、审计、业务排障等或者查看,也可以查看云原生 API 网关的错误日志,以便排查问题。
访问日志(accessLog)记录了用户的请求相关信息,可用于进行数据分析、审计、业务排障等。
错误日志(errorLog)是网关内部错误日志,用于网关排障。
本文为您介绍云原生 API 网关默认日志功能的使用说明。

前提条件

已创建云原生 API 网关实例,具体操作请参见 新建云原生 API 网关

查看默认日志

1. 登录 TSE 控制台
2. 在左侧导航栏单击云原生 API 网关 > 可观测性,在页面上方选择好网关实例,单击默认日志页面。
3. 设置好您要查看的日志,页面即可展示相关日志内容。 可以通过关键字查询相关日志。输入关键词查询,例如:“info”,注意日志检索区分大小写。




编辑默认日志规则

在默认日志页面,点击右上角的编辑日志规则,即可修改默认日志规则。您可以选择继续使用默认规则,也可以根据您的业务需求自定义日志规则。
编辑默认日志规则时支持开启和关闭 HTTP 和 TCP 的日志输出。
注意:
修改默认日志规则后,投递到 CLS 的日志规则也会同步修改,请谨慎操作。


日志字段

下表列出了云原生 API 网关支持的访问日志字段,您可以根据需要进行配置:

HTTP/HTTPS 日志字段

字段
说明
$remote_addr
客户端地址。
$status
HTTP 状态码。
$remote_user
Basic authentication 提供的用户名。
$time_local
请求时间。
$request
完整的请求行。
$body_bytes_sent
发送给客户端的文件主体内容的大小。
$request_method
请求方法。
$host
请求携带 Host 请求头时为“Host”字段的值,未携带时为主机虚拟域名。
$upstream_addr
后端服务的 IP 地址。
$upstream_status
上游服务返回响应中的 HTTP 响应码。
$upstream_response_time
上游服务响应耗时(毫秒精度),包括网关向后端服务开始建立连接、接收数据、关闭连接的时间。
$scheme
HTTP 或 HTTPS 协议。
$url
请求 URL。
$request_length
请求数据大小 bytes,包含请求行、请求头、请求体。
$bytes_sent
响应字节数。
$http_referer
页面来源,header Referer 引用页面 URL。
$http_user_agent
客户端代理信息。
$request_time
请求耗时,从接收请求开始到发送完响应数据的时间,包含接收请求数据、处理请求、返回响应数据的时间。

TCP/UDP 日志字段

字段
说明
$remote_addr
客户端 IP 地址。
$time_local
请求时间,处理完请求打印日志的时间。
$protocol
四层协议 tcp 或 udp。
$status
连接状态,可选值200, 400, 403, 500, 502, 503。
$bytes_sent
响应字节数,网关发往客户端的字节数。
$bytes_received
接收字节数,网关从客户端接收到的字节数,包括响应头和响应体。
$session_time
会话持续时间(毫秒精度)。

Nginx 变量

不支持的 Nginx 变量如下:
(1)如下变量
$connection_time
$http3
$jwt_claim_
$jwt_header_
$jwt_payload
$memcached_key
$mqtt_preread_clientid
$mqtt_preread_username
$otel_parent_id
$otel_parent_sampled
$otel_span_id
$otel_trace_id
$proxy_protocol_tlv_
$proxy_protocol_tlv_aws_vpce_id
$proxy_protocol_tlv_azure_pel_id
$proxy_protocol_tlv_gcp_conn_id
$secure_link
$secure_link_expires
$session_log_binary_id
$session_log_id
$slice_range
$ssl_alpn_protocol
$ssl_curve
$upstream_queue_time
(2)geo 开头的变量