1. 모니터링의 필요성
- 서비스를 운영할 때는 애플리케이션에 CPU, 메모리, 커넥션 사용, 고객 요청수 같은 수 많은 지표들을 확인하는 것이 필요함
- 어디에 어떤 문제가 발생했는지 사전에 대응할 수 있고, 문제 발생 시 원인을 빠르게 파악해서 대처할 수 있음
2. 마이크로미터(Micrometer) 라이브러리
- 세상에는 다양한 모니터링 툴이 존재하는데, 각 툴마다 정보를 전달하는 방법이 다 다름, 그래서 이 것을 표준 측정하도록 돕는게 마이크로미터 라이브러리
-> 애플리케이션 메트릭 파사드라고 불리는데, 애플리케이션의 메트릭(측정 지표)을 마이크로미터가 정한 표준 방법으로 모아서 제공해줌
- 마이크로미터 추상체를 사용하고 예를들어 JMX구현체, 프로메테우스 구현체 등 구현체를 선택하면됨
-> 마이크로미터가 추상화를 통해서 구현체를 쉽게 변경할 수 있게 한 것
- 보통 스프링이 이런 추상화를 직접 만들어서 제공하지만 마이크로미터라는 이미 잘 만들어진 추상화가 있기 때문에 스프링은 이것을 활용함
-> 스프링부트 액츄에이터는 마이크로미터를 기본으로 내장해서 사용(로그를 추상화하는 SLF4J와 같은 개념)
- 개발자는 마이크로미터가 정한 표준 방법으로 메트릭을 전달하면 되고, 사용하는 모니터링 툴에 맞는 구현체를 선택하면 됨! 이후에 모니터링 툴이 변경되어도 해당 구현체만 변경하면 됨
cf) metric
대시보드에 특정 수치들을 그래프로 보여주는 일종의 시각화
CPU사용량, 시간당 데이터 처리량, 분당 네트워크 속도 등의 데이터들을 시각화해서 보여주는 툴
3. 마이크로미터가 지원하닌 모니터링 툴
AppOptics, Atlas, CloudWatch, Datadog, Dynatrace, Elastic, Ganglia, Graphite, Humio, Influx, Instana, JMX, KairosDB, New Relic, Prometheus, SignalFx, Stackdriver, StatsD, Wavefront
'Spring > Springboot' 카테고리의 다른 글
[Springboot] 프로메테우스 설치 (0) | 2023.12.31 |
---|---|
[Springboot] 다양한 메트릭 확인하기 (0) | 2023.12.31 |
[Springboot] 액츄에이터와 보안 (0) | 2023.12.31 |
[Springboot] 액츄에이터 - loggers 엔드포인트 (0) | 2023.12.30 |
[Springboot] 액츄에이터 - info 엔드포인트 (0) | 2023.12.30 |