Skip to main content
Version: 2.5.0

1. 概述

1.1 插件名称#

  • Aliyun sls 日志插件

1.2 适用场景#

  • 收集日志到aliyun sls日志平台,并通过aliyun sls日志平台进行数据分析

1.3 插件功能#

  • 网关接收客户端请求,向服务端转发请求,并将服务端结果返回给客户端.网关可以记录下每次请求对应的详细信息。
  • 插件便是记录访问日志并将访问日志发送到Aliyun sls的插件.

1.4 插件代码#

  • 核心模块 shenyu-plugin-logging-aliyun-sls

  • 核心类 org.apache.shenyu.plugin.aliyun.sls.LoggingAliYunSlsPlugin

  • 核心类 org.apache.shenyu.plugin.aliyun.sls.client.AliyunSlsLogCollectClient

1.5 添加自哪个shenyu版本#

ShenYu 2.5.0

2. 如何使用插件

2.1 插件使用流程图#

2.2 导入pom#

  • 在ShenYu-Bootstrap导入对应的pom依赖。
<!-- shenyu logging-aliyunsls plugin start --><dependency>  <groupId>org.apache.shenyu</groupId>  <artifactId>shenyu-spring-boot-starter-plugin-logging-aliyun-sls</artifactId>  <version>${project.version}</version></dependency><!-- shenyu logging-aliyunsls plugin end -->

2.3 启用插件#

  • shenyu-admin --> 基础配置 --> 插件管理-> loggingAliyunSls ,设置为开启。

2.4 配置插件#

2.4.1 插件配置#

配置项类型描述备注
accessIdStringaccessId必填
accesskeyStringaccesskey必填
hostString主机名,例如::cn-guangzhou.log.aliyuncs.com必填
projectNameString项目名可选, 默认值:shenyu
logStoreNameString存储store名称可选, 默认值:shenyu-logstore
topicString日志存储topic可选, 默认值:shenyu-topic
ttlInDayInteger每天的ttl次数可选, 默认值:3
shardCountInteger阿里云日志的shard总数可选, 默认值:10
sendThreadCountInteger发送日志的线程数可选, 默认值:1
ioThreadCountIntegerio记录日志的线程数可选, 默认值:1
sampleRateString样本消费速率可选, 默认值:1
maxRequestBodyInteger最大请求体可选, 默认值:524288
maxResponseBodyInteger最大响应体可选, 默认值:524288
bufferQueueSizeInteger消费队列大小可选, 默认值:50000

2.4.2 规则和选择器配置#

2.5 Logging信息#

采集的access log的字段如下:

字段名称含义说明备注
clientIp客户端IP
timeLocal请求时间字符串, 格式:yyyy-MM-dd HH:mm:ss.SSS
method请求方法(不同rpc类型不一样,http类的为:get,post等待,rpc类的为接口名称)
requestHeader请求头(json格式)
responseHeader响应头(json格式)
queryParams请求查询参数
requestBody请求Body(二进制类型的body不会采集)
requestUri请求uri
responseBody响应body
responseContentLength响应body大小
rpcTyperpc类型
status响应码
upstreamIp上游(提供服务的程序)IP
upstreamResponseTime上游(提供服务的程序)响应请求的耗时(毫秒ms)
userAgent请求的用户代理
host请求的host
module请求的模块
path请求的路径path
traceId请求的链路追踪ID需要接入链路追踪插件,如skywalking,zipkin

2.6 示例#

2.6.1 通过阿里云sls日志平台收集日志#

2.6.1.1 插件配置#

  • 开启插件,并配置aliyun sls插件,配置如下:

2.6.1.2 选择器配置#

2.6.1.3 规则配置#

2.6.1.4 发送请求#

2.6.1.5 aliyun sls 日志平台展示#

3. 如何禁用插件

  • shenyu-admin --> 基础配置 --> 插件管理-> loggingAliyunSls ,设置为关闭。