SkyWalking链路追踪-搭建-spring-boot-cloud-单机环境 之《10 分钟快速搭建 SkyWalking 服务》

首先了解一下单机环境

  • 第一步,搭建一个 Elasticsearch 服务。
  • 第二步,下载 SkyWalking 软件包。
  • 第三步,搭建一个 SkyWalking OAP 服务。
  • 第四步,启动一个 Spring Boot 应用,并配置 SkyWalking Agent。
  • 第五步,搭建一个 SkyWalking UI 服务。

开始搭建

准备工作,准备一个docker网络组,网络组的名字为dev。

1、先搭建一个Elasticsearch服务

按照我之前准备好的文档来就可以了。

配置Linux服务器华为云耀云服务器之docker中安装kibana与Es (虚拟机一样适用)_docker es kibana_艺舟先生的博客-CSDN博客

也可以直接使用我提供的代码

复制代码
docker run \
  --name elasticsearch \
  --network=dev \
  -p 9200:9200 \
  -p 9300:9300 \
  -e "discovery.type=single-node" \
  -e ES_JAVA_OPTS="-Xms84m -Xmx512m" \
  -d elasticsearch:7.12.1

代码解释:

  • docker run:运行一个 Docker 容器的命令。

  • --name elasticsearch:设置容器的名称为 "elasticsearch"。

  • --network=dev:将容器连接到 "dev" 网络,使其能够与该网络上的其他容器进行通信。

  • -p 9200:9200-p 9300:9300:这些选项将容器的端口映射到主机的端口。本例中,容器的端口 92009300 可以通过主机上相应的端口进行访问。

  • -e "discovery.type=single-node":这个选项设置 Elasticsearch 集群的发现类型为 "single-node"。该配置用于在开发或测试环境中运行单个 Elasticsearch 节点。

  • -e ES_JAVA_OPTS="-Xms84m -Xmx512m":这个选项设置 Elasticsearch 的 Java 堆内存分配。本例中,它配置为分配最小为 84 MB (-Xms84m),最大为 512 MB (-Xmx512m) 的内存。

  • -d elasticsearch:7.12.1:这个选项指定了用于容器的 Docker 镜像。本例中使用的是 Elasticsearch 版本 7.12.1 的镜像。

总的来说,这段代码运行了一个名为 "elasticsearch" 的 Docker 容器,将其连接到 "dev" 网络。Elasticsearch 可以通过容器的 9200 和 9300 端口访问,并配置为使用单节点发现类型,并设定特定的 Java 堆内存。

我在docker上安装的过程中出现了报错,可以使用下面链接作为参考。

java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config/jvm.options es启动出错(解决)_艺舟先生的博客-CSDN博客

2、第二步,下载 SkyWalking 软件包

(1)从docker上面拉取适合自己es版本的SkyWalking

我这里是es:7.17.0版本的所以拉取根据SkyWalking的文档,SkyWalking 8.0.0及更高版本支持Elasticsearch 7.x系列。由于使用的是Elasticsearch 7.17.0版本,您可以安装SkyWalking 8.0.0或更高版本。

这里提供的代码是拉取最新版本的。

复制代码
docker pull apache/skywalking-oap-server:9.1.0

(2)编写启动sh文件

复制代码
docker run \
--name oap \
--network=dev \
-e TZ=Asia/Shanghai \
-p 12800:12800 \
-p 11800:11800 \
--link elasticsearch:elasticsearch \
-e SW_STORAGE=elasticsearch \
-e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \
apache/skywalking-oap-server:9.1.0
  • --name oap:设置容器的名称为 "oap"。

  • --network=dev:将容器连接到 "dev" 网络,使其能够与该网络上的其他容器进行通信。

  • -e TZ=Asia/Shanghai:通过设置环境变量 "TZ",将容器的时区设置为 Asia/Shanghai。

  • -p 12800:12800-p 11800:11800:这些选项将容器的端口映射到主机的端口。本例中,容器的端口 1280011800 可以通过主机上相应的端口进行访问。

  • --link elasticsearch:elasticsearch:通过 --link 选项,将容器与名为 "elasticsearch" 的另一个容器进行链接。这将允许容器 oap 可以与 elasticsearch 容器进行通信。

  • -e SW_STORAGE=elasticsearch:通过设置环境变量 "SW_STORAGE",将 SkyWalking OAP Server 的存储设置为 Elasticsearch。

  • -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200:通过设置环境变量 "SW_STORAGE_ES_CLUSTER_NODES",指定了 Elasticsearch 存储的集群节点。这里设置为 "elasticsearch:9200",表示连接到运行在 elasticsearch 容器上的 Elasticsearch 的 9200 端口。

  • apache/skywalking-oap-server:9.1.0:这部分指定了用于容器的 Docker 镜像。在此例中,使用的是 Apache SkyWalking OAP Server 版本 9.1.0 的镜像。

