Jaeger 集成
编辑Jaeger 集成编辑
Elastic APM 与 Jaeger 集成,Jaeger 是一个开源的分布式跟踪系统。此集成允许使用现有 Jaeger 设置的用户从默认的 Jaeger 后端切换到 Elastic Stack。最重要的是,您的应用程序代码不需要进行任何检测更改。
支持的架构编辑
Jaeger 架构支持不同的数据格式和传输协议,这些协议定义了如何将数据发送到收集器。Elastic APM 作为 Jaeger 收集器,支持通过 gRPC 与 Jaeger 代理 进行通信。
有关 Jaeger 架构的更多信息,请参阅 Jaeger 文档。
入门编辑
通过三个步骤将您现有的 Jaeger 设置连接到 Elastic APM
此集成存在一些 注意事项。
配置 Jaeger 代理编辑
APM 集成在与 Elastic APM 代理协议相同的主机和端口上提供 Jaeger gRPC。
- 登录 Elastic Cloud 并选择您的部署。在 Kibana 中,选择 添加数据,然后搜索并选择“Elastic APM”。如果集成已安装,在策略选项卡下,选择 操作 > 编辑集成。如果集成尚未安装,请选择 添加 Elastic APM。复制 URL。如果您使用的是代理授权,请复制 Secret 令牌。
-
将 APM 集成配置为您的 Jaeger 代理的收集器。
截至撰写本文时,Jaeger 代理二进制文件提供以下 CLI 标志,可用于启用 TLS、输出到 Elastic Cloud 以及设置 APM 集成 Secret 令牌
--reporter.grpc.tls.enabled=true --reporter.grpc.host-port=<apm-url:443> --agent.tags="elastic-apm-auth=Bearer <secret-token>"
对于等效的环境变量,将所有字母更改为大写,并将标点符号替换为下划线 (_
)。有关更多信息,请参阅 Jaeger CLI 标志文档。
-
将 APM 集成配置为您的 Jaeger 代理的收集器。在 Kibana 中,选择 添加数据,然后搜索并选择“Elastic APM”。如果集成已安装,在策略选项卡下,选择 操作 > 编辑集成。如果集成尚未安装,请选择 添加 Elastic APM。复制主机。如果您使用的是代理授权,请复制 Secret 令牌。
截至撰写本文时,Jaeger 代理二进制文件提供
--reporter.grpc.host-port
CLI 标志。使用此标志定义 APM 集成正在侦听的主机和端口--reporter.grpc.host-port=<apm-endpoint:8200>
-
(可选) 启用加密
当为 APM 集成启用 TLS 时,Jaeger 代理也必须启用 TLS 通信
--reporter.grpc.tls.enabled=true
-
(可选) 启用基于令牌的授权
可以使用 Secret 令牌或 API 密钥来确保只有授权的 Jaeger 代理才能将数据发送到 APM 集成。启用后,使用代理级标签来授权 Jaeger 代理与 APM 服务器的通信
--agent.tags="elastic-apm-auth=Bearer <secret-token>"
对于等效的环境变量,将所有字母更改为大写,并将标点符号替换为下划线 (_
)。有关更多信息,请参阅 Jaeger CLI 标志文档。
配置采样编辑
APM 集成支持概率采样,可用于减少代理收集和发送的数据量。概率采样根据配置的采样值做出随机采样决策。例如,值为 .2
表示将采样 20% 的跟踪。
有两种不同的方法可以配置 Jaeger 代理的采样率
APM 代理中央配置(默认)编辑
使用 APM 代理中央配置的中央采样允许 Jaeger 客户端轮询 APM 服务器以获取采样率。这意味着可以根据服务和环境动态配置采样率。有关更多信息,请参阅 中央配置。
每个 Jaeger 客户端中的本地采样编辑
如果您没有访问 APM 应用程序的权限,则需要更改 Jaeger 客户端的 sampler.type
和 sampler.param
。这使您能够在每个 Jaeger 客户端中本地设置采样配置。有关更多信息,请参阅官方 Jaeger 采样文档。
开始发送数据编辑
就是这样!现在可以在 APM 应用程序中查看从 Jaeger 客户端发送到 APM 服务器的数据。
注意事项编辑
Elastic APM 和 Jaeger 之间存在一些限制和差异,您应该了解这些限制和差异。
Jaeger 集成限制
- 由于 Jaeger 有自己的跟踪上下文标头,并且目前不支持 W3C 跟踪上下文标头,因此无法混合使用 Elastic 的 APM 代理和 Jaeger 的客户端。
- Elastic APM 仅支持概率采样。
APM 代理和 Jaeger 客户端之间的差异