首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为Akka应用程序配置OpenTelemetry代理

如何为Akka应用程序配置OpenTelemetry代理
EN

Stack Overflow用户
提问于 2021-09-29 14:58:14
回答 1查看 906关注 0票数 1

我正在尝试使用OpenTelemetry代理从我用Scala编写的Akka应用程序导出度量和跟踪,目的是使用OpenSearch中的数据。

我的应用程序的技术堆栈:

  • 阿克卡-2.6*
  • RabbitMQ (amqp客户端5.12.*)
  • PostgreSQL (JDBC42.2.*)

我已将OpenTelemetry工具运行时依赖项添加到build.sbt

代码语言:javascript
运行
复制
  val runtimeDependencies: Seq[ModuleID] = Seq(
    "io.opentelemetry.instrumentation" % "opentelemetry-instrumentation-api" % otelInstrumentationVersion % "runtime"
  )
...
  libraryDependencies ++= compileDependencies ++ testDependencies ++ runtimeDependencies,

我在属性文件中传递OpenTelemetry配置:

代码语言:javascript
运行
复制
export JAVA_OPTS="... \
-javaagent:lib/opentelemetry/opentelemetry-javaagent-all-v1.6.0.jar \
-Dotel.javaagent.configuration-file=lib/opentelemetry/otel.properties"

在我的代码中,唯一相关的部分是属性文件:

代码语言:javascript
运行
复制
otel.service.name=my-app
otel.traces.exporter=jaeger
otel.propagators=jaeger

我确实在OpenSearch中收到了一些跟踪,但是它们是完全不同的,而且是不相关的,而我希望它们能够被链接起来。例如,在RabbitMQ主题上接收到一条消息,它使它成为一个参与者,后者最终会发出一个SQL查询。因此,我可以看到每次执行所花费的时间。

这是我在OpenSearch中得到的一个近似视图:

我希望能够跟踪文档,但我发现OpenTelemetry的配置指南在这一点上是稀缺的。

更新

不确定这是否相关,但我在datapreper上收到警告:

代码语言:javascript
运行
复制
2021-09-29T16:50:50,861 [raw-pipeline-prepper-worker-5-thread-1] WARN  com.amazon.dataprepper.plugins.prepper.oteltrace.OTelTraceRawPrepper - Missing trace group for SpanId: 922097e31cf96c72
EN

Stack Overflow用户

回答已采纳

发布于 2021-10-14 14:01:56

好的,我跑过了本期,然后阅读了关于如何压制专用仪器的文章。

因此,为了减少跟踪仪表板中的杂乱,可以向属性文件(或通过环境变量等效)添加如下内容:

代码语言:javascript
运行
复制
otel.instrumentation.rabbitmq.enabled=false
otel.instrumentation.grpc.enabled=false

注意,我删除了我的用例特有的两个杂乱无章的工具库。对于另一个应用程序,您可以从上面的链接2中选择其他库。通过这种方式,您作为应用程序开发人员声明的范围将成为根。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69378836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档