繁体   English   中英

Java 低延迟应用程序的 Jaeger 集成

[英]Jaeger integration for a Java low latency application

我遇到的大多数集成都使用 java 代理将跟踪推送到中央收集器,然后可以在 Jaeger 中查看跟踪。 但是在我的情况下,我不能使用 java 代理,因此我决定使用自定义跟踪 api 来使用 go,这看起来不错,并且有很多示例。

通过设计,我的低延迟应用程序限制我与外部组件/端口建立任何连接,因此我也试图避免将跟踪/跨度推送到本地 Jaeger 代理或收集器端点,而是通过 LogReporter 记录跟踪。

除此之外,我想知道如何构建将跟踪日志推送到 Jaeger 的管道。 日志本身作为流在 AWS cloudwatch 中,所以我想如果我使用 Serveless Lambda 来订阅和解析这些跟踪日志事件,那么我可以使用 HTTP /api/traces 端点将它们自己发送给 Jaeger(细节不多,但在某处读到它以某种形式存在)。

在这一点上,我的问题是这是正确的方法还是有更好的机制来实现这一点。 因为我不知道痕迹本身是否可以以这种方式重播给收集器。 也不确定端点接受什么格式,因为我没有看到太多关于此的文档或示例。

我的目标是让我的应用程序“不”通过推送事件连接到任何外部监控基础设施,所以如果有任何更好的 Jaeger 集成方式,我很乐意听到。 如果 OpenTracing、OpenCensus 或什至最新的 OpenTelemetry 形式的任何其他 API 可以帮助解决这个问题,我也很好。

谢谢

我不确定你今天要找的东西本身是否存在,但你可以通过 LogReporter 编写跟踪然后使用无服务器 function 读取 cloudwatch stream 并将其发送到 Jaeger(或 OpenTelemetry将它们发送给 Jaeger 的收集器)。 您还可以为 OpenTelemetry 收集器编写自定义插件,将 cloudwatch stream 读取到 OTLP,然后将其导出到收集器支持的任何端点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM