skywalking 实现收集基于虚拟机环境 dubbo微服务链路跟踪案例
安装skywalking java agent
下载链接:https://archive.apache.org/dist/skywalking/java-agent/
dubbo-provider和dubbo-client节点都安装并配置skywalking java agent
dubbo-provider安装配置skywalking java agent
[root@server1 local]# tar xf apache-skywalking-java-agent-8.8.0.tgz [root@server1 local]# cd skywalking-agent/ [root@server1 skywalking-agent]# cd config/ [root@server1 config]# vim agent.config # The agent namespace agent.namespace=${SW_AGENT_NAMESPACE:java} #自定义namespace,类似于项目名称 # The service name in UI agent.service_name=${SW_AGENT_NAME:dubbo} #自定义service 名称,类似于具体某个微服务的服务名称 # Backend service addresses. collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.100.90:11800} #指定skywalking地址:gRPC数据端口
dubbo-client节点重复以上操作,修改agent.service_name为dubbo1,其他配置与duboo-server保持一致
安装zookeeper
官网下载地址:
https://zookeeper.apache.org/releases.html
安装JDK1.8环境
[root@zookeeper1 ~]# java -version java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
部署zookeeper单实例
[root@zookeeper1 bin]# vim /etc/profile export ZOOKEEPER_HOME=/usr/local/zookeeper-3.5.10 export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH [root@zookeeper1 local]# tar xf apache-zookeeper-3.5.10-bin.tar.gz [root@zookeeper1 local]# mv apache-zookeeper-3.5.10-bin zookeeper-3.5.10 [root@zookeeper1 local]# cd zookeeper-3.5.10/ [root@zookeeper1 zookeeper-3.5.10]# mkdir data [root@zookeeper1 bin]# cd ../conf/ [root@zookeeper1 conf]# cp zoo_sample.cfg zoo.cfg [root@zookeeper1 conf]# vim zoo.cfg dataDir=/usr/local/zookeeper-3.5.10/data [root@zookeeper1 bin]# zkServer.sh start ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper-3.5.10/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [root@zookeeper1 bin]# lsof -i:2181 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 3100 root 52u IPv6 31864 0t0 TCP *:eforward (LISTEN)
安装dubbo微服务
安装dubbo-provider
配置java8环境
[root@server1 jdk1.8.0_191]# java -version java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
上传dubbo-provider到服务器并修改配置连接zookeeper
[root@server1 local]# mkdir dubbo-provider [root@server1 dubbo-provider]# vim config.properties dubbo.registry=zookeeper://192.168.100.101:2181 dubbo.port=20880
启动dubbo-provider,并指定skywalking java agent链路追踪
[root@server1 dubbo-provider]# java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -jar dubbo-server.jar
前台启动无误后,放入后台启动
[root@server1 dubbo-provider]# cat start.sh #!/bin/bash nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -jar /usr/local/dubbo-provider/dubbo-server.jar >> dubbo-provider.log 2>&1 &
[root@server1 dubbo-provider]# sh start.sh [root@server1 dubbo-provider]# ll total 13980 -rw-r--r-- 1 root root 341 Feb 20 21:26 dubbo-provider.log -rw-r--r-- 1 root root 14301450 Feb 20 21:09 dubbo-server.jar -rwxr-xr-x 1 root root 160 Feb 20 21:26 start.sh [root@server1 dubbo-provider]# tail -f dubbo-provider.log
客户端验证zookeeper的dubbo-provider服务注册信息
登录skywalking验证
安装dubbo-client
配置java8环境
[root@server2 jdk1.8.0_191]# java -version java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
上传dubbo-client.jar,并配置连接zookeeper。
[root@server2 local]# mkdir dubbo-client [root@server2 dubbo-client]# vim config.properties zookeeper3.myserver.svc.cluster.local:2181 dubbo.registry=zookeeper://192.168.100.101:2181
前台启动dubbo-client并使用skywalking agent 链路追踪测试
[root@server2 dubbo-client]# java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -jar dubbo-client.jar
启动成功后,创建启动脚本
[root@server2 dubbo-client]# vim start.sh #!/bin/bash nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -jar /usr/local/dubbo-client/dubbo-client.jar >> dubbo-client.log 2>&1 & [root@server2 dubbo-client]# sh start.sh [root@server2 dubbo-client]# tail -f dubbo-client.log
客户端验证zookeeper的dubbo-provider服务注册信息
访问dubbo-client,消息传参给dubbo-client,由dubbo-client再发送给dubbo-provider服务端
验证client消息
验证provider 服务端消息
登录skywalking验证provider和client数据
本文来自博客园,作者:PunchLinux,转载请注明原文链接:https://www.cnblogs.com/punchlinux/p/17198379.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示