프로젝트 논의 - 모니터링

동준·2024년 5월 5일
0

개인공부(스프링)

목록 보기
11/14

1. 프로메테우스, 그라파나

우선 들어가기 전에 APM이라는 단어부터 좀 정리해보자.

Application Perfomance Manager : 성능관리모니터링 시스템

프로메테우스 역시 APM 중 하나

1) 프로메테우스

수집하는 메트릭 정보 대상

메트릭 정보

Metric Type
1. Counter
2. Guage
3. Histogram
4. Summary

Counter
0부터 시작하여, 증가할 수 있는 누적 메트릭
EX : 요청 수 및 완료 된 작업 수

Guage
단일 숫자 값을 나타내는 메트릭
현재 메모리 사용량, 동시 요청 수 등 증감이 가능

Histogram
구간별 데이터 취합에 특화되어있는 메트릭
EX : 히트맵, 구간별 분포 그래프

Summary
히스토그램과 유사하나, 정확한 계산 비용이 발생
EX : 분위수 단위 계산 값을 볼 때 사용

pinpoint와의 비교

Prometheus는 서버의 각 지표(metric)을 활용해서 JVM Memory, 초당 트랜잭션 발생 수, Redis 사용률, Thread 상황 등 자원 상태를 파악하기 좋다.

그렇지만, 문제가 발생할 경우 단순히 시각화만 가능할 경우 정확한 원인을 파악하기 힘들 수도 있다.

Pinpoint는 트레이싱(tracing)을 통해 요청을 추적할 수 있고, 어느 지점에서 문제가 있는지 정확히 파악하고 알려준다.

쉽게 말하면 숲을 보기에는 Prometheus + Grafana가 편리하고, 나무를 보기에는 Pinpoint가 유리하다고 할 수 있다.

Pinpoint는 코드 수준의 정보를 추적하다 보니 트래픽이 많아질 경우 데이터의 양이 폭발적으로 증가한다는 단점이 있어서 이를 해결하기 위해 해당 정보들을 HBase에 담아 활용해야 한다.

HBase
HDFS(Hadoop Distributed File System, 하둡 분산 파일 시스템으로 하둡의 저장소를 담당)으로 구현한 컬럼 기반 분산 NoSQL 데이터 저장소

즉, 별도의 데이터 저장소 구축이 필요하다는 단점과 러닝 커브가 높다는 단점 때문에 프로메테우스 및 그라파나를 선택 + 세팅하였음

모니터링의 주 목적을 서비스 인스턴스의 상태 및 배포 테스트 진행에 따른 부하 영향도를 측정하는 것이 주 목적이어서 세팅이 상대적으로 간단한 프로메테우스랑 그라파나 선택

https://velog.io/@tngus2sh/Project-%EB%84%A4%EC%9D%B4%EB%B2%84-Pinpoint-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

profile
scientia est potentia / 벨로그 이사 예정...

0개의 댓글