모니터링이란?

- 시스템이나 서비나 애플리케이션을 통한 네트워크 장비, 데이터베이스 등의 다양한 컴포넌트가 정상적으로 작동하고 문제없이 가동될 수 있는지 확인하는 과정을 의미한다.
- 시스템 운영에서 관리자나 운영 담당자는 문제가 발생하지 않도록 매일 각종 컴포넌트에서 정보를 수집하여 상태를 파악해야 한다.
- 시스템 부하 상황에 따라 설정을 변경하거나 예상되는 장비 교체 및 스케일 조정에 미리 대비하는 것이다.
모니터링의 목적
- 시스템 다운이나 장애 발생 가능성을 미리 감지할 수 있어야 한다.
- 문제 발생 시 관리자나 운영 담당자의 빠른 대응이 이루어져야 한다.
- 각종 시스템 구성요소에서 정보를 수집하여 문제 상황을 신속히 파악하고 예방하는 것이 모니터링의 핵심이다.
모니터링 과정
시스템 모니터링은 모니터링 도구, 지표 모니터링, 정보 내용 확인 및 검토 세가지 과정으로 이루어진다. 이 세가지 과정을 차례대로 확인해야한다.
모니터링 도구 도입
- 모니터링을 구현할 때는 로그나 지표를 수집하는 모니터링 도구를 활용한다.
- 전용 모니터링 제품을 구매하거나 서비스 만들고 설치에서 이용하는 제품도 있지만, 모니터링 도구을 서버 운영 부문 때문에 최근에는 SaaS형으로 제공하는 모니터링 도구를 주로 사용한다.
- ex. AWS CloudWatch, Datadog, New Relic, Grafana, ...
지표 모니터링
지표의 종류와 특징
- 로그가 언제, 누가, 어떤 조치를 했는지 등 정보라면 지표는 언제, 무엇이, 어떤 상태 또는 값이었는지 등의 정보를 의미한다.
- 지표는 어떤 시점의 고객 수나 상품 처고 수에 해당한다.
시스템에서의 지표 활용
- 서버의 CPU 사용률이나 메모리 사용률, 네트워크 성능 등을 지표로 모니터링한다.
- 이렇게 지표를 모니터링하면 서버 부하를 파악하여 문제가 생기기 전에 적절한 시점에 서비스를 수정할 수 있다.
지표 수집
- 수집하는 지표는 서버 용도에 따라서 달라질 수 있다.
- 예를 들어 CPU 사용률이나 메모리 사용률 뿐만 아니라, 웹 애플리케이션의 각 HTTP 상태 코드의 응답 수도 모니터링 대상에 포함된다.
- 데이터베이스라면 쿼리 횟수나 데이터베이스 읽고 쓰기 작업의 디스크 IO 등도 모니터링 대상이 된다.
경보 알림
- 모니터링은 로그나 지표를 수집할 뿐만 아니라 관리자나 운영 담당자에게 알림을 보내는 경우도 존재한다.
- 예를 들어 로그 모니터링은 오류나 특정 문자열이 있으면 경보를 보낸다.
지표 모니터링에서의 경보
- 지표 모니터링은 일정 값을 설정해서 그 값 범위를 벗어나면 경보를 보내게 된다.
- 시스템 운영자에게 경보를 보내서 빠른 대응과 사태 파악을 하도록 돕는 것이 목적이다.
경보의 중요성
- 경보는 평시 시스템 부하를 파악하여 서버 대수를 늘리거나 서버 사양을 변경하는 등의 인프라 개선을 검토할 기본 자료가 된다.
경보 전송 방법
- 시스템 특성이나 모니터링 용도에 따라 담당자별로 이메일이나 메시지를 보내는 방법이 존재한다.
- 심각도가 낮다면 경보 자체를 로그로 남기는 방법도 있다.
경보 임계 값 변경
- 경보의 임계 값은 언제든 변경할 수 있다.
- 경보가 자주 발생하지만 시스템 가동에 문제없다면 임계 값을 높이기도 한다.
- 경보가 필요 없다면 경보 자체를 제거할 수도 있다.
- 반대로 조기에 상황을 파악하기 위해 임계 값을 낮추기도 한다.