[Infra] 모니터링 메트릭(지표) & 모니터링 도구 종류 및 특징

haesa·2025년 3월 23일

Infra

목록 보기
5/5
post-thumbnail

모니터링 메트릭의 종류와 의미

모니터링 메트릭은 애플리케이션 성능, 인프라 상태, 사용자 경험 등을 포괄한다. 주요 메트릭을 다음과 같이 정리할 수 있다:

1) 애플리케이션 레벨 메트릭

애플리케이션 성능을 측정하기 위한 메트릭이다.

  • 응답 시간 (Response Time): API 또는 페이지 응답 속도 → 평균 및 최대 응답 시간 추적
  • 에러율 (Error Rate): HTTP 4xx, 5xx 상태 코드 발생 비율 → 오류 원인 파악
  • 처리량 (Throughput): 초당 처리 요청 수 → 처리 성능 평가

👉 예시:

평균 응답 시간이 200ms이지만, 특정 시간대에는 500ms이라면 성능 저하가 발생하고 있음을 알 수 있다.

2) 인프라 레벨 메트릭

서버, 네트워크 등 인프라 상태를 측정하는 메트릭이다.

  • CPU 사용률: CPU 사용 상태 → 병목 현상 파악
  • 메모리 사용률: 메모리 상태 → 메모리 누수 발생 여부 파악
  • 디스크 I/O: 디스크 읽기/쓰기 상태 → 입출력 성능 파악

👉 예시:

CPU 사용률이 90% 이상으로 유지되면 인스턴스를 추가하거나 트래픽 분산 처리가 필요하다.

3) 사용자 경험 관련 메트릭

사용자가 실제로 느끼는 성능 상태를 측정한다.

  • Latency: 네트워크 응답 시간 → 사용자와 서버 간의 왕복 시간 측정
  • 세션 유지 시간: 평균 세션 시간 및 페이지 뷰 수 측정
  • 전환율 (Conversion Rate): 목표 수행률 → 사용자 행동 분석

👉 예시:

평균 전환율이 5%였으나 특정 페이지에서 로딩 시간이 길어지면서 3%로 감소하면 성능 최적화를 고려할 수 있다.

어떻게 메트릭을 수집해야하는가?

1) 서비스

사용자나 다른 서비스 이용자가 응답을 기다리는 서비스의 경우, 요청비율(Rate), 오류비율(Error Rate), 대기시간(Duration) 3가지 지표를 수집하는게 좋다.

2) 오프라인 작업

사용자가 응답을 받지않는 로그 처리 시스템같은 오프라인 작업에서는 활용도(Utilization), 포화도(Saturation), 오류(Error) 메트릭을 수집하는게 좋다.

  • 활용도: 서비스가 얼마나 충분한지를 의미
  • 포화도: 대기중인 작업의 양을 의미

3) 일괄처리 작업 (배치작업)

배치와 같은 일괄처리 작업에서는 PUSH 게이트웨이 기법이 주로 사용된다.

모니터링 도구의 종류 및 특징

모니터링 도구는 로그 기반, 메트릭 기반, 인프라 기반, 클라우드 기반으로 구분된다.

1) 메트릭 기반 모니터링 도구

시계열 메트릭 데이터를 수집하고 분석하는 도구이다.

🔹 Prometheus

  • Kubernetes 환경에 최적화
  • AlertManager를 통해 자동화 설정 가능
    👉 추천 상황: 마이크로서비스 환경에 적합

🔹 Datadog

  • APM + 인프라 모니터링 통합 지원
  • 실시간 경고 및 대시보드 제공
    👉 추천 상황: 클라우드 환경 통합 모니터링 시 적합

2) 인프라 모니터링 도구

서버, 네트워크, 클라우드 인프라 상태를 모니터링하는 도구이다.

🔹 Grafana

  • Prometheus와 연동하여 시각화 가능
  • 사용자 정의 대시보드 설정 가능
    👉 추천 상황: 시각화 및 사용자 정의 필요 시 적합

🔹 New Relic

  • 애플리케이션 및 인프라 통합 모니터링
  • 상세 성능 분석 가능
    👉 추천 상황: SaaS 기반 빠른 도입 시 적합

3) 클라우드 제공 모니터링 도구

클라우드 환경에서 제공하는 통합 모니터링 도구이다.

  • AWS CloudWatch → AWS 자원 통합 모니터링
  • Azure Monitor → Azure 자원 상태 모니터링
  • Google Cloud Operations Suite → GCP 자원 모니터링 및 분석

👉 추천 상황: 특정 클라우드 환경에 종속된 경우

모니터링 전략 및 도입 시 고려 사항

1) SLI, SLO, SLA 설정

명확한 SLI, SLO, SLA 설정은 성능 개선과 사용자 신뢰 형성에 필수적이다.

  • SLI(Service Level Indicator): 성능, 오류율, 처리량 등의 정량적 측정값
  • SLO(Service Level Objective): SLI에 대한 목표 값이나 범위이며, 성능 기준을 설정해 사용자 기대치를 관리
  • SLA(Service Level Agreement): SLO 미달 시 발생할 결과를 정의하는 계약
  • SLI: 응답 시간 평균 500ms
  • SLO: 95%의 요청은 500ms 이내에 처리
  • SLA: 응답 시간 500ms 초과 시 보상 제공

2) 시각화

지표를 선정하고 수집하는 과정을 설계했다면 수치 시각화도 고려해보는 것이 좋다.

  • 시각화를 통해 시간에 따른 변화나 주기적인 패턴을 쉽게 식별 가능
  • 예) CPU 사용률이 매일 같은 시간에 급증하는 경우, 트래픽이 집중되는 시간대라는 것을 시각화된 그래프에서 명확하게 인지

3) 알림 설정

주기적으로 관심을 둘 수 있도록 이벤트 발생을 확인할 수 있는 도구가 필요하다.

  • 특정 지표 임계값 초과 시 Slack, 이메일, SMS로 경고 알림 발송
  • 예) 5xx 상태 코드가 1분 내 5회 이상 발생 시 경고

Reference

profile
꾸준히 성장하는 개발자🙌

0개의 댓글