skywalking 6.4中怎么跟踪分布式链路

发布时间:2021-08-05 17:02:05 作者:Leah
来源:亿速云 阅读:163

今天就跟大家聊聊有关skywalking 6.4中怎么跟踪分布式链路 ,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

skywalking 

随着业务越来越复杂,企业应用也进入了分布式服务化的阶段,随着模块的不断增多,一次请求可能会涉及到十几个甚至几十个服务的协同处理,那么如何准确快速的定位到线上故障和性能瓶颈,便成为我们不得不面对的棘手问题,传统的日志监控等方式无法很好达到跟踪调用,排查问题等需求。在谷歌论文《 Dapper,大规模分布式系统的跟踪系统》的指导下,许多优秀的APM应运而生。

分布式追踪系统发展很快,种类繁多,给我们带来很大的方便。但在数据采集过程中,有时需要侵入用户代码,并且不同系统的 API 并不兼容,这就导致了如果您希望切换追踪系统,往往会带来较大改动。OpenTracing为了解决不同的分布式追踪系统 API 不兼容的问题,诞生了 OpenTracing 规范。OpenTracing 是一个轻量级的标准化层,它位于应用程序/类库和追踪或日志分析程序之间。详细介绍见

Skywalking是一款国内开源的应用性能监控工具,支持对分布式系统的监控、跟踪和诊断。

Skywalking是一款APM(应用程序性能监视器),尤其适用于微服务,Cloud Native和基于容器的架构系统。也称为分布式跟踪系统。它提供了一种自动检测应用程序的方法:无需更改目标应用程序的任何源代码; 以及具有高效流媒体模块的收集器。

针对分布式系统的APM(应用性能监控)系统,特别针对微服务、cloud native和容器化(Docker, Kubernetes, Mesos)架构, 其核心是个分布式追踪系统。

该项目由国人吴晟基于OpenTracking实现的开源项目skywalking(码云、github)

2017年12月8日,Apache软件基金会孵化器项目管理委员会 ASF IPMC宣布“SkyWalking全票通过,进入Apache孵化器”

官方的首页的图片上可以到skywalking大致架构;

skywalking 6.4中怎么跟踪分布式链路

skywalking 6.4中怎么跟踪分布式链路

agent:监控代理程序,请在系统服务所在的主机保留该目录内所有内容(该目录做为独立程序);

bin:启动脚本

webapp:UI程序与服务目录

config:相关数据源、注册中心等配置存放目录

配置数据源

使用elasticsearch

打开config/application.yml配置文件 ,在storage节点,注释h3数据源,启用elasticsearch全文检索引擎做为数据源存储;

h3是默认自带的内嵌式数据库(有兴趣可自行百度)

skywalking 6.4中怎么跟踪分布式链路

注意其中的几个核心参数:

# 配置你的elasticsearch服务的IP和端口,集群IP请用“,”逗号隔开

clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.110.35:9200}

#存储最多7天的内容,过期数据将会清理。因此请根据实际需求进行调整

recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day

# 每10秒刷新数据到收集器中

flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10}

# 提供2个并发请求,如果系统业务量大,日志产生的非常快,请根据实况调整

concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2}

使用mysql

打开config/application.yml配置文件 ,在storage节点,同样将h3注释掉,将mysql的配置打开

skywalking 6.4中怎么跟踪分布式链路

打开config/datasource-settings.properties配置文件,根据自身的配置进行修改

skywalking 6.4中怎么跟踪分布式链路

后续本文演示的内容均基于elasticsearch数据源进行展示;

修改agent代理配置

skywalking 6.4中怎么跟踪分布式链路

注意以下修改:

# 将Your_ApplicationName修改为自已的项目名称

agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}

# 将代理程序的指向收集器服务的IP和端口

collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.110.35:11800}

运行

运行收集器与UI程序

进入bin目录(我是上传到linux环境下运行,如果是windows请双击运行 startup.bat)

./startup.sh

也可以分别单独启动

单独启动collector,运行

./oapService.sh

单独启动UI,运行

./webappService.sh

使用agnet

在apache-skywalking-apm-bin解压包下的agent目录中为代理程序独立包目录。该agent文件夹,可以单独复制出放在项目系统所在服务器的任意目录下。

agent文件夹下的skywalking-agent.jar即为监控代理程序,只需要在jvm的启动命令中加载该jar包,即可完成监控代理;

部署 java agent

Linux Tomcat 7, Tomcat 8

修改 tomcat/bin/catalina.sh,在首行加入如下信息:

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar"; export CATALINA_OPTS

Windows Tomcat 7, Tomcat 8

修改 tomcat/bin/catalina.bat,在首行加入如下信息:

set "CATALINA_OPTS=-javaagent:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar"

JAR file

在启动你的应用程序的命令行中添加 -javaagent 参数. 并确保在-jar参数之前添加它. 例如:

java -javaagent:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar -jar yourApp.jar

IDAE配置Agent

在IDEA中配置本地程序agent代理,在VM options中-javaagent:D:\test\apache-skywalking-apm-bin\agent\skywalking-agent.jar,配置完毕直接运行即可;

skywalking 6.4中怎么跟踪分布式链路

运行项目系统后,打开系统界面进行业务操作,则skywalking-agent.jar会根据代理计划,收集相关日志发送到skywalking收集器服务中。

skywalkingUI界面

打开skywalking管理界面(skywalking服务部署的IP):

http://localhost:8080

刷新界面,即可获取agent发送的监控数据;

界在相对比较简洁,功能不多,但都比较实用,可以在多个项目与数据库之间切换,相关指标可以看懂,不在本文详细描述,具体操作如下:

首页概览

skywalking 6.4中怎么跟踪分布式链路

URL链路追踪

skywalking 6.4中怎么跟踪分布式链路

连接拓扑图

skywalking 6.4中怎么跟踪分布式链路

当前数据库

skywalking 6.4中怎么跟踪分布式链路

全局信息

skywalking 6.4中怎么跟踪分布式链路

当前服务

skywalking 6.4中怎么跟踪分布式链路

当前实例

skywalking 6.4中怎么跟踪分布式链路

看完上述内容,你们对skywalking 6.4中怎么跟踪分布式链路 有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. 如何通过Zipkin或SKYwalking实现链路追踪
  2. SkyWalking实现服务链路追踪的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

skywalking

上一篇:php中怎么设置变量类型

下一篇:如何解决某些HTML字符打不出来的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》