引入 spring-boot-starter-opentelemetry 之后,只加依赖会往哪里导出什么?traces、metrics、logs 各要配什么,怎么单独关?收集端挂了会怎样?这篇用本地假的 OTLP 收集端在 Spring Boot 4.0.8 上逐个验证。
100 次 GET /hi,返回 200 的有 100 次 收集端收到的路径:/v1/metrics 是 应用日志里 WARN/ERROR 的行数:0
等 75 秒后只收到 /v1/metrics。
20 次 GET /hi,返回 200 的有 20 次 收集端收到的路径:/v1/metrics 是, /v1/traces 是 traces 请求体里有字符串 "http get /hi",有字符串 demo-app(service.name),Content-Type application/x-protobuf 应用日志里 WARN/ERROR 的行数:0
traces 与 metrics 到了收集端,logs 没有。
20 次 GET /hi,返回 200 的有 20 次 收集端收到的路径:/v1/metrics 是 应用日志里 WARN/ERROR 的行数:0
只剩 metrics。
20 次 GET /hi,返回 200 的有 20 次 收集端收到的路径:/v1/traces 是 traces 请求体里有字符串 "http get /hi",有字符串 demo-app(service.name),Content-Type application/x-protobuf 应用日志里 WARN/ERROR 的行数:0
只剩 traces。
20 次 GET /hi,返回 200 的有 20 次
应用日志里 WARN/ERROR 的行数:3;按日志器:i.m.registry.otlp.OtlpMeterRegistry 3 行
第一条:Failed to publish metrics to OTLP receiver (context: url=http://127.0.0.1:9613/v1/metrics, resource-attributes={service.name=demo-app})业务不受影响,日志里只有指标推送失败的 WARN。