【发布时间】:2023-01-18 01:45:32
【问题描述】:
我创建了一个带有开放遥测的 spring-boot 应用程序。我使用 spring-cloud-sleuth 将跟踪导出到开放遥测收集器,最终将这些跟踪导出到 datadog。我可以在数据狗中看到导出的痕迹。 现在,我还必须向应用程序添加一些日志记录,而 open-telemetry 不直接支持日志记录。因此,我使用 opentelemetry-logback-appender 将日志也导出到 datadog。我可以看到日志与控制台中导出的跟踪具有相同的跟踪 ID 和跨度 ID。但是,日志不会转发给 datadog。 我的代码:-
otel-collector-config.yaml :-
receivers:
otlp:
protocols:
grpc:
http:
processors:
batch:
exporters:
datadog:
api:
site: datadoghq.com
key: ${DD_API_KEY}
file:
path: /tmp/signals.json
logging:
loglevel: debug
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [datadog, logging, file]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [datadog, logging, file]
logs:
receivers: [otlp]
processors: [batch]
exporters: [logging, file]
登录添加了slf4j的控制台(logback):
spring-cloud-sleuth-otel-slf4j-spring-cloud-sleuth-otel-slf4j-1 | 09:25:45.835 [http-nio-8181-exec-1] ERROR com.uplight.web.MyController traceId: c9c54856c474a11e22e3716b6e97ec4b spanId: 569063cd0411d3a6 - Logging error using SLF4J LOGGER--------------------------------------------------------------------
如图所示,日志在跟踪中不可用。如果我遗漏了什么,有人可以建议吗?
【问题讨论】:
-
您错过了日志管道中的导出器。
-
我已经尝试添加它...但是我得到一个不支持的错误
标签: java spring-boot spring-cloud-sleuth open-telemetry