Description
Description
本文档介绍,调用 API 后,如何查询请求的日志记录。容器化及二进制版本,网关都提供了对应的 API 请求日志采集功能,开启后,可采集及查询 API 请求日志记录。
容器化版本
网关 API
1. 如何启用网关 API 的日志采集
第一步:chart values.yaml 中,通过 apigateway.bkLogConfig 配置是否启用日志采集,及日志上报数据ID;将 enabled 设置为 true,并在日志平台 bklog "管理" -> "自定义上报" 中,创建 3 个 自定义上报数据ID,并配置 stdoutDataId、containerDataId、fileDataId。此时日志平台 bklog 将会采集网关请求流水日志文件 /usr/local/apisix/logs/access.log 中的请求流水日志。
第二步:采集项 index 默认应为 chart values.yaml 中 dashboard.bkApigwApiLogEsIndex 中配置的:2_bklog_bkapigateway_apigateway_container*(待确认)
第三步:观察日志平台 bklog 中是否采集到日志(需有请求量),并为其配置日志清洗。因请求流水为一个 json 字符串,需利用日志平台的清洗规则,将 json 串中日志解析为日志字段。


1.14 版本开始,增加一个清洗字段
- bk_username string
2. 如何查询网关 API 的请求日志
在日志平台检索中,可查询清洗后的请求日志记录,index 为:[采集项]bkapigateway-apigateway-container(2_bklog.bkapigateway_apigateway_container)
组件 API
第一步:chart values.yaml 中,通过 bkEsb.bkLogConfig 配置是否启用日志采集,及日志上报数据ID;将 enabled 设置为 true,并在日志平台 bklog "管理" -> "自定义上报" 中,创建 2 个 自定义上报数据ID,并配置 stdoutDataId、containerDataId。此时日志平台 bklog 将会采集 ESB 请求流水日志文件 /apps/logs/esb_api.log 中的请求流水日志。
第二步:采集项 index 默认应为 chart values.yaml 中 dashboard.bkEsbApiLogEsIndex 中配置的:2_bklog_bkapigateway_esb_container*(待确认)
第三步:观察日志平台 bklog 中是否采集到日志(需有请求量),并为其配置日志清洗。因请求流水为一个 json 字符串,需利用日志平台的清洗规则,将 json 串中日志解析为日志字段。
清洗模板参考:


二进制版本
二进制版本,网关提供了基于 filebeat + logstash 的日志采集方案。需联系运维同学部署此日志采集方案。部署后,日志将采集到对应的 Elasticsearch 中,如需在线查看请求日志,可联系运维部署一个 Kibana。(日志采集方案在 paas_plugins 项目)
默认的 Elasticsearch index:
- 网关 API:bkapigateway_apigateway_api_log
- 组件 API:bkapigateway_esb_api_log
Activity