springboot集成skywalking实现微服务链路追踪

springboot集成skywalking实现微服务链路追踪,第1张

springboot集成skywalking实现微服务链路追踪

springboot集成skywalking实现微服务链路追踪
  • 安装skywalking-es7的版本
    • 1、试错之路-安装skywalking-es7-6.6.0
    • 2、最终选择skywalking-es7-8.7.0
    • 3、skywalking-es7-8.7.0安装步骤
      • 3.1、解压安装包
      • 3.2、更改application.yml配置
      • 3.3、启动skywalking主程序
  • 安装elasticsearch7
    • 1、解压文件并创建es用户
    • 2、设置max_map_count大小
    • 3、设置es用户能打开的文件数和创建进程数
    • 4、更改elasticsearch配置
    • 5、启动成功后返回页面
  • 指定agent探针启动微服务
    • 1、配置SkyWalking Agent
    • 2、Java -jar启动
    • 3、设置排除的url路径
    • 4、多台服务器注册到同一个collector

安装skywalking-es7的版本

由于公司业务开发涉及的微服务链路比较长,微服务之间调用在排错及定位上比较麻烦。因此想引入apm开源框架skywalking实现微服务之间接口全链路调用以及接口耗时的统计。

1、试错之路-安装skywalking-es7-6.6.0

楼主在刚开始采用skywalking-es7-6.6.0+es7.15.2集成,最后发现在进入skywalking的主页是,调了一个graphql的接口,一直包500,进入skywalking的wabapp.log查看日志时,发现是Skywalking-Collector追踪信息收集器的服务没起来,一直报错cannot connect to 127.0.0.1:12800。

2、最终选择skywalking-es7-8.7.0

因此就采用了apache-skywalking-apm-es7-8.7.0版本,最终完成了apm的集成工作,skywalking的下载地址

3、skywalking-es7-8.7.0安装步骤 3.1、解压安装包

安装包下载完成后,解压安装包,安装文件夹如下:

3.2、更改application.yml配置

主要是将storage.selector:改为elasticsearch7。注意不要使用elasticsearch,否则再启动服务后会报elasticsearch的jar包冲突的错。
具体错误提示码为:java.lang.NoSuchMethodError: org.elasticsearch.client.RestHighLevelClient.ping when use elasticsearch7。

将elasticsearch的nameSpace改为es7的cluster_name的名字,将clusterNodes改为安装es7的服务地址和端口

es7启动后,输入localhost:9200出来一下json串信息说明es安装成功

3.3、启动skywalking主程序

在bin目录下执行sh start.sh命令就会启动skywalking主程序,输入localhost:8080,启动后的主页如下:

安装elasticsearch7 1、解压文件并创建es用户

elasticsearch下载地址,下载完成后解压文件夹,在bin目录下./elasticsearch -d后台启动es。不能采用root账号启动,需要创建es用户。

#创建es用户组
groupadd es
#创建es用户并指定密码
useradd es -g es -p es
#将elasticsearch7所在的目录授权给es用户
chown -R es:es /home/es/elasticsearch-7.15.2
#切换es用户
su es

2、设置max_map_count大小

启动es后会发现提示vm.max_map_count太小了,需要重新设定大小

vim /etc/sysctl.conf 
#指定内存大小
vm.max_map_count = 262144
#查看设置状态
sysctl -p
3、设置es用户能打开的文件数和创建进程数

需要给es用户设置 一个进程最多能打开的的文件数和最多能创建的进程数

vim /etc/security/limits.conf
#设置es用户能打开的文件数和创建的进程数
es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096
4、更改elasticsearch配置

在bin目录下的elasticsearch.yml文件中,指定logs和datas生成目录、host主机和集群初始加载主节点信息

cluster.name: my-application 
node.name: node-1
path.data: /home/es/elasticsearch-7.15.2/data
path.logs: /home/es/elasticsearch-7.15.2/logs
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_node: ["node-1"]
5、启动成功后返回页面

启动成功后,输入localhost:9200,返回页面为

指定agent探针启动微服务 1、配置SkyWalking Agent

配置agent的参数,具体参照官网agent参数配置

-javaagent:/path/to/skywalking-agent.jar=[option1]=[value1],[option2]=[value2]
#设置探针code和日志级别
-javaagent:/home/skywalking/skywalking-agent.jar=agent.application_code=31200,logging.level=debug
# 配置Agent名字,一般可以在启动微服务时指定探针的名称
export SW_AGENT_NAME=demo-application
# 配置Collector地址
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=localhost:11800
# 配置链路的最大Span数量,默认数为300
export SW_AGENT_SPAN_LIMIT=2000
# 配置SkyWalking Agent的jar包路径
export JAVA_AGENT=-javaagent:/home/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar
2、Java -jar启动

以启动demo-service为例来说明具体参数名称
agent.service_name=demo-service为微服务启动后的探针名

nohup java -javaagent:/home/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar=agent.service_name=demo-service -Xmx512m -Xms512m -jar projectapp.jar >demoservice.log 2>&1 &
3、设置排除的url路径

将agent中的 /agent/optional-plugins/apm-trace-ignore-plugin-8.74.0.jar插件cpoy到 plugins目录中,对应的shell命令为:

cp optional-plugins/apm-trace-ignore-plugin-8.74.0.jar plugins

然后在启动服务时需要指定trace.ignore_path=/exclude ,具体示例如下

nohup java -javaagent:/home/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar=agent.service_name=demo-service,collector.backend_service=192.168.0.2:11800,trace.ignore_path=/exclude -Xmx512m -Xms512m -jar projectapp.jar >demoservice.log 2>&1 &
4、多台服务器注册到同一个collector

如果业务涉及的微服务较多,服务需要部署在多个服务器,则需要将skywalking包的agent包拷贝到其他服务器,然后在启动服务时需要指定collector.backend_service的服务器ip和端口。

nohup java -javaagent:/home/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar=agent.service_name=demo-service,collector.backend_service=192.168.0.2:11800 -Xmx512m -Xms512m -jar projectapp.jar >demoservice.log 2>&1 &

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5572814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存