专业的编程技术博客社区

网站首页 > 博客文章 正文

springboot集成skywalking微服务链路追踪

baijin 2024-08-26 10:21:12 博客文章 4 ℃ 0 评论

简介:

skywalking是一个开放源码的,用于收集、分析,聚合,可视化来自于不同服务和本地基础服务的数据的可观察的平台,skywalking提供了一个简单的方法来让你对你的分布式系统甚至是跨云的服务有清晰的了解。它更像是一个现代的系统性能管理,特别为分布式系统而设计。


功能:

skywalking提供了在很多不同的场景下用于观察和监控分布式系统的方式。首先,像传统的方法,skywalking为java,c#,Node.js等提供了自动探针代理.同时,它为Go,C++提供了手工探针。随着本地服务越来越多,需要越来越多的语言,掌控代码的风险也在增加,Skywalking可以使用网状服务探针收集数据,以了解整个分布式系统。

通常,skywalking提供了观察service,service instance,endpoint的能力。

service: 一个服务

Service Instance: 服务的实例(1个服务会启动多个节点)

Endpoint: 一个服务中的其中一个接口


架构图:


快速部署:

1、下载镜像

docker pull elasticsearch:7.5.1

docker pull apache/skywalking-oap-server:6.6.0-es7

docker pull apache/skywalking-ui:6.6.0

注意三个镜像的版本一定要对应,避免出现版本号不一致导致一些其他的问题

2、下载源码包,下面会用到agent

https://archive.apache.org/dist/skywalking/6.6.0/apache-skywalking-apm-6.6.0.tar.gz

3、 启动elasticsearch

docker run -d --name=es7 \

-p 9200:9200 -p 9300:9300 \

-e "discovery.type=single-node" elasticsearch:7.5.1

4、创建持久化目录,并重新启动elasticsearch

mkdir -p /data/elasticsearch

docker cp es7:/usr/share/elasticsearch/data /data/elasticsearch/

docker cp es7:/usr/share/elasticsearch/logs /data/elasticsearch/

docker rm -f es7

docker run -d --name=es7 \

--restart=always \

-p 9200:9200 -p 9300:9300 \

-e "discovery.type=single-node" \

-v /data/elasticsearch/data:/usr/share/elasticsearch/data \

-v /data/elasticsearch/logs:/usr/share/elasticsearch/logs \

elasticsearch:7.5.1

5、安装oap

注意:等待elasticsearch完全启动之后,再启动oap

docker run --name oap --restart always -d \

--restart=always \

-e TZ=Asia/Shanghai \

-p 12800:12800 \

-p 11800:11800 \

--link es7:es7 \

-e SW_STORAGE=elasticsearch \

-e SW_STORAGE_ES_CLUSTER_NODES=es7:9200 \

apache/skywalking-oap-server:6.6.0-es7

说明:这里指定elasticsearch 来存储数据

6、安装ui

docker run -d --name skywalking-ui \

--restart=always \

-e TZ=Asia/Shanghai \

-p 8088:8080 \

--link oap:oap \

-e SW_OAP_ADDRESS=oap:12800 \

apache/skywalking-ui:6.6.0

注意:这里映射的端口为8088,防止端口冲突。

7、制作jar 使用skywalking-agent.jar

找一台安装了jdk1.8和maven的服务器,使用maven构建命令进行打包

mvn clean package


打包好之后,会在target目录,生成jar包,文件名为:spring-boot-demo-0.0.1-SNAPSHOT.jar

启动jar包

原来的启动方式为:

java -jar spring-boot-demo-0.0.1-SNAPSHOT.jar


那么使用skywalking agent,启动命令为:

java -javaagent:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar -Dskywalking.agent.service_name=xxxtest -Dskywalking.collector.backend_service=127.0.0.1:11800 -jar /opt/spring-boot-demo-0.0.1-SNAPSHOT.jar

说明:

-javaagent 指定agent包位置。这里我将apache-skywalking-apm-6.6.0.tar.gz解压到/opt目录了,因此路径为:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar

-Dskywalking.agent.service_name 指定服务名

-Dskywalking.collector.backend_service 指定skywalking oap地址,由于在本机,地址为:127.0.0.1:11800

-jar 指定jar包的路径,这里我直接放到/opt/目录了。

8、访问http://localhost:8088/




本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表