skywalking06 - skywalking也可以作为日志中心收集日志了!
skywalking06 - skywalking也可以作为日志中心收集日志了!说起分布式日志收集,在技术选型上,一般有两大类: 第一类就是程序将日志写在本地文件,使用代理软件(flume/ filebeat之类)来收集,将其发送到对应的接收端,或是kafka这样的高性能队列集群中. 第二类是程序自己封装,将日志送到接受端.第一类代理类收集与程序运行无关,但是代理程序也可能存在挂掉而无法收集到日志
·
skywalking06 - skywalking也可以作为日志中心收集日志了!
说起分布式日志收集,在技术选型上,一般有两大类: 第一类就是程序将日志写在本地文件,使用代理软件(flume/ filebeat之类)来收集,将其发送到对应的接收端,或是kafka这样的高性能队列集群中. 第二类是程序自己封装,将日志送到接受端.
第一类代理类收集与程序运行无关,但是代理程序也可能存在挂掉而无法收集到日志的囧境,抑或是还需要一个监控系统来监控代理.
第二类需要自己封装,要是没写好还容易丢失日志,或者严重的堆积在内存,抢占CPU,也增加开发的负担.
- skywalking本身作为链路监控就已经需要以代理的方式附着程序运行,现在也支持直接进行日志收集了!而且接入超轻松,也许只要5分钟你就能看到成果~
- 终于可以直接在链路里看日志,而不是通过链路流水号去日志中心查了!
skywalking版本
在skywalking 8.4.0 的发行版中,开始提供该功能. 先上图:
logback日志接入
kywalking
- 首先在pom.xml中把skywalking工具包的版本升级到8.4.0
<!-- 监控相关 -->
<skywalking.version>8.4.0</skywalking.version>
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-trace</artifactId>
<version>${skywalking.version}</version>
</dependency>
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>${skywalking.version}</version>
</dependency>
- 在logback-spring.xml中添加Appender
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- 省略,下同 -->
</appender>
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
</appender>
<!-- skywalking grpc 日志收集 8.4.0版本开始支持 -->
<appender name="GRPC" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
</appender>
<springProfile name="local">
<logger name="cn.iocoder.dashboard" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
<appender-ref ref="GRPC"/>
</logger>
</springProfile>
<root level="DEBUG">
<appender-ref ref="STDOUT"/>
<appender-ref ref="ASYNC"/>
</root>
</configuration>
配置完启动即可,基本不费力~
其他日志框架接入
其他日志框架当然也能接入,也没什么难点,暂时还没找到官方文档.可以直接看源码,是有示例在的.
可以参考其在8.5.0上的这个提交记录
示例源码
-
这个工程是芋道源码艿子哥发起的ruoyi-vue-pro 项目,关于skywalking接入的代码,还在feature分支skywalking上.
有兴趣可以看看:featureskywalking
更多推荐
已为社区贡献1条内容
所有评论(0)