Tars- zipkin环境本地搭建

该图片引用于它处:https://blog.csdn.net/u012394095/article/details/94389644
该图片引用于它处https://blog.csdn.net/u012394095/article/details/94389644

1.      下载opentracing-cpp 客户端调用的代码,网址为:opentraceing-cpp。注意要下稳定tag版本的代码。下载后,编译安装,生成特定的头文件和库文件到特定目录。

2.      下载 zipkin-cpp-opentracing 客户端调用的代码,网址为:zipkin-cpp-opentracin,下载后,编译安装。生成特定的头文件和库文件到特定目录。

3.      当客户端安装完成以后,进行zipkin服务端的安装,在linux zipkin-server的shell下执行 curl -sSL https://zipkin.io/quickstart.sh | bash -s, 获得可执行的jar包。Server安装完成后访问网址http://localhost:9411/zipkin/可见web页面。

  • 直接执行 :java -jar zipkin.jar 。默认以内存存储span。inMemoryStorage组件打包在zipkin的核心库中。 对于现实的工作负载,它既不持久存储,也不能被链路分析,在真实的生产环境中不能被使用。 其目的是进行测试,例如在不需要任何数据库的情况下在笔记本电脑上启动服务器。

  • 服务器安装ES后,把客户端上报的span数据信息持久化到ES当中。执行STORAGE_TYPE=elasticsearch ES_HOSTS=localhost:9200 nohup java -jar zipkin.jar &可在真实的生产环境下使用。

  • 客户端上报的span数据持久化到mysql当中。首先需要创建一个zipkin 数据库。然后在该数据库当中执行数据表的初始化语句,初始化语句在如下网址:https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql ,创建 Zipkin初始化文件 zipkin_init.sql 包含上述网址的初始化语句后,在mysql中执行,source 绝对路径/ zipkin_init.sql。创建了 zipkin_annotations, zipkin_dependencies, zipkin_spans 三张数据表, mysql 初始化完成。执行STORAGE_TYPE=mysql MYSQL_USER=tars MYSQL_PASS=tars2015 MYSQL_HOST=127.0.0.1 MYSQL_TCP_PORT= 3306 nohup java -jar zipkin.jar &可在真实的生产环境下使用。

4.      为解决持久化在数据库中的span生成调用链的问题,需要下载相应的zipkin插件zipkin_dependencies(zipkin_dependencies)。可以在linux zipkin_dependencies的安装目录下的shell执行curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.dependencies:zipkin-dependencies:LATEST zipkin-dependencies.jar获取可执行jar包。

     1)ES 持久化存储时分析调用链,执行 STORAGE_TYPE=elasticsearch ES_HOSTS=localhost:9200 java -jar zipkin-dependencies.jar &

      2)MYSQL持久化存储时分析调用链,执行 STORAGE_TYPE=mysql MYSQL_USER=tars MYSQL_PASS=tars2015 MYSQL_HOST=127.0.0.1 java -jar zipkin-dependencies.jar &

5.      tarscpp配置,最新的tarscpp框架集成了zipkin调用的代码,需要进行一些对应的配置方可开启opentracing。Tars调用链使用了opentracing和zipkin-opentracing库,由于zipkin-opentracing库使用了libcurl库的功能,需要额外安装libcurl, 另外,编译器需要支持c++11;下载安装完opentracing-cpp和zipkin-cpp-opentracing后,可以进行框架的编译。具体为:

  •       1)编译及安装
         tars调用链功能通过编译选项_USE_OPENTRACKING进行控制,默认情况下为关闭。打开方式:在shell中执行export _USE_OPENTRACKING=1,或者在/etc/profile中开启调用链监控,在最外层framework的CMakeList.txt中增加链接的库文件,具体如下:link_libraries( opentracing zipkin_opentracing zipkin curl)。然后进行编译。框架编译完后,修改servant/makefile/makefile.tars文件,在前面增加一行:_USE_OPENTRACKING=1表示框架打开了调用链开关。另外,opentracking, curl, zipkin_opentracing需要手动修改到正确的路径上来(目前默认路径为/usr/local/lib)。然后使用make install安装tars框架。客户端调用的CMakeList.txt中也要增加链接的库文件,具体如下:link_libraries( opentracing zipkin_opentracing zipkin curl)。

  •       2)配置
         使用tars调用链功能时需要在程序配置文件conf的client域中指定zipkin的地址,示例配置如下所示,其中collector_host和collector_port为必选(如果没有配置的话,调用链功能将无法使用),sample_rate可选(默认为1.0,区间为0.0~1.0,用于指定调用链信息上报zipkin collector的rate)。默认http收集客户端的数据。

<tars>
    <application>
        …
        <client>
            …
            collector_host=127.0.0.1
            collector_port=9411
            sample_rate=1.0
        </client>
    </application>
</tars>

6. Kaffka收集消息,服务端配置:zipkin的启动时可以通过传参数的形式配置kafka和ES启动命令如下:

例如:
//生产者:bin/kafka-console-producer.sh --broker-list 10.22.0.130:9092 --topic test
//消费者:bin/kafka-console-consumer.sh --zookeeper 10.22.0.130:2181 --topic test --from-beginning
Java -DKAFKA_ZOOKEEPER=localhost:2181 -DSTORAGE_TYPE = elasticsearch-DES_HOSTS = http://localhost:9200 -jar zipkin.jar (消费者端口)

当前的所选取zipkin-cpp-opentracing客户端版本不支持kafka,要编写增加支持kafka collector的客户端,向kafka消息队列(SERVERIP:9092)生产者端口中发送消息,然后在http://SERVERIP:9411页面查看zipkin的链路跟踪信息

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值