测微仪在开放遥测中的用途是什么?或者opentelementry可以像sleuth、micrometer一样自动为日志添加traceid和spanid吗?

问题描述 投票:0回答:1

我最近正在为我的微服务架构寻找分布式跟踪解决方案。我的微服务架构涉及多个不同类型的java应用程序将运行。

我必须为我的微服务解决方案提供可观察性功能(日志、指标和跟踪)。我遇到了多种可能的选择,例如 sleuth(已弃用)、micrometer、opentelemetry、zipkin、jaeger、signoz 和 prometheus。

参考了所有博客后,我明白我们可以将上面的应用程序作为组合使用,就像

sleuth + zipkin
micrometer + opentelemetry + jaegar + prometheus
micrometer + opentelemetry + signoz
opentelemetry + zipkin

这里,sleuth和千分尺将用于生成traceid和span id。 Micrometer 比 sleuth 有一些额外的优势,它也支持指标。

我的问题是,opentelemetry在这里的作用是什么? opentelemetry 是否需要 sleuth 或 micrometer 来添加 Traceid/spanid? opentelemetry 有任何内置自动仪器来添加 Traceid/span id 吗?

PS opentelemetry 将充当多个接收器和多个导出器之间的桥梁。但它还提供了哪些优势?

Thanks in Advance
trace distributed micrometer jaeger
1个回答
0
投票

BLUF:opentelemetry 可以用于一切!

您不需要侦探或千分尺。如果适用于您的语言,您可以将 OTel 自动检测添加到您的所有应用程序中(对于 Java,可以通过代理)。这将为您的应用程序使用的库(例如 hibernate、kafka)提供大量指标和跟踪。如果您想在应用程序中创建自定义指标/跟踪,您可以再次使用 OTel API。

所以侦探死了。千分尺可以做到以上一些。但它没有自动检测,因此您需要添加样板。它仅适用于 Java。没有。它所使用的库数量似乎很少(此处仅列出 7 个 - https://micrometer.io/docs)。此外,Spring Boot 3 在引擎盖下使用千分尺。这让我感到惊讶,因为 OTel 正在成为标准。我猜他们这样做是因为他们已经在这个库中进行了这样的投资。不过,在这一点上,OTel 自动仪表会将任何微米指标/痕迹转换为 OTel。

希望有帮助

© www.soinside.com 2019 - 2024. All rights reserved.