惠州app网站建设排行榜网站设计创意方案
惠州app网站建设排行榜,网站设计创意方案,大气简洁的WordPress主题,seo网站优化建议在实际项目中#xff0c;为了方便线上排查问题#xff0c;尤其是微服务之间调用链路比较复杂的系统中#xff0c;通过可视化日志的手段仍然是最直接也很方便的排查定位问题的手段#xff0c;比如大家熟悉的ELK就是一种比较成熟的可视化日志展现方式#xff0c;在skywalkin…在实际项目中为了方便线上排查问题尤其是微服务之间调用链路比较复杂的系统中通过可视化日志的手段仍然是最直接也很方便的排查定位问题的手段比如大家熟悉的ELK就是一种比较成熟的可视化日志展现方式在skywalking UI界面上在服务菜单栏中有Log一项该项就是用于服务中集成日志。 并提供相关搜索功能 根据TraceId快速定位某一次请求全链路日志信息。 skywalking支持的日志框架有log4j、log4j2、logback等。
本文采用从skywalking agent收集的方式日志框架使用springboot中使用默认的的logback。
1. 配置SpringBoot项目Skywalking agent
即在启动jvm参数增加
-javaagent后是skywalking-agent.jar的路径在apache-skywalking-java-agent-9.0.0.tgz解压后的包中
-Dskywalking.agent.service_name是服务的名称自定义一般用spring.application.name
-Dskywalking.collector.backend_service是指skywalking oap服务器的ip和端口号
-javaagent:F:\project\git\agent\skywalking-agent\skywalking-agent.jar
-Dskywalking.agent.service_nameskywalking_demo_test
-Dskywalking.collector.backend_service192.168.110.155:11800
详细步骤参考SpringBoot集成Skywalking链路追踪-CSDN博客
2. 引入POM依赖
dependencygroupIdorg.apache.skywalking/groupIdartifactIdapm-toolkit-logback-1.x/artifactIdversion9.0.0/version/dependency
3. 修改日志配置
有两种日志展示方式一种是随机字符型一种是展示链路上下文的任选一种即可。
3.1 方式一
skywalking使用traceId对调用链路进行标识traceId的格式为随机字符如果没有请求链路则输出日志中的traceId为N/A。
logback.xml文件
configuration debugfalse scanfalsespringProperty scopcontext namespring.application.name sourcespring.application.name defaultValue/property namelog.path valuelogs/ceshi/!-- 控制台输出 --appender nameconsole classch.qos.logback.core.ConsoleAppenderencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayoutpattern%d{yyyy-mM-dd HH:mm:ss.sss} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n/pattern/layout/encoder/appender!--配置异步输出日志提升性能--appender nameASYNC classch.qos.logback.classic.AsyncAppenderdiscardingThreshold0/discardingThresholdqueueSize1024/queueSizeneverBlocktrue/neverBlockappender-ref refconsole//appender!--skywalking grpc 日志收集--appender namegrpc classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppenderencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayoutPattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n/Pattern/layout/encoder/appender!--本地info日志保存 不需要可以删除--appender nameinfo classch.qos.logback.core.rolling.RollingFileAppenderfile${log.path}/info.log/filerollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicyfileNamePattern${log.path}/%d{yyyy-MM, aux}/info.%d{yyyy-MM-dd}.%i.log.gz/fileNamePatternmaxFileSize50MB/maxFileSizemaxHistory30/maxHistory/rollingPolicyencoderpattern%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n/pattern/encoder/appender!-- 本地error日志保存 不需要可以删除 --appender nameerror classch.qos.logback.core.rolling.RollingFileAppenderfile${log.path}/error.log/filerollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicyfileNamePattern${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz/fileNamePatternmaxFileSize50MB/maxFileSizemaxHistory30/maxHistory/rollingPolicyencoderpattern%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n/pattern/encoderfilter classch.qos.logback.classic.filter.ThresholdFilterlevelERROR/level/filter/appenderroot levelINFOappender-ref refconsole/appender-ref refinfo/appender-ref referror/appender-ref refgrpc//root
/configuration3.2 方式二
由于traceId仅表示为随机字符可读性较差。幸运的是skywalking也认识到这一点于是又引入了一个新的概念链路上下文SW_CTX所谓链路上下文其实与traceId的作用相同但他的好处是可读性强其格式为SW_CTX[服务名, 实例名, traceId, traceSegmentId, spanId]。
configuration debugfalse scanfalsespringProperty scopcontext namespring.application.name sourcespring.application.name defaultValue/property namelog.path valuelogs/ceshi/!-- 控制台输出 --appender nameconsole classch.qos.logback.core.ConsoleAppenderencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayoutpattern%d{yyyy-mM-dd HH:mm:ss.sss} [%X{sw_ctx}] [%thread] %-5level %logger{36} -%msg%n/pattern/layout/encoder/appender!--配置异步输出日志提升性能--appender nameASYNC classch.qos.logback.classic.AsyncAppenderdiscardingThreshold0/discardingThresholdqueueSize1024/queueSizeneverBlocktrue/neverBlockappender-ref refconsole//appender!--skywalking grpc 日志收集--appender namegrpc classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppenderencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayoutPattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{sw_ctx}] [%thread] %-5level %logger{36} -%msg%n/Pattern/layout/encoder/appender!--本地info日志保存 不需要可以删除--appender nameinfo classch.qos.logback.core.rolling.RollingFileAppenderfile${log.path}/info.log/filerollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicyfileNamePattern${log.path}/%d{yyyy-MM, aux}/info.%d{yyyy-MM-dd}.%i.log.gz/fileNamePatternmaxFileSize50MB/maxFileSizemaxHistory30/maxHistory/rollingPolicyencoderpattern%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n/pattern/encoder/appender!-- 本地error日志保存 不需要可以删除 --appender nameerror classch.qos.logback.core.rolling.RollingFileAppenderfile${log.path}/error.log/filerollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicyfileNamePattern${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz/fileNamePatternmaxFileSize50MB/maxFileSizemaxHistory30/maxHistory/rollingPolicyencoderpattern%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n/pattern/encoderfilter classch.qos.logback.classic.filter.ThresholdFilterlevelERROR/level/filter/appenderroot levelINFOappender-ref refconsole/appender-ref refinfo/appender-ref referror/appender-ref refgrpc//root
/configuration4. 启动SpringBoot项目
4.1. 启动springboot项目
没有请求链路的系统日志,比如项目启动时的 4.2. 发送一个http请求 4.3. 查看控制台或文件日志
按照3.1方式配置的日志 按照3.2方式配置的日志 从输出的日志可以看到该请求的调用链上有了TraceId,可以根据这个TraceId在Skywalking日志里面搜索
5. 在Skywalking控制台查看链路日志
访问Skywalking控制台
如 http://192.168.110.155:8080 点击Log选项卡
如下图所示可以看到TraceId 查看某一个链路日志
复制TraceId搜索即可以看到某次http请求的所有日志信息
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87585.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!