Skywalking8+elasticsearch7链路追踪平台搭建

本文档详细介绍了如何在Linux环境下搭建SkyWalking8与Elasticsearch7的链路追踪平台,包括Java环境配置、Elasticsearch的启动、SkyWalking的安装与配置,以及SkyWalkingAgent在SpringBoot服务中的应用。通过这个系统,可以监控服务性能并追踪请求链路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Skywalking8+elasticsearch7链路追踪平台搭建

环境

JavaJDK11.0.10
skywalking:8.1.0
elasticsearch:7.12.0

安装包下载(所有安装包都包含):链接:https://pan.baidu.com/s/1E7n7HAy_GtH3eou1mxIn7g

提取码:oczp

安装包名:

jdk-11.0.10_linux-x64_bin.tar.gz

elasticsearch-7.12.0-linux-x86_64.tar.gz

apache-skywalking-apm-es7-8.1.0.tar.gz

搭建步骤单个服务为例

第一步,搭建一个 Elasticsearch 服务(默认端口9200)。

第二步,下载SkyWalking 软件包。

第三步,启动SkyWalking OAP 服务(默认端口12800、11800)和SkyWalking UI 服务(默认端口18080)。

第四步,启动系统服务,并配置 SkyWalking Agent。

用户级别环境变量配置

  1. 在linux服务器上新建一个账号,非root账号,配置号用户名密码,把jdk-10.10_linux-x64_bin.tar.gz放到该用户下,进行解压tar -zxvf jdk-10.10_linux-x64_bin.tar.gz,进入目录,使用pwd抓取到当前jdk工作目录
  2. 配置用户级别jdk环境,输入命令vim ~/.bashrc,编辑环境文件,在文件中加入以下命令,保存退出后,使用命令source ~/.bashrc使配置环境变量生效

export  JAVA_HOME=/home/skywalking/jdk-11.0.10

export  JRE_HOME=${JAVA_HOME}/jre

export  PATH=${JAVA_HOME}/bin:$PATH

export  CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

     

 

  1. 使用java -version查看jdk环境是否配置生效

    

 

elasticsearch7服务环境搭建

  1. 下载elasticsearch-7.12.0-linux-x86_64.tar.gz到skywalking用户目录下,进行解压;创建data目录

tar -zxvf elasticsearch-7.2.0-linux-x86_64.tar.gz //解压压缩包

cd elasticsearch-7.2.0 //进入目录

mkdir data //创建data文件夹,保存数据

  1. 修改config/elasticsearch.yml,文件中加上一下命令

cluster.name: apm-application

node.name: node-1

#下面目录为elasticsearch应用目录,后带上logs以及新创建的data目录

path.data: /home/skywalking/elasticsearch-7.12.0/data

path.logs: /home/skywalking/elasticsearch-7.12.0/logs

# ES监听的ip地址

network.host: 0.0.0.0

cluster.initial_master_nodes: ["node-1"]

# 需要开启跨域才能给elasticsearch-head,kibana等连接

http.cors.enabled: true

http.cors.allow-origin: "*"

http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

    

  1. Elasticsearch初始启动会出现报错问题,需要使用root账号登录,进行一些配置项修改;
  2. 针对以下问题,bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
  3. 使用root用户执行命令sysctl -w vm.max_map_count=262144
  4. 针对以下问题,bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

使用root账号登录,vim /etc/security/limits.conf,在文件末尾加上以下命令

skywalking    soft    nofile    65536

skywalking    hard    nofile    65536

     

  1. 在xshell中重新进行客户端链接(切换到其他用户,在切换回来,或者重新打开一个链接窗口)
  2. 使用./bin/elasticsearch -d命令启动elasticsearch,然后访问当前服务器ip:9200查看是否部署成功

     

SkyWalking安装部署

  1. 下载SkyWalking安装包,放到服务器当前用户(skywalking)下,使用tar -zxvf apache-skywalking-apm-es7-8.0.0.tar.gz进行解压,cd apache-skywalking-apm-es7-8.0.0进入目录
  2. 使用vim config/application.yml进行配置编辑,修改storage配置,如下:

selector: ${SW_STORAGE:elasticsearch7}

clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}

     

  1. 启动OAP

$ bin/oapService.sh

SkyWalking OAP started successfully!

  1. 启动SkyWalking UI,因为SkyWalking UI默认使用端口为8080,所以一般需要进行端口修改配置;修改方式如下:vim webapp/webapp.yml,修改port端口为其他端口如18081
  2. # 修改webapp/webapp.yml
  3. server:
  4. port: 18081

     

 

  1. 使用bin/webappService.sh命令启动SkyWalking UI

$ bin/webappService.sh

SkyWalking Web Application started successfully!

  1. 使用ip:18081进行访问UI,如下:

     

SkyWalking Agent探针添加(以我们springboot服务为例)

  1. 把skywalking目录下的agent探针打包复制到微服务上(以综治采集为例),使用以下命令:

tar -zxvf agent.tar.gz ./agent/   (使用tar命令对整个agent文件夹进行打包成agent.tar.gz包)

scp agent.tar.gz 3080@192.168.1.172:/home/3080/(用此命令把agent.tar.gz传输到综治采集的目录下)

  1. 使用tar -zxvf agent.tar.gz进行解压,cd agent进入工作目录
  2. 修改探针默认配置,config/agent.config,修改一下两个参数配置

agent.service_name=gridcenter // gridcenter为微服务名称,在微服务启动时需要加上参数,供skywalkingUI界面上识别

collector.backend_service=192.168.1.137:11800//ip地址为部署skywalking服务器的ip地址,默认端口是11800,不用修改

 

 

  1. 使用命令启动微服务,如下:

nohup java -javaagent:/home/3080/agent/skywalking-agent.jar -Dskywalking.agent.application_code=gridcenter -jar gridcloud-springboot-gridcenter.jar --spring.profiles.active=test --server.port=3080 --gridcloud.nacos.address=192.168.1.174:8848(此为加上参数后的命令,对比下面没加参数之前的命令)

nohup java -jar gridcloud-springboot-gridcenter.jar --spring.profiles.active=test --server.port=3080 --gridcloud.nacos.address=192.168.1.174:8848

在启动命令上,添加了探针jar包,以及微服务加上了服务名,加上参数如下:

-javaagent:/home/3080/agent/skywalking-agent.jar -Dskywalking.agent.application_code=gridcenter

 

  1. 整套系统部署完成,以下是界面展示,在追踪界面可以看到每个请求的链路响应时间,方便定位到性能问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值