API网关和日志服务实现无缝集成,通过日志服务您可以进行实时日志查询、下载、多维度统计分析等,您也可以将日志投递到OSS或者MaxCompute。

-
日志服务每个月前500MB免费,具体价格请参照:日志服务定价。
功能简介
1. 日志在线查询
可根据日志中任意关键字进行快速的精确、模糊检索,可用于问题定位或者统计查询。
2. 详细调用日志
您可以检索API调用的详细日志包含如下表所示字段。其中:requestQueryString、requestHeaders、requestBody、responseHeaders、responseBody 几个字段只有VPC专享实例支持,且需要在分组详情页面配置后支持。
|
日志项 |
描述 |
|
apiGroupUid |
API的分组ID。 |
|
apiGroupName |
API分组名称。 |
|
apiUid |
API的ID。 |
|
apiName |
API名称。 |
|
apiStageUid |
API环境ID。 |
|
apiStageName |
API环境名称。 |
|
httpMethod |
调用的HTTP方法。 |
|
path |
请求的PATH。 |
|
domain |
调用的域名。 |
|
statusCode |
HttpStatusCode。 |
|
errorMessage |
错误信息。 |
|
appId |
调用者应用ID。 |
|
appName |
调用者应用名称。 |
|
clientIp |
调用者客户端IP。 |
|
exception |
后端返回的具体错误信息。 |
|
exchangeTimestamp |
整个请求链路的IO时间点。
|
|
providerAliUid |
API提供者账户ID。 |
|
region |
区域,如:cn-hangzhou。 |
|
requestHandleTime |
请求时间,UTC。 |
|
requestId |
请求ID,全局唯一。 |
|
requestSize |
请求大小,单位:字节。 |
|
responseSize |
返回数据大小,单位:字节。 |
|
serviceLatency |
访问后端资源耗时总和,包括申请连接资源耗时,建立连接耗时,调用后端服务耗时,单位:毫秒。 |
|
errorCode |
错误码code,如:X500ER。 |
|
requestProtocol |
客户端请求协议:HTTP/HTTPS/WS。 |
|
instanceId |
API服务所在的网关实例ID。 |
|
initialRequestId |
API网关自调用时,例如API-1调用API-2 ,那么API-2的日志中会用initialRequestId来记录API-1的requestId。 |
|
clientNonce |
客户端X-Ca-Nonce头。 |
|
requestQueryString |
客户端请求的queryString(仅专享实例)。 |
|
requestHeaders |
客户端请求的header内容(仅专享实例)。 |
|
requestBody |
客户端请求的body内容,最多1024个字节(仅专享实例)。 |
|
responseHeaders |
API响应的header内容(仅专享实例)。 |
|
responseBody |
API响应的response内容,最多1024个(仅专享实例)。 |
|
consumerAppKey |
API请求的appKey。 |
|
totalLatency |
API请求的总延迟,单位毫秒。 |
|
customTraceId |
全链路日志的traceId。 |
|
jwtClaims |
从JWT中解析出来的Claim,可以在分组上配置。 |
|
plugin |
API请求命中的插件列表及相关上下文。 |
使用日志服务查看API日志
配置日志服务方式
目前有两种配置方式:
-
通过日志服务页面的“日志审计”进行API网关日志同步。这种方式所有region的日志都会集中到日志审计这个project下。API网关上不需要做额外的配置。
-
通过SLS页面做API网关数据接入的方式配置,这种方式每个region都需要做一次同步配置。
下面将分别介绍这两种配置方法。
政务云和金融云的SLS日志同步,目前仅支持用第1种方法配置。
1. 通过日志审计方式配置
-
打开sls日志审计服务配置页面,选择中心region,根据自己需要选择对应的region,后续所有的API网关日志都会投递到这个region。
在全局配置页面顶部可查看中心Project所在区域及名称。下方以表格形式展示各云产品(操作审计、OSS、RDS、VPC、DNS、PolarDB、SLB、ALB等)的日志采集开关、存储方式(中心化或区域化)、保留天数、同步到中心及N天后转冷存等配置项。根据需要开启对应云产品的日志采集开关,完成后单击右上角保存。在采集同步授权区域,若提示当前账号尚未授权日志服务采集同步日志,可选择手动授权或通过账号密钥辅助授权完成授权。
-
然后选择授权方式,根据文档提示操作。本示例选择“手动授权”。
-
授权完成后,根据本页面的中心project下的apigateway_log查看API网关的调用日志。
API 网关调用日志包含
apiGroupName、apiGroupUid、apiName、apiStageName、apiStageUid、apiUid等字段,可在 原始日志 标签页中查看各条日志的详细键值对信息。
2. 在API网关控制台配置
1)请确保您已经开通了日志服务,然后在SLS控制台选择对应的region,创建Project 和 Logstore。以华东1(杭州) region为例。
在创建Project弹窗中,填写Project名称(如 gateway-t***),资源组保持默认,开通日志区域勾选运行日志和全局日志,单击确认完成创建。Project 创建成功后,在弹出的对话框中单击创建Logstore。创建 Logstore 时,设置 Logstore 名称为 gateway_log,类型选择 Standard,计费模式选择 按写入数据量计费,数据保存时间设置为 30 天,Shard 数目设置为 2,开启 自动分裂 Shard(最大分裂数为 64),开启 记录外网 IP,然后单击 确定。Logstore 创建成功后,在弹出的提示对话框中单击数据接入向导。
2)配置API网关数据接入,选择API网关产品。
选择 API 网关产品后进入数据源配置页面,确认RAM 授权已完成(页面显示"您已授权日志服务分发日志"),在建立分发规则区域确认将 API 网关访问日志导入目标日志库,然后单击下一步创建分发规则。然后一直“下一步”,直到成功为止。
查看日志
您可以登录日志服务控制台查看日志,根据日志服务的查询语法,在线检索调用日志。
查询结果中,每条日志包含 apiGroupName、apiGroupUid、apiName、__source__、__tag__:__receive_time__、__topic__ 等字段。您可通过左侧快速分析栏按字段筛选日志,也可在顶部查询输入框中使用查询语法进行精确检索。
自定义查询报表
您可以根据自身业务需要自定义查询报表,请参照定义方法:创建仪表盘。