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

这篇具有很好参考价值的文章主要介绍了SkyWalking链路追踪-搭建-spring-boot-cloud-单机环境 之《10 分钟快速搭建 SkyWalking 服务》。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先了解一下单机环境

SkyWalking链路追踪-搭建-spring-boot-cloud-单机环境 之《10 分钟快速搭建 SkyWalking 服务》,SkyWalking链路追踪,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 地址和端口进行通信。文章来源地址https://www.toymoban.com/news/detail-609024.html

到了这里,关于SkyWalking链路追踪-搭建-spring-boot-cloud-单机环境 之《10 分钟快速搭建 SkyWalking 服务》的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 专为云原生、微服务架构而设计的链路追踪工具 【SkyWalking介绍及搭建】

    服务链路追踪已成为不可或缺的一环 skywalking是一个优秀的 国产 开源框架,2015年由个人 吴晟 (华为开发者)开源 , 2017年加入apache 孵化器。 skywalking是分布式系统的应用 程序性能监视工具 ,专为微服务、云原生架构和基于容器化技术 (docker、K8s、Mesos)架构而设计,它是

    2023年04月08日
    浏览(82)
  • 分布式链路追踪专栏,Spring Cloud Sleuth:分布式链路追踪之通信模型设计

    Spring Cloud Sleuth  赋予分布式跟踪的  Spring Boot  自动配置的一键解决方案。 Spring Cloud Sleuth  是基于  Brave  的封装,也是很多公司采用开源加自研的最佳解决方案。 那么从作为架构师或者技术专家如何去借鉴优秀框架的设计理念和思想,本次  Chat  将开启作者既分布式链路

    2024年01月19日
    浏览(64)
  • Spring Cloud Gateway日志级别链路追踪设计

    ​ 为了配合日志分析系统ELK(ElasticSearch,Logstash,Kibana)方便解析日志文件,需要对日志文件的输出格式进行JSON格式化,我这里使用的日志工具是logback(幸运的躲过了log4j的漏洞)+logstash-encoder包进行的封装的一个日志插件,该插件实现了日志JSON格式化,适配了多种中间件的链

    2024年02月11日
    浏览(41)
  • 十六、Spring Cloud Sleuth 分布式请求链路追踪

    1、为什么出出现这个技术?需要解决哪些问题 2、是什么? 官网: https://github.com/spring-cloud/spring-cloud-sleuth spring-cloud-sleuth 提供了一套完整的分布式链路追踪的解决方案 ,并且兼容支持了 zipkin (展现) 3、解决 1、下载运行zipkin 下载jar包到本地 https://repo1.maven.org/maven2/io/zipkin/

    2024年02月12日
    浏览(45)
  • Spring Cloud【分组消费、为什么需要链路追踪 、Spring Cloud Sleuth是什么、微服务集成Sleuth实现链路打标】(十二)

      目录 消息驱动_分组消费 分布式请求链路追踪_为什么需要链路追踪 

    2024年02月14日
    浏览(50)
  • Spring boot结合SkyWalking-Trace工具类实现日志打印请求链路traceid

    随着业务的复杂化、解耦化,运维人员和开发人员需要对请求链路跟踪来快速发现和定位问题,基于应用已经集成了SkyWalking的前提下,如何通过获取SkyWalking生成的统一traceId并加入打印日志中,方便开发人员能够根据链路ID快速搜索单个请求的全链路日志呢? trace-id的生成:

    2024年02月15日
    浏览(47)
  • 链路追踪Skywalking快速入门

    2023年09月08日
    浏览(44)
  • 链路追踪Skywalking应用实战

    2023年09月05日
    浏览(44)
  • Skywalking链路追踪

    APM(Application Performance Monitoring)系统是一种用于监控和管理应用程序性能的工具。它可以帮助开发人员和运维团队实时监控应用程序的性能指标、识别潜在的性能问题,并提供性能优化建议。 APM系统可以帮助用户及时发现和解决应用程序的性能问题,提升用户体验和系统稳

    2024年01月18日
    浏览(41)
  • skywalking全链路追踪

    在上一篇文章skywalking安装教程中我们介绍了skywalking的作用以及如何将其集成到我们的微服务项目中。本篇文章我们介绍在微服务架构中,如何使用skywalking对一次客户端请求进行全链路追踪。 skywalking的介绍分多篇文章: 微服务项目集成skywalking skywalking全链路追踪 何为全链路

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包