개발노트

25.03.30 모니터링 시스템 본문

DevOps

25.03.30 모니터링 시스템

ddong-kka 2025. 3. 30. 17:14

개요

모니터링에 대해 학습한것들 정리하고 기록해본다.

 

모니터링이란?

시스템, 애플리케이션, 네트워트 등의 상태를 지속적으로 감시하고 데이터를 수집하는 과정이다.

이를 통해 성능 문제, 장애, 보안 위협등을 사전에 감지하고 신속하게 대응할 수 있다.

 


 

모니터링의 중요성

애플리케이션을 개발한 후, 안정적이고 효율적인 운영을 위해 모니터링은 필수적이다.
모니터링은 시스템의 성능, 가용성, 안정성을 지속적으로 감시하고, 잠재적인 문제를 신속하게 발견하여 대응할 수 있도록 도와준다

 

 

장애 예방 및 신속한 대응

  • 시스템에서 발생하는 예기치 않은 오류, 장애를 조기에 감지하여 대응할 수 있다.
  • Prometheus + Grafana와 같은 도구를 활용하면 실시간으로 CPU, 메모리, 디스크 사용량, 네트워크 상태를 모니터링하여 이상 징후를 감지할 수 있다.
  • 예시 :
    • 서버의 CPU 사용량이 90%를 초과하면 경고 알림을 보내고, 필요하면 자동으로 서버를 확장(Scaling)
    • 특정 API의 응답 속도가 갑자기 증가하면 경고 알림 보내기

애플리케이션 가용성 ( Availability ) 향상

  • 다운타입 ( DownTime) ) 을 최소화하여 서비스 연속성을 유지할 수 있다.
  • 서버 상태, 트래픽 변화, 에러 발생 빈도를 모니터링함으로써 애플리케이션이 안정적으로 운영되도록 보장 가능하다.
  • 예시 :
    • Kubernetes + Prometheus를 활용하면, 컨테이너가 다운되었을 때 자동으로 재시작
    • 서비스가 다운되었을 경우 담당자에게 Slack 알림 전송

성능 최적화 및 리소스 관리

  • 애플리케이션의 성능을 최적화하고, 자원의 효율적인 사용을 보장하는 데 도움이 된다.
  • 성능 병목 현상(Bottleneck)이나 리소스 낭비를 조기에 식별하여 해결 가능
  • 비효율적인 부분을 찾아내 성능을 개선할 수 있다.
  • 예시 :
    • DB 쿼리 실행 시간이 길어지면, 인덱스를 추가하거나 캐싱(Cache) 적용
    • 효율적인 API 호출 패턴을 발견하고 최적화하여 네트워크 비용 절감

로그 분석을 통한 문제 해결

  • 시스템 로그를 수집하고 분석하여 이상 징후를 조기에 발견하고, 문제의 원인을 정확히 파악할 수 있다.
  • ELK Stack (Elasticsearch + Logstash + Kibana) 또는 Loki를 활용하여 로그 데이터를 시각화하고, 장애 원인을 분석할 수 있다.
  • 예시 :
    • "ERROR" 로그가 10분 동안 100회 이상 발생하면 Slack 알림 전송
    • 특정 IP에서 과도한 요청이 감지되면, 보안 경고 및 IP 차단

사용자 경험 개선 ( User Experinece ) 개선

  • 사용자가 애플리케이션을 이용할 때 발생하는 지연 시간, 응답 속도, 오류 발생 빈도를 모니터링하여 UX 개선 가능
  • 웹 사이트 성능을 측정하고 최적화해 빠른 로딩 속도를 유지할 수 있게된다.
  • 예시 :
    • 웹 페이티 로딩 시간이 3초를 초과하면 알림을 보내고 성능 최적화 조치를 수행할 수 있도록한다.

보안 및 규정 준수 ( Security & Compliance )

  • 시스템 내에서 발생하는 비정상적인 활동을 감지하여 보안 위협을 방지할 수 있게된다.
  • 예시 :
    • 5분 동안 동일한 계정에서 수많은 로그인 시도 -> 자동 차단
    • 특정 국가 또는 지역에서 비정상적인 요청 급증 시 경고

 


 

총 정리

모니터링은 단순한 감시가 아니라 서비스 품짐을 높이고 장애를 예방하는 핵심적인 전략이다.

다운 타입을 최소화하고 성능을 최적화해 사용자 경험을 개선할 수 있다.

장애 발생 시 신속한 원인 분석 및 대응이 가능하며, 보안 및 비용 관리에도 기여가 가능하다.

DevOps와 SRE(Site Reliability Engineering)에서 필수적인 역할을 수행하며, 자동화된 대응 시스템과 연계하면 더욱 효과적인 운영이 가능