모니터링이란?

김홍석·2024년 7월 19일

모니터링

목록 보기
1/3
post-thumbnail

web-service monitoring

1. 일단 왜 모니터링이 필요한 이유

웹서비스 같은경우에는 잠깐 켰다가 꺼지는것이 아니고 실시간으로 돌아가기 떄문이다. 그렇다는것은 어떤 문제가 터질 지 모르기 떄문에 그과정을 매 시간 동안 확인을 해야한다. 그리고 실시간으로 문제가 터지더라도 인식 할 수 없기때문에 알림으로 알려주어야 한다. 그리고 크게 우리 시스템의 지표를 확인 할 수 있고, 나중에 생길 문제들을 대비할 수 있다.

2. 모니터링을 하기 전에 어떤 것을 모니터링 할지를 생각을 해야한다.

2-1) 컴퓨터 자원에 대한 모니터링

이것은 이제 우리가 흔히 말하는 cpu,memory,disk등등에 대한것이다 내 컴퓨터 자원들이 괜찮게 돌아가고 있는지 확인을 하는것이고 APM(Application Performance Management)이라고 한다.

2-2) 로그에 대한 모니터링

이것은 이제 로그에 대한 모니터링인데 흔히 api사용 량 아니면 Logging Levels(로그 레벨)에 관한것을 모니터링 할 수 있다.

2-3) 저장된 데이터들의 대한 모니터링

이것은 이제 지금까지 있는 데이터들을 기반으로 필요한 정보들을 뽑아내서 그 데이터들을 가지고 이용을 하는방법이다.

3. 모니터링 시스템 구조

3-1) 데이터 수집

데이터 수집을 통해서 원하는 정보들을 가지고 와야 한다. 예를 들어서 매트릭을 가져오려고 한다면 Cadvisor랑 로그를 가지고 오려고 하려면 Filebeat,Logstash를 사용하게 된다.

3-2)데이터 전달(모니터링 서버)

이 데이터들을 수집을 하고 전달을 하기 위해서는 Polling 방식과 Streaming 방식으로 두개를 나눌 수 있다 . Polling 방식은 특정 주기를 가지고 서버에 HTTP request를 하는 방식이다. Streaming 방식은 정보가 수집되는 바로 보내주는 형식이다. 각각의 장단점이 있다.

3-3) 데이터 처리

받은 데이터들을 이제 쓸모없는 데이터들은 다 버리고 이제 쓸모있는 데이터들을 쓸 수 있도록 가공을 시키는것이다.

3-4) 데이터 시각화

이제 데이터 처리를 통해서 가공된 데이터들을 시각화를 시켜줘야 한다. 예를 들어서 매트릭들을 시각화 하고 싶으면 Grafana가 될 수 있고 로그들을 시각화 하고 싶으면 Kibana가 될 수 있겠다.여기서 매트릭과 로그에 대해서 잠깐 설명하자면

매트릭(Metrics)

  • 정의: 시스템 또는 애플리케이션의 성능이나 상태를 나타내는 수치 데이터
  • 형식: 일반적으로 숫자 형식으로 표현된다
  • 사용 예시: CPU 사용률, 메모리 사용량, 네트워크 트래픽 등.
  • 목적: 시스템의 상태를 실시간으로 모니터링하고, 경향을 분석하여 성능 최적화나 장애 예방

로그(Logs)

  • 정의: 시스템 또는 애플리케이션의 동작이나 이벤트에 대한 기록
  • 형식: 텍스트 형식으로 표현되며
  • 사용 예시: 오류 메시지, 사용자 활동 기록, 애플리케이션 이벤트 등.
  • 목적: 문제 해결, 감사, 보안 분석 등을 위해 사용되며, 사건의 원인을 추적하거나 특정 동작을 검토한다.

4. 추가적으로

4-1) 알림시스템

모니터링 시스템에서 중요한 부분으로, 문제가 발생했을 시 실시간으로 문제가 터졌다고 알리는 기능이 필요하게 되는데 예로 Slack,sms,Email등등으로 알림이 가도록 해야한다.

4-2) 보안

모니터링 시스템 자체의 보안도 중요하다. 데이터 접근 관리와 로그의 보안성도 고려해야 한다.

profile
코린이 행동일지

0개의 댓글