Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- DevOps
- Kafka
- 프로그래머스
- 객체지향원칙
- aop
- EC2
- trouble shooting
- Til
- spring boot
- AWS
- algorithm
- 멀티 모듈
- Java
- MSA
- docker
- rabbitmq
- 테스트 코드
- 유효성 검사
- JPA
- testcode
- Github Actions
- swagger
- Intellij
- CI/CD
- Redis
- 어노테이션
- springboot
- 아키텍처
- JWT
- querydls
Archives
- Today
- Total
개발노트
25.03.30 모니터링 시스템 본문
개요
모니터링에 대해 학습한것들 정리하고 기록해본다.
모니터링이란?
시스템, 애플리케이션, 네트워트 등의 상태를 지속적으로 감시하고 데이터를 수집하는 과정이다.
이를 통해 성능 문제, 장애, 보안 위협등을 사전에 감지하고 신속하게 대응할 수 있다.
모니터링의 중요성
애플리케이션을 개발한 후, 안정적이고 효율적인 운영을 위해 모니터링은 필수적이다.
모니터링은 시스템의 성능, 가용성, 안정성을 지속적으로 감시하고, 잠재적인 문제를 신속하게 발견하여 대응할 수 있도록 도와준다
장애 예방 및 신속한 대응
- 시스템에서 발생하는 예기치 않은 오류, 장애를 조기에 감지하여 대응할 수 있다.
- 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)에서 필수적인 역할을 수행하며, 자동화된 대응 시스템과 연계하면 더욱 효과적인 운영이 가능
'DevOps' 카테고리의 다른 글
25.04.21 Github Container Registry 사용하기 (0) | 2025.04.21 |
---|---|
25.03.31 Spring Boot Acturator , Prometheus, Grafana (0) | 2025.03.31 |
Github Actions 와 CI/CD 란? (0) | 2025.03.04 |
25.03.03 GitHub Actions(CI / CD)와 Docker로 AWS에 자동 배포하기 (2) (0) | 2025.03.03 |
25.02.28 GitHub Actions(CI / CD)와 Docker로 AWS에 자동 배포하기 (1) (0) | 2025.02.28 |