운영하고 있는 어플리케이션을 모니터링 하기 위하여 각종 자료를 수집하는 용도로 쓰임 (cpu 사용량, 메서드 사용량, 네트워크 트래픽 등)
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
management:
endpoints:
web:
exposure:
include: refresh, health, beans, busrefresh, info, metrics, prometheus
컨트롤러에 @Timed 추가
@GetMapping("/health_check")
@Timed(value = "user.status", longTask = true)
public String status(){
return String.format("It's Working in User Service"
+ ", port(local.server.port)=" + env.getProperty("local.server.port")
+ ", port(server.port)=" + env.getProperty("server.port")
//+ ", gateway ip=" + env.getProperty("gateway.ip")
//+ ", message=" + env.getProperty("greeting.message")
+ ", token secret=" + env.getProperty("token.secret")
+ ", token expiration time=" + env.getProperty("token.expiration_time"));
}
@GetMapping("/welcome")
@Timed(value = "user.welcome", longTask = true)
public String welcome(){
//return env.getProperty("greeting.message");
return greeting.getMessage();
}
아래에 @Timed라는 어노테이션에 추가한 것이 아래 metrics에 추가되어 수집할 때 사용되는 것을 볼 수 있다.
지표 정보가 저장되는 것을 볼 수 있다.
'MSA > MSA관련기술' 카테고리의 다른 글
마이크로미터, 프로메테우스와 그라파나 (0) | 2023.04.10 |
---|---|
테스트 코드 커버리지 측정 (jacoco 활용) (0) | 2022.12.18 |
micro service 분산 추적 zipkin (0) | 2022.12.08 |
서킷브레이커 (Resilience4j) 환경설정 방법 (0) | 2022.12.06 |
CircuitBreaker(서킷 브레이커)와 Resilience4J (0) | 2022.12.06 |
댓글