龙空技术网

分布式调用链跟踪工具Jaeger?两分钟极速体验

程序员欣宸 3271

前言:

现在朋友们对“ubuntu时间戳转换工具”大约比较重视,同学们都想要学习一些“ubuntu时间戳转换工具”的相关内容。那么小编也在网摘上汇集了一些关于“ubuntu时间戳转换工具””的相关内容,希望看官们能喜欢,咱们一起来学习一下吧!

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):关于Jaeger开发系列(java版)本文属于《Jaeger开发系列》,是第一篇,该系列是欣宸原创,旨在通过实战演练与Java程序员一起熟练掌握Jaeger相关的技术,使之在分布式系统中发挥巨作用;全系列由浅入深、从基本功能到深度定制都会涉及,希望这个系列能伴随您一同成长,为您提供一些及时的参考;本篇概览作为《Jaeger开发系列》的开篇,咱们先花一分钟了解Jaeger的基本概念,再用三十秒时间完成部署,然后三十秒体验基本功能,以最轻松的姿势和心情开启Java程序员的Jaeger之旅;以下是我这里执行本篇实战的环境和软件:电脑:MacBook Pro,macOS Big Sur (11.5.2)—您也可以使用Linux,如Ubuntu或者CentOSDocker:20.10.7JDK:8u301接下来先从Jaeger的基本概念开始吧;关于JaegerJaeger是一套开源的分布式调用链跟踪方案,由Uber创建,后来捐赠给CNCF(云原生计算基金会),官网地址:Jaeger的后端、Web端、本地库等都遵守了OpenTracing standard在OpenTracing标准中,一个工作的逻辑单元被称为span,它有自己的名称、开始时间、时长、标签等特性,如下图:下面是官方给出的Jaeger架构图(这是没有使用kafka做缓冲的版本),最上层一行表明Jaeger支持的语言类型,可见应用使用了SDK后,业务的span被送到jaeger-agent(通过UDP协议),然后被推送到jaeger-collector,数据被jaeger-collector写入数据库(DB),这样,用户通过浏览器访问jaeger-query,就能看到详细的调用链追踪结果了,另外,红色虚线是控制信号(例如采样相关的参数):关于本次体验今天的体验环境由以下内容构成,有个名为jaeger-service-provider的web应用,其web接口被访问时,它会操作redis,然后将本次服务的数据上报到Jaeger,然后咱们就可以在Jaeger上看到本次服务的详细情况了:极速部署jaeger体验环境请确保您的docker-compose功能可以正常使用创建文件docker-compose.yml,内容如下:

version: '3.0'networks:  jaeger-tutorials-net:    driver: bridge    ipam:      config:        - subnet: 192.168.1.0/24          gateway: 192.168.1.1services:  jaeger:    image: jaegertracing/all-in-one:1.26    container_name: jaeger    #选择网络    networks:      - jaeger-tutorials-net    #选择端口    ports:      - 16686:16686/tcp    restart: always  redis:    image: redis:6.2.5    container_name: redis    #选择网络    networks:      - jaeger-tutorials-net    restart: always  jaeger-service-provider:    image: bolingcavalry/jaeger-service-provider:0.0.1    container_name: jaeger-service-provider    #选择端口    ports:      - 8088:8080/tcp    #选择网络    networks:      - jaeger-tutorials-net    restart: always
在docker-compose.yml所在目录执行命令docker-compose up -d,会立即开始下载三个镜像,然后启动服务:
Creating network "jaeger-service-provider_jaeger-tutorials-net" with driver "bridge"Creating jaeger                  ... doneCreating jaeger-service-provider ... doneCreating redis                   ... done
至此,jaeger体验环境已经部署完毕,咱们来体验吧体验jaeger功能用浏览器访问: ,映入眼帘的Jaeger页面如下,熟悉golang的同学都清楚图标意味着什么(对于欣宸这样的Java铁粉,多想看到那里是一杯热咖啡啊…):从前面的架构图得知,jaeger-query就是当前页面的server服务,它自己也通过Jaeger上报了自身被使用的情况,如下图所示,终于见到了trace和span:接下来可以调用咱们部署的服务了,浏览器访问: ,正常情况下收到返回的时间戳:再刷新Jaeger的页面,如下图所示,咱们的服务和trace名称都赫然在列,看来上报数据生效了,点击下图右上角红框中的圆点:点击那个红点后,进入对应trace的详情页,如下图:至此,咱们完成了Jaeger的入门知识学习和实际体验,如果您对内部的实现细节感兴趣,敬请期待接下来的开发实战揭秘,欣宸原创,必不辜负您环境信息最后附上《Jaeger开发系列》所需的环境和版本信息,这样的版本搭配能正常运行,供您参考:电脑:MacBook Pro,macOS Big Sur (11.5.2)Docker:20.10.7JDK:8u301Jaeger:1.26opentracing-spring-jaeger-cloud-starter:3.3.1Spring Boot:2.4.2Spring Cloud:2020.0.1Redis:6.2.5欢迎关注头条号:程序员欣宸学习路上,你不孤单,欣宸原创一路相伴...

标签: #ubuntu时间戳转换工具