第 381 章 Zipkin 组件


可从 Camel 2.18 开始

camel-zipkin 组件用于使用 zipkin 来跟踪和计时的 Camel 消息。

事件(span)捕获用于传入和发送到 Camel 中的/传出消息。

注意

在 Camel 2.22.0 中,计划重构 Camel-zipkin,使其不使用 zipkin-scribe,但使用默认的 http 传输。此操作可能会导致向后兼容。

这意味着您需要配置哪个 Camel 端点映射到 zipkin 服务名称。

映射可通过以下方式进行配置:

  • 路由 id - Camel 路由 id
  • endpoint url - Camel 端点 url

对于这两种类型,您可以使用通配符和正则表达式来匹配,使用来自 Intercept 的规则。

要匹配您可以模式中使用 * 的所有 Camel 消息,并将其配置为相同的服务名称。

如果没有配置映射,Camel 将回退,并使用端点 uri 作为服务名称。 
但是,建议您配置服务映射,以便您可以在名称中使用人类可读的名称而不是 Camel 端点 uri。

Camel 将自动配置一个 span 报告程序,但没有明确配置,如果到 zipkin 收集程序的主机名和端口都被配置为环境变量

  • ZIPKIN_COLLECTOR_HTTP_SERVICE_HOST - http 主机名
  • ZIPKIN_COLLECTOR_HTTP_SERVICE_PORT - 端口号

或者

  • ZIPKIN_COLLECTOR_THRIFT_SERVICE_HOST - Scribe (Thrift RPC) hostname
  • ZIPKIN_COLLECTOR_THRIFT_SERVICE_PORT - 端口号

这使得在平台可以在 linux 容器中运行应用程序的容器平台中很容易使用 camel-zipkin,其中服务配置作为环境变量提供。

381.1. 选项

选项默认值描述

速率限制

1.0f

配置一个速率,决定通过 zipkin 跟踪多少事件。速率表示为百分比(1.0f = 100%,0.5f 为 50%,0.1f 为 10%。

spanReporter

 

必需: 用于将 zipkin span 事件发送到 zipkin 服务器的报告程序。

serviceName

 

使用与所有 Camel 事件匹配的全局服务名称

clientServiceMappings

 

将与 Camel 事件匹配的 客户端 服务映射设置为给定的 zipkin 服务名称。内容是一个 Map<String,String>,其中键是模式,值是服务名称。该模式使用来自 Intercept 的规则。

serverServiceMappings

 

将与 Camel 事件匹配的 服务器 服务映射设置为给定的 zipkin 服务名称。内容是一个 Map<String,String>,其中键是模式,值是服务名称。该模式使用来自 Intercept 的规则。

excludePatterns

 

设置 exclude pattern (s),使用 zipkin 为模式匹配的 Camel 消息禁用追踪。内容是一个 Set<String>,其中键是一个模式。该模式使用来自 Intercept 的规则。

includeMessageBody

false

是否在 zipkin trace 中包含 Camel 消息正文。不建议在生产环境中使用,或者当有大有效负载时。您可以通过配置 max debug 日志大小 来限制大小。 

includeMessageBodyStreams

false

是否包括了基于 zipkin trace 的消息正文。这需要对 CamelContext 的路由或全局启用流缓存。不建议在生产环境中使用,或者当有大有效负载时。您可以通过配置 max debug 日志大小 来限制大小。  

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.