SkyWalking8.4集成日志收集

  • 一. 本地搭建
  • 1.1 初始化
  • 1.2 Spirngboot+Logback集成Skywalking日志系统
  • 1.3 日志时间格式问题
  • 二. 远程部署搭建
  • 太惨了,制作不易,关注再点个赞吧~


一. 本地搭建

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>

skywalking es存储日志 skywalking集成日志_SkyWalking8.4


首先之前的配置都一样,就不多说了,参考上一篇博客即可

由于8.3未开启日志收集,那么下载了8.4后,需要配置一些东西

1.2 Spirngboot+Logback集成Skywalking日志系统

我这边自己的demo项目就是Spirngboot+Logback

skywalking es存储日志 skywalking集成日志_SkyWalking8.4_02

当然由于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界面上看到

skywalking es存储日志 skywalking集成日志_监控系统_03

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