SkyWalking 日志監控


在skywalking的UI端有一個日志的模塊,用於收集客戶端的日志,默認是沒有數據的,那么需要如何將日志數據傳輸到skywalking中呢?日志框架的種類很多,比較出名的有log4j,logback,log4j2,就以logback為例子介紹一下如何配置,官方文檔如下:

  • log4j:https://skywalking.apache.org/docs/skywalking-java/v8.8.0/en/setup/service-agent/java-agent/application-toolkit-log4j-1.x/
  • log4j2:https://skywalking.apache.org/docs/skywalking-java/v8.8.0/en/setup/service-agent/java-agent/application-toolkit-log4j-2.x/
  • logback:https://skywalking.apache.org/docs/skywalking-java/v8.8.0/en/setup/service-agent/java-agent/application-toolkit-logback-1.x/

1、添加依賴

根據官方文檔,需要先添加依賴,如下:

<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-logback-1.x</artifactId>
    <version>8.7.0</version>
</dependency>

2、添加配置文件

新建一個logback-spring.xml放在resource目錄下,配置如下圖:

<!-- 日志傳輸到skywalking中的appender,通過qrpc傳輸 -->
<appender name="gpc-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
    <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
        <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
            <Pattern>${log.pattern2}</Pattern>
        </layout>
    </encoder>
</appender>
<root level="info">
    <appender-ref ref="gpc-log"/>
</root>

 

啟動項目后,skywalking中的日志模塊輸出的日志如下圖:

 

 

 

注意:如果agent和oap服務不在同一台服務器上,需要在/agent/config/agent.config配置文件末尾添加如下配置:

plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:10.10.10.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}

 

配置分析如下圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM