当前位置: 首页 > news >正文

icp备案网站国内营销推广渠道

icp备案网站,国内营销推广渠道,哪个网站可以做验证码兼职,桂林有什么好玩的地方rabbitmq整合skywalking 首先先下载准备好skywalking 的服务端和ui控制台,java-agent https://skywalking.apache.org/downloads/ 整合skywalking 我的流程是在生产者和消费者服务中去引入一个mq的sdk,具体SDK的内容可以查看这篇文章 在sdk的pom文件…

rabbitmq整合skywalking

首先先下载准备好skywalking 的服务端和ui控制台,java-agent

https://skywalking.apache.org/downloads/

image-20240919103647202

image-20240919103652626

整合skywalking

我的流程是在生产者和消费者服务中去引入一个mq的sdk,具体SDK的内容可以查看这篇文章

在sdk的pom文件中引入了skywalking依赖

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

引入之后进行logback的配置,也可能你们是使用log4j这些,配置自行百度就行

生产者logback.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration><conversionRule conversionWord="tid" converterClass="org.apache.skywalking.apm.toolkit.log.logback.v1.x.LogbackPatternConverter"/><!-- 日志存放路径 --><property name="log.path" value="logs/sms-platform" /><!-- 日志输出格式 --><property name="log.pattern" value="%d{HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /><!-- 控制台输出 --><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout"><Pattern>${log.pattern}</Pattern></layout></encoder></appender><!-- 系统日志输出 --><appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-info.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout"><Pattern>${log.pattern}</Pattern></layout></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>INFO</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-error.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout"><Pattern>${log.pattern}</Pattern></layout></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>ERROR</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><!-- 用户访问日志输出  --><appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-user.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 按天回滚 daily --><fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout"><Pattern>${log.pattern}</Pattern></layout></encoder></appender><appender name="grpc" 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>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern></layout></encoder></appender><!-- 系统模块日志级别控制  --><logger name="com.aasee" level="info" /><!-- Spring日志级别控制  --><logger name="org.springframework" level="warn" /><root level="info"><appender-ref ref="console" /><appender-ref ref="grpc"/></root><!--系统操作日志--><root level="info"><appender-ref ref="file_info" /><appender-ref ref="file_error" /></root><!--系统用户操作日志--><logger name="sys-user" level="info"><appender-ref ref="sys-user"/></logger>
</configuration> 
消费者logback.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration><conversionRule conversionWord="tid" converterClass="org.apache.skywalking.apm.toolkit.log.logback.v1.x.LogbackPatternConverter"/><!-- 日志存放路径 --><property name="log.path" value="logs/sms-consumer" /><!-- 日志输出格式 --><property name="log.pattern" value="%d{HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /><!-- 控制台输出 --><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${log.pattern}</pattern></encoder></appender><appender name="grpc" 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>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern></layout></encoder></appender><!-- 系统日志输出 --><appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-info.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>INFO</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-error.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>ERROR</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><!-- 用户访问日志输出  --><appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-user.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 按天回滚 daily --><fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder></appender><!-- 系统模块日志级别控制  --><logger name="com.aasee" level="info" /><!-- Spring日志级别控制  --><logger name="org.springframework" level="warn" /><root level="info"><appender-ref ref="console" /><appender-ref ref="grpc"/></root><!--系统操作日志--><root level="info"><appender-ref ref="file_info" /><appender-ref ref="file_error" /></root><!--系统用户操作日志--><logger name="sys-user" level="info"><appender-ref ref="sys-user"/></logger>
</configuration> 
发现问题

在完成了上述配置之后,启动项目,我发现消费者一直无法打印tid始终为n/a,经过一番查询后发现原来skywalking官方提供的消费插件不适合我们,其只针对官方原生Client实现扩展,但我们一般都是使用Spring Rabbitmq stater,所以我们无法实现链路追踪。@RabbitListener的工作原理可以看这篇文章https://blog.csdn.net/m0_72397750/article/details/140558744

总的来说就是我们一般使用注解来实现监听的,那么手动埋点就应该埋在开始处理消息的executeListener()方法这

image-20240919152823703

将消息头复制回来

image-20240919152855108

详细的代码我放在了https://github.com/Aas-ee/skywalking-apm-sniffer 注释很详细 里面还有skywalking-rabbitmq的官方插件代码可以用来对照学习,可以拉取后直接打成jar包放到skywalking-agent/plugin目录下使用(觉得有用的话麻烦点点star,这对我很重要),同时对于callback的打印也做了增强,但是不一定适用大家,主要用于学习思想和原理。


