Zipkin组成
Zipkin的基础架构,他由4个核心组件构成:分别是Collector、Storage、RESTful API、WebUI
-
Collector:收集器组件,它主要用于处理从外部系统发送过来的跟踪信息,将这些信息转换为 Zipkin 内部处理的 Span 格式,以支持后续的存储、分析、展示等功能。
-
Storage:存储组件,它主要对处理收集器接收到的跟踪信息,默认会将这些信息存储在内存中, 我们也可以修改此存储策略,通过使用其他存储组件将跟踪信息存储到数据库中。
-
RESTful API:API 组件,它主要用来提供外部访问接口。比如给客户端展示跟踪信息,或是外接 系统访问以实现监控等。
-
Web UI:UI 组件,基于 API 组件实现的上层应用。通过 UI 组件用户可以方便而有直观地查询和 分析跟踪信息。
Zipkin 分为两端,一个是 Zipkin服务端,一个是 Zipkin 客户端,客户端也就是微服务的应用(后面会讲如何集成客户端)。
Zipkin安装
我这里没有选择编译方式,我这里直接下载了可运行的jar包(zipkin-server-2.23.18-exec.jar)
部署
将上面的jar文件添加到服务器的/usr/zipkin文件夹内,这样便是部署好了
创建启动脚本(start.sh)
#!/bin/sh
export LANG="en_US.UTF-8"
cd /var/linktracking/zipkin
runMessage=`ps aux | grep \`cat pidfile.txt\``
projectStartCommand="/tools/jdk1.8.0_271/bin/java -jar zipkin-server-2.23.18-exec.jar"
if [[ $runMessage == *$projectStartCommand* ]]
then
echo "Application has starting ,restarting..."
kill -9 `cat pidfile.txt`
nohup /tools/jdk1.8.0_271/bin/java -jar zipkin-server-2.23.18-exec.jar -java.tmp.dir=/var/linktracking/zipkin/temp >/dev/null >zipkin.log 2>&1 & echo $! > pidfile.txt
else
echo "Application has stopped ,starting..."
nohup /tools/jdk1.8.0_271/bin/java -jar zipkin-server-2.23.18-exec.jar -java.tmp.dir=/var/linktracking/zipkin/temp >/dev/null >zipkin.log 2>&1 & echo $! > pidfile.txt
fi
创建停用脚本(stop.sh)
#!/bin/sh
cd /var/linktracking/zipkin
PID=$(cat pidfile.txt)
if [ ${PID} ];
then
echo 'Application is stpping...'
echo kill $PID DONE
kill $PID
else
echo 'Application is already stopped...'
fi
调整脚本权限
chmod 777 start.sh
chmod 777 stop.sh
这里变配置完成了,执行启动命令 ./start.sh 便可启动zipkin服务端!
启动后访问地址:http://192.168.1.168:9411/ 界面如下图:
到这里便完成了zipkin服务端的搭建,感谢朋友们的支持!!
欢迎大家关注我的 工 种 昊 《coder练习生》