1
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package com.example.springboot4.config;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
class InstallOpenTelemetryAppender implements InitializingBean {
|
||||
|
||||
private final OpenTelemetry openTelemetry;
|
||||
|
||||
InstallOpenTelemetryAppender(OpenTelemetry openTelemetry) {
|
||||
this.openTelemetry = openTelemetry;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
OpenTelemetryAppender.install(this.openTelemetry);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.example.springboot4.config;
|
||||
|
||||
import io.micrometer.tracing.TraceContext;
|
||||
import io.micrometer.tracing.Tracer;
|
||||
import jakarta.annotation.Nullable;
|
||||
import jakarta.servlet.FilterChain;
|
||||
import jakarta.servlet.ServletException;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.filter.OncePerRequestFilter;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@Component
|
||||
class TraceIdFilter extends OncePerRequestFilter {
|
||||
|
||||
private final Tracer tracer;
|
||||
|
||||
TraceIdFilter(Tracer tracer) {
|
||||
this.tracer = tracer;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
|
||||
String traceId = getTraceId();
|
||||
if (traceId != null) {
|
||||
response.setHeader("X-Trace-Id", traceId);
|
||||
}
|
||||
filterChain.doFilter(request, response);
|
||||
}
|
||||
|
||||
private @Nullable String getTraceId() {
|
||||
TraceContext context = this.tracer.currentTraceContext().context();
|
||||
return context != null ? context.traceId() : null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -38,4 +38,24 @@ server:
|
||||
port: 9000
|
||||
jetty:
|
||||
threads:
|
||||
max: 1000
|
||||
max: 1000
|
||||
management:
|
||||
otlp:
|
||||
metrics:
|
||||
export:
|
||||
url: http://192.168.1.14:9090/api/v1/otlp/v1/metrics #Prometheus otlp协议 http地址
|
||||
step: 30s
|
||||
opentelemetry:
|
||||
tracing:
|
||||
export:
|
||||
otlp:
|
||||
endpoint: http://192.168.1.14:4317/v1/traces #Jaeger otlp协议 grpc地址
|
||||
transport: grpc
|
||||
# endpoint: http://localhost:4318/v1/traces
|
||||
# transport: http
|
||||
|
||||
logging:
|
||||
export:
|
||||
otlp:
|
||||
endpoint: http://192.168.1.14:32664/otlp/v1/logs #Loki otlp协议 grpc地址
|
||||
# transport: grpc
|
||||
12
auth/src/main/resources/logback-spring.xml
Normal file
12
auth/src/main/resources/logback-spring.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<include resource="org/springframework/boot/logging/logback/base.xml"/>
|
||||
|
||||
<appender name="OTEL" class="io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender">
|
||||
</appender>
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="OTEL"/>
|
||||
</root>
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user