这段代码运行了一个名为 "oap" 的 Docker 容器,将其连接到 "dev" 网络。容器的时区设置为 Asia/Shanghai,通过端口映射,使得容器的 12800 和 11800 端口可以通过主机上的相应端口进行访问。容器与 elasticsearch 容器链接,指定 SkyWalking OAP Server 使用 Elasticsearch 作为存储,并将其连接到运行在 elasticsearch 容器上的 Elasticsearch。

(3)安装管理页面

复制代码
docker run -d --name skywalking-ui \
--restart=always \
--network=dev \
-e TZ=Asia/Shanghai \
-p 8081:8080 \
--link oap:oap \
-e SW_OAP_ADDRESS=http://oap:12800 \
apache/skywalking-ui:9.1.0
  • -d:该选项表示在后台运行容器。

  • --name skywalking-ui:设置容器的名称为 "skywalking-ui"。

  • --restart=always:设置容器在启动时自动重新启动。

  • --network=dev:将容器连接到 "dev" 网络,使其能够与该网络上的其他容器进行通信。

  • -e TZ=Asia/Shanghai:通过设置环境变量 "TZ",将容器的时区设置为 Asia/Shanghai。

  • -p 8081:8080:这个选项将容器的端口映射到主机的端口。本例中,容器的端口 8080 可以通过主机上的 8081 端口进行访问。

  • --link oap:oap:通过 --link 选项,将容器与名为 "oap" 的另一个容器进行链接。这将允许容器 skywalking-ui 可以与 oap 容器进行通信。

  • -e SW_OAP_ADDRESS=http://oap:12800:通过设置环境变量 "SW_OAP_ADDRESS",指定了 SkyWalking-UI 连接到的 SkyWalking OAP Server 的地址。这里设置为 http://oap:12800,表示连接到运行在 oap 容器上的 SkyWalking OAP Server,并使用端口 12800 进行通信。

  • apache/skywalking-ui:9.1.0:这部分指定了用于容器的 Docker 镜像。在此例中,使用的是 Apache SkyWalking-UI 版本 9.1.0 的镜像。

这段代码运行了一个名为 "skywalking-ui" 的 Docker 容器,将其连接到 "dev" 网络。容器在启动时会自动重新启动,并通过端口映射,使得容器的 8080 端口可以通过主机上的 8081 端口进行访问。容器与 oap 容器链接,指定 SkyWalking-UI 使用运行在 oap 容器上的 SkyWalking OAP Server,并通过 http://oap:12800 地址和端口进行通信。

相关推荐
dgvri2 天前
Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking
spring boot·后端·skywalking
rOuN STAT3 天前
Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking
spring boot·后端·skywalking
危笑ioi3 天前
helm部署skywalking链路追踪 java
java·开发语言·skywalking
MmeD UCIZ4 天前
Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking
spring boot·后端·skywalking
专注API从业者4 天前
淘宝 API 调用链路追踪实战:基于 SkyWalking/Pinpoint 的全链路监控搭建
大数据·开发语言·数据库·skywalking
MMMMMMMMMMemory5 天前
记录skywalking预警如何处理401问题
skywalking
SoulRoar.5 天前
Armbian离线安装ES+SkyWalking并注册系统服务
大数据·elasticsearch·skywalking
@土豆6 天前
Java JVM参数环境变量详解及SkyWalking Agent集成技术文档
java·jvm·skywalking
NCIN EXPE6 天前
SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪
spring boot·后端·skywalking
enjoy编程6 天前
SkyWalking 分布式追踪、APM学习-I
skywalking