Turbine Server
- 마이크로 서비스에 설치된 Hystrix 클라이언트의 스트림을 통합
- 마이크로 서비스에서 생성되는 Hystrix 클라이언트 스트림메시지를 터빈 서버로 수집
Hystrix Dashboard
- Hystrix 클라이언트에서 생성하는 스트림을 시각화 (Web Dashboard)
- Hystrix Dashboard / Turbine -> Micrometer + Monitoring System
Micrometer
Timer
- 짧은 지연시간, 이벤트의 사용 빈도를 측정
- 시계열로 이벤트의 시간, 호출 빈도 등을 제공
- @Timed 제공
사용해보기
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
- application.yml (info, metrics, prometheus 추가)
management:
endpoints:
web:
exposure:
include: refresh, health, beans, busrefresh, info, metrics, prometheus
@GetMapping("/health_check")
@Timed(value = "users.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")
+ ", token secret=" + env.getProperty("token.secret")
+ ", token expiration time=" + env.getProperty("token.expiration_time")
);
}
@GetMapping("/welcome")
@Timed(value = "users.welcome", longTask = true)
public String welcome(){
// return env.getProperty("greeting.message");
return greeting.getMessage();
}