
openzipkin/zipkin-gcp提供Zipkin与Google Cloud Platform集成的共享库,需JRE 8或更高版本。
zipkin-gcp是一套共享库,通过Zipkin和zipkin-reporter-java中定义的接口,使追踪应用和服务器能与Google Cloud服务集成。
发送器是追踪应用中用于将时序数据(跨度)发送到进程外的组件,由异步报告器按间隔调用。
| 发送器 | 描述 |
|---|---|
| Stackdriver Trace | 免费云服务提供商 |
收集器是Zipkin服务器中接收追踪数据的组件,负责解码应用报告的跨度并将其持久化到配置的存储组件中。当前暂无可用收集器。
存储组件(StorageComponent)是Zipkin服务器中用于持久化和查询收集数据的组件,主要支持Zipkin API及所有收集器组件。
| 存储 | 描述 |
|---|---|
| Stackdriver Trace | 免费云服务提供商 |
适用于需要通过Google Cloud服务进行分布式追踪的应用,尤其适合使用Stackdriver Trace作为追踪数据存储和发送目标的场景。
要与zipkin-server集成,需使用属性启动器在zipkin-server进程中加载收集器(或发送器)。步骤如下:
loader.pathPropertiesLauncher启动Zipkin每个模块还需设置不同的最小变量。
bash$ curl -sSL [***] | bash -s $ curl -sSL [***] | bash -s io.zipkin.gcp:zipkin-module-storage-stackdriver:LATEST:module stackdriver.jar $ STORAGE_TYPE=stackdriver STACKDRIVER_PROJECT_ID=zipkin-demo \ java \ -Dloader.path='stackdriver.jar,stackdriver.jar!/lib' \ -Dspring.profiles.active=stackdriver \ -cp zipkin.jar \ org.springframework.boot.loader.PropertiesLauncher
使用向Stackdriver发送数据的组件时,若控制台无输出,可启用翻译组件的DEBUG日志(Spring Boot环境):
bash-Dlogging.level.zipkin2=DEBUG
启用后将看到翻译输入和输出,例如:
2018-04-09 13:58:44.112 DEBUG [/] *** --- [ XNIO-2 I/O-3] z.t.stackdriver.SpanTranslator : >> translating zipkin span: {"traceId":"d42316227862f939","parentId":"d42316227862f939","id":"dfbb21f9cf4c52b3","kind":"CLIENT","name":"get","timestamp":1523253523054380,"duration":4536,"localEndpoint":{"serviceName":"frontend","ipv4":"192.168.1.113"},"tags":{"http.method":"GET","http.path":"/api"}} 2018-04-09 13:58:44.113 DEBUG [/] *** --- [ XNIO-2 I/O-3] z.t.stackdriver.SpanTranslator : << translated to stackdriver span: span_id: 16199746076534411288 kind: RPC_CLIENT name: "get" start_time { seconds: *** nanos: 54380000 } end_time { seconds: *** nanos: 58916000 } parent_span_id: 15286085897530046777 labels { key: "/http/method" value: "GET" } labels { key: "zipkin.io/http.path" value: "/api" } labels { key: "/component" value: "frontend" }
运行Zipkin服务器时,可通过/health HTTP端点检查服务健康状态。
若怀疑Zipkin服务器与Stackdriver之间存在问题,可设置环境变量STACKDRIVER_HTTP_LOGGING=HEADERS以记录gRPC状态信息。
若认为跨度已到达Stackdriver,可通过GCP控制台的“API和服务 > 仪表板 > Stackdriver Trace API > 指标”部分验证:
cloudtrace.agent角色或cloudtrace.traces.patch权限。cloudtrace.user角色或特定权限(读写权限分离,仅管理员角色同时拥有)。所有artifacts发布到组ID“io.zipkin.gcp”,所有组件使用统一的发布版本。
发行版上传至Bintray并同步到Maven Central。
快照在提交到master后上传至JFrog。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务