SpringCloud微服务实战——搭建企业级开发框架(三十三):整合Skywalking实现链路追踪

举报
全栈程序猿 发表于 2023/07/19 10:09:29 2023/07/19
【摘要】   Skywalking是由国内开源爱好者吴晟(原OneAPM工程师)开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路,支持非侵入式埋点。是一款基于分布式跟踪的应用程序性能监控系统。另外社区还发展出了一个叫OpenTracing的组织,旨在推进调用链监控的一些规范和标准工作。下载Skywalking,下载地址:https://skywalki...

  Skywalking是由国内开源爱好者吴晟(原OneAPM工程师)开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路,支持非侵入式埋点。是一款基于分布式跟踪的应用程序性能监控系统。另外社区还发展出了一个叫OpenTracing的组织,旨在推进调用链监控的一些规范和标准工作。

  1. 下载Skywalking,下载地址:https://skywalking.apache.org/downloads/#download-the-latest-versions ,根据需求选择发布的版本,这里我们选择最新发布版v8.4.0 for H2/MySQL/TiDB/InfluxDB/ElasticSearch 7

v8.4.0 for H2/MySQL/TiDB/InfluxDB/ElasticSearch 7

  1. 下载Elasticsearch,下载地址:https://www.elastic.co/cn/downloads/elasticsearch ,因为上面我们选择下载的Skywalking用到的是ElasticSearch 7,所以这里下载Elasticsearch 7.12.0

Elasticsearch 7.12.0

  1. 将下载后的apache-skywalking-apm-es7-8.4.0.tar.gz和elasticsearch-7.12.0-linux-x86_64.tar.gz上传到Linux服务器并分别解压
tar -zxvf apache-skywalking-apm-es7-8.4.0.tar.gz

tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz
  1. 修改/elasticsearch-7.12.0/config下的elasticsearch.yml
# 修改
clusteri.name: CollectorDBCluster
node.name: CollectorDBCluster-1
# 这里设置为实际的ip地址
network.host: 127.0.0.1
http.port: 9200
cluster.initial_master_nodes: ["CollectorDBCluster-1"]
  1. 为了系统安全考虑,Elasticsearch默认不能使用root用户启动,这里新建一个es用户用于启动Elasticsearch
#创建es用户组及es用户
groupadd es

useradd es -g es

# 修改登录用户的密码,这里设置为Skywalking
passwd es

#将elasticsearch-7.12.0文件夹权限赋予es用户
chown -R es:es elasticsearch-7.12.0

#切换到es用户
su es

#进入到elasticsearch-7.12.0/bin目录,执行启动命令, 后面-d为后台启动
./elasticsearch -d
  1. 访问http://127.0.0.1:9200即可查看elasticsearch是否启动成功
{
  "name" : "CollectorDBCluster-1",
  "cluster_name" : "CollectorDBCluster",
  "cluster_uuid" : "J2LyQWfdTeeBN0dcdWpgqw",
  "version" : {
    "number" : "7.12.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
    "build_date" : "2021-03-18T06:17:15.410153305Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
  1. 修改apache-skywalking-apm-bin-es7\config\application.yml
storage:
  # 默认存储是h2,这里改为elasticsearch7
  selector: ${SW_STORAGE:elasticsearch7}
  


  elasticsearch7:
    nameSpace: ${SW_NAMESPACE:"CollectorDBCluster"}
    #这里localhost改为elasticsearch7的安装地址
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:127.0.0.1:9200}
  1. 切换到apache-skywalking-apm-bin-es7\bin目录,并执行启动命令
./oapService.sh

./webappService.sh

./startup.sh
  1. 访问http://127.0.0.1:8080/查看是否启动成功

skywalking

  1. Skywalking搭建好之后,我们这里说明在开发环境中,把agent通过IDEA配置到每个微服务中,配置-Dskywalking.agent.service_name为微服务的名称

image.png
image.png

-javaagent:D:\DevTools\Skywalking\agent\skywalking-agent.jar -Dskywalking.agent.service_name=gitegg-gateway -Dskywalking.collector.backend_service=127.0.0.1:11800
  1. 配置好之后启动微服务,打开http://127.0.0.1:8080 ,点击拓扑图可以看到整个微服务的关系

拓扑图
追踪

GitEgg-Cloud是一款基于SpringCloud整合搭建的企业级微服务应用开发框架,开源项目地址:

Gitee: https://gitee.com/wmz1930/GitEgg

GitHub: https://github.com/wmz1930/GitEgg

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。