Observability :: Spring Boot
spring.io
requirement
로그에 추적가능한 id를 남기고 싶다.
로그 호출 시 일일이 포함시키지 않고 자동으로 설정되게 하고 싶다.
MicroService 로 여러 서비스가 연계될때 동일한 식별자로 연결되게 하고 싶다.
related object
Spring Boot uses Micrometer Observation
Facade 역할을 하는 Micrometer 를 이용하여 tracing 구현체에 따라 적용 가능. (openzipkin, opentelemetry ... )
Webflux는 Reactive 수행으로 Thread간 이동이 빈번하여 Tracing Context Propagation 이 필수
Spring Boot Actuator 와 결합하여 간단한 설정만으로 기능 제공
implementation
build.gradle
dependencies {
...
implementation org.springframework.boot:spring-boot-starter-actuator
// case 1 for OpenZipkin Brave
implementation 'io.micrometer:micrometer-tracing-bridge-brave'
// case 2 for opentelemetry
// implementation 'io.micrometer:micrometer-tracing-bridge-otel'
...
}
or logback-spring.xml
<pattern>... %X{traceId:-NONE} ... </pattern>
example
2024-06-08T20:38:08.217+02:00 INFO [94739f90c9e13ec3a7048d5dfba4c499,61c824a2d63bbe99] 1234 --- [ctor-http-nio-2] lepffm.Service2Controller : logging...
남기는 말
servlet project 인 경우 spring.reactor.context-propagation
만 제거하면 됨
reference
https://docs.spring.io/spring-boot/reference/actuator/observability.html
https://docs.spring.io/spring-boot/reference/actuator/tracing.html
https://micrometer.io/docs/tracing
원문
https://github.com/lepffm/issuance/issues/176
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 6월 8일 오전 2:07
최근에 친구가 추천해준 데일 카네기의 인간관계론을 읽던 중 고액 연봉을 받는 엔지니어들의 특징에 대한 흥미로운 내용이 있었다.
... 더 보기큰 것을 하는 것보다 매일 작은 것을 완벽하게 해내는 노력이 더 중요하다. 내가 성격 장애의 하나인 자기애성 성격장애자(NPD, Narcissistic Personality Disorder)를 만나면서 느낀 것은, 처음에는 그런 사람도 "정상인"처럼 느껴진다는 것이었다. 다만 그의 미친짓은 내가 매일매일 "사소한" 사건들로 상대방에게 익숙해졌을 때 발생한다.
코
... 더 보기매
... 더 보기스트레스를 잘 관리하면서 건강하게 살아가고 싶다면, 우선 살아있는 한 우리가 해야 할 일들은 영원히 없어지지 않을 것이므로, 해야 할 일을 100% 해내면서 할 일 목록을 완전히 없애는 데 많은 노력을 들이기보다는 70% 정도만 해내도 만족할 필요가 있다.
... 더 보기최
... 더 보기