엑츄에이터를 통해 들어오는 정보를 좀 더 시각적으로 나타내기 위해서 사용 할 수있는 모니터링 도구들이 있다. 밑의 3가지도 유명한 모니터링 도구들이다
마이크로미터
프로메테우스
그라파나
보통 이 세가지를 함께 사용하는 경우가 많다.
애플리케이션의 메트릭을 마이크로미터가 정한 표준 방법으로 모아서 제공해준다. 즉, 마이크로미터가 추상화작업을 통해 인터페이스를 구현해둔 것이다.
Spring actuator(메트릭 정보 제공) -> 마이크로미터 (메트릭 추상화)
이런 식으로 이루어 지는것이다. 보통 스프링이 이런 작업들을 잘 해놓는다.(ex JPA, JDBC등..) 다만 여기서는 이미 잘 만들어져 있는 마이크로미터가 있기에 이 마이크로미터를 스프링이 사용.
마이크로미터가 지원하는 모니터링 툴
AppOptics, Atlas, CloudWatch, Datadog, Dynatrace, Elastic, Ganglia, Graphite,
Humio, Influx, Instana, JMX, KairosDB, New Relic, Prometheus, SignalFx,
Stackdriver, StatsD, WaveFront
각 모니터링 툴에 대한 자세한 내용은 마이크로미터 공식 메뉴얼을 참고하자
https://micrometer.io/docs
참고: 지원하는 다양한 메트릭들은 다음 공식 메뉴얼을 참고하자
https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.metrics.supported
애플리케이션에서 발생한 메트릭을 보관하는 DB의 역할을 하는 툴. 메트릭을 지속적으로 수집하고 DB에 저장해 준다. 이를 간단단 대시보드 형태로도 보여주지만, 대시보드 기능이 약하기때문에 따로 툴을 이용한다.
프로메테우스 홈페이지에서 파일을 받아서 사용 가능(따로 설치는 필요 없다).
prometheus.yml을 통해 prometheus 설정 가능.
promete
DB에 있는 데이터를 불러서 사용자가 보기 편하게 보여주는 대시보드의 기능을 하는 툴. 매우 유연하고 데이터를 그래프로 보여준다. 수 많은 그래프를 제공하고 프로메테우스를 포함한 다양한 데이터소스를 지원한다.
기본적인 대시보드(공통적으로 제공하는 메트릭에 관한...)는 이미 잘 만들어둔 대시보드들이 넘쳐난다.
커스텀 메트릭에 관한 것은 우리가 직접 만들어주어야 한다.(잘 만든 대시보드들을 참고 하자)
즉 우리는 모니터링 툴을 이용하기 위해 이런 흐름을 거친다.
(마이크로미터는 다양한 모니터링 툴들을 사용할 수 있음. 여기선 프로메테우스사용.)
(그라파나도 마찬가지로 다양한 모니터링 DB역할을 하는 툴들과 연결 가능. 여기선 프로메테우스 사용)