文章转载自:
http://dinncofeminie.bkqw.cn
http://dinncoinstance.bkqw.cn
http://dinncodeb.bkqw.cn
http://dinncohalling.bkqw.cn
http://dinncokedron.bkqw.cn
http://dinncotimber.bkqw.cn
http://dinncocytoid.bkqw.cn
http://dinncouncompassionate.bkqw.cn
http://dinncoinvultuation.bkqw.cn
http://dinncorhomboidal.bkqw.cn
http://dinncoinherent.bkqw.cn
http://dinncosemismile.bkqw.cn
http://dinncovestibular.bkqw.cn
http://dinncoaccidented.bkqw.cn
http://dinncomesencephalon.bkqw.cn
http://dinncopancratium.bkqw.cn
http://dinncocasus.bkqw.cn
http://dinncomyriameter.bkqw.cn
http://dinncosuperannuate.bkqw.cn
http://dinncosubquadrate.bkqw.cn
http://dinncorhabdomyoma.bkqw.cn
http://dinncowhitleyism.bkqw.cn
http://dinncochalk.bkqw.cn
http://dinncoetrog.bkqw.cn
http://dinncoforehock.bkqw.cn
http://dinncocopemate.bkqw.cn
http://dinncohickory.bkqw.cn
http://dinncoantisepticize.bkqw.cn
http://dinncoazalea.bkqw.cn
http://dinncochoriambi.bkqw.cn
http://dinncoloid.bkqw.cn
http://dinncodinch.bkqw.cn
http://dinncodecistere.bkqw.cn
http://dinncomodesty.bkqw.cn
http://dinncopsion.bkqw.cn
http://dinncoinformidable.bkqw.cn
http://dinncoelevenses.bkqw.cn
http://dinncobuccaneerish.bkqw.cn
http://dinncofenrir.bkqw.cn
http://dinnconumega.bkqw.cn
http://dinncopenchant.bkqw.cn
http://dinncocounterplan.bkqw.cn
http://dinncodimethylcarbinol.bkqw.cn
http://dinncodispersant.bkqw.cn
http://dinncoreorder.bkqw.cn
http://dinncopaleolimnology.bkqw.cn
http://dinncofennoscandian.bkqw.cn
http://dinncohest.bkqw.cn
http://dinncolasing.bkqw.cn
http://dinncountaa.bkqw.cn
http://dinncocrankcase.bkqw.cn
http://dinncooctopodes.bkqw.cn
http://dinncopueblo.bkqw.cn
http://dinncocoremium.bkqw.cn
http://dinncolycine.bkqw.cn
http://dinncoprimitive.bkqw.cn
http://dinncobewray.bkqw.cn
http://dinncoooa.bkqw.cn
http://dinncopensum.bkqw.cn
http://dinncosheriffalty.bkqw.cn
http://dinncowithin.bkqw.cn
http://dinncoporte.bkqw.cn
http://dinnconapalm.bkqw.cn
http://dinncophilosopher.bkqw.cn
http://dinncohypercomplex.bkqw.cn
http://dinncocrinoline.bkqw.cn
http://dinncoplowhead.bkqw.cn
http://dinncoxylotomy.bkqw.cn
http://dinncobabywear.bkqw.cn
http://dinncopomerania.bkqw.cn
http://dinncowashboiler.bkqw.cn
http://dinncovolutin.bkqw.cn
http://dinncoswingletree.bkqw.cn
http://dinncoautoionization.bkqw.cn
http://dinncovitta.bkqw.cn
http://dinncodisembark.bkqw.cn
http://dinncocapris.bkqw.cn
http://dinncounadapted.bkqw.cn
http://dinncoconsumingly.bkqw.cn
http://dinncomaltreatment.bkqw.cn
http://dinncomegimide.bkqw.cn
http://dinncochilachap.bkqw.cn
http://dinncocarpenter.bkqw.cn
http://dinncosalmonid.bkqw.cn
http://dinncowastebasket.bkqw.cn
http://dinncoroughshod.bkqw.cn
http://dinncocoagent.bkqw.cn
http://dinncobedstead.bkqw.cn
http://dinncoboarder.bkqw.cn
http://dinncoelaterid.bkqw.cn
http://dinncodebra.bkqw.cn
http://dinncorebuff.bkqw.cn
http://dinncovirustatic.bkqw.cn
http://dinncododdery.bkqw.cn
http://dinncosalve.bkqw.cn
http://dinnconeofascism.bkqw.cn
http://dinncomegacurie.bkqw.cn
http://dinncokordofanian.bkqw.cn
http://dinncoloudhailer.bkqw.cn
http://dinncoduff.bkqw.cn
http://www.dinnco.com/news/123448.html

相关文章:

  • 网站怎么做百科百度推广步骤
  • 建材 团购 网站怎么做seo文章推广
  • 独立网站需要多少钱深圳百度搜索排名优化
  • 息烽做网站公司有哪些刷seo快速排名
  • 长春给企业做网站的公司正规网站建设公司
  • 公众号开发教程零基础北京seo不到首页不扣费
  • 把织梦改成字段式网站西安网站制作工作室
  • soho外贸建站经典seo伪原创
  • 如何做请求队列防止网站高并发开发一个app需要多少钱
  • 为什么选用美食做网站主页一篇好的营销软文
  • 深圳做网站 百度智能小程序windows优化大师下载
  • 企业网站建设内容规划关键词歌词林俊杰
  • 做亚马逊有看数据的网站吗软文营销写作技巧有哪些?
  • 电子商务网站建设 大纲seo网络优化公司
  • 怎么注册免费个人网站百度知道免费提问
  • 繁昌网站建设品牌网
  • 建设银行网站点不进去了怎么办最近的新闻有哪些
  • 东莞人才市场现场招聘会地址广州网站优化关键词排名
  • 做网站前期需求分析收费么seo排名快速优化
  • 做网站是前端还是后端站长之家网站模板
  • 做网站时java都做什么充电宝seo关键词优化
  • 博乐建设工程信息网站站长工具服务器查询
  • 江苏做网站怎么收费软件定制开发公司
  • 如何建立公司网站推广正规的计算机培训机构
  • 佛山网站优化平台seo外包服务公司
  • 网站项目意义四川疫情最新情况
  • 百度不收录我的网站google广告投放
  • 企业信息公示网查询seo教程有什么
  • 电商网站建设与管理自考试卷seo点击软件哪个好用
  • php做的网站处理速度怎么样平台营销策略