본문 바로가기
MSA/MSA관련기술

마이크로미터

by 문자메일 2022. 12. 8.

운영하고 있는 어플리케이션을 모니터링 하기 위하여 각종 자료를 수집하는 용도로 쓰임 (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에 추가되어 수집할 때 사용되는 것을 볼 수 있다.

 

지표 정보가 저장되는 것을 볼 수 있다.

댓글