SkyWalking8.4集成日志收集
一. 本地搭建
1.1 初始化
首先你得支棱起来,参考我上一篇搭建,但是我上一篇基于8.3,这边需要下载8.4版本才能开启日志收集系统
pom引入以下依赖,对应各自skywalking版本
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>8.4.0</version>
</dependency>
首先之前的配置都一样,就不多说了,参考上一篇博客即可
由于8.3未开启日志收集,那么下载了8.4后,需要配置一些东西
1.2 Spirngboot+Logback集成Skywalking日志系统
我这边自己的demo项目就是Spirngboot+Logback
当然由于springboot-stater集成了logback那我们不需要引入任何包就可以使用,首先配置你的logback-spring.xml 文件
然后需要在你的logback-spring.xml配置中加入以下这句话
<appender name="grpc-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender"></appender>
别忘了开启日志,且你要输出日志到文件中,grpc是利用本地日志去上传的
<root level="info">
<appender-ref ref="grpc-log" />
</root>
然后就可以在你的UI界面上看到
1.3 日志时间格式问题
正在研究日志格式问题
二. 远程部署搭建
你的agent搭建跟oap在不同服务器上
gRPC报告程序可以将收集到的日志转发到SkyWalking OAP服务器或SkyWalking Satellite卫星。跟踪ID,段ID和跨度ID将自动附加到日志。无需修改现有布局。
打开你的agent/config/agent.config配置文件,添加如下配置信息,注意skywalking的log通信用的grpc
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:127.0.0.1}
plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800}
plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760}
plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}
以上配置是默认配置信息,agent与oap在本地的可以不配
配置名 | 解释 | 默认值 |
---|---|---|
plugin.toolkit.log.transmit_formatted | 是否以格式化或未格式化的格式传输记录的数据 | true |
plugin.toolkit.log.grpc.reporter.server_host | 指定要向其报告日志数据的grpc服务器的主机 | 127.0.0.1 |
plugin.toolkit.log.grpc.reporter.server_port | 指定要向其报告日志数据的grpc服务器的端口 | 11800 |
plugin.toolkit.log.grpc.reporter.max_message_size | 指定grpc客户端要报告的日志数据的最大大小 | 10485760 |
plugin.toolkit.log.grpc.reporter.upstream_timeout | 客户端向上游发送数据时将超时多长时间。单位是秒 | 30 |