로그 모니터링이란?

로그는 애플리케이션 실행 중 발생하는 이벤트와 메시지 등을 기록한 파일입니다.

애플리케이션 활동과 발생한 이슈의 원인을 이해하려면 반드시 로그 파일을 들여다봐야 합니다.

로그 모니터링은 보통 단순히 서버에 접속해 tail 명령어나 편집기를 통해 확인합니다. 하지만 일반적인 방법을 사용하기 어려운 환경이 있습니다. 다수의 애플리케이션이 분산되어 구성된 MSA 혹은 대량의 로그가 발생하는 경우입니다.

리눅스 tail 명령어는 시간에 따라 내용이 추가되는 로그 등을 확인하기 위한 용도로 많이 사용됩니다.

로그 통합

서버에 출력되는 로그를 확인하기 위해서는 개별 서버에 터미널을 통해서 접근하는 불편함을 감수해야 합니다.

로그 통합 시스템을 구축할 경우, 개별 서버에 접근하지 않고 중앙에서 로그의 내용을 확인할 수 있으므로 편의성이 확보되고, 화면을 통해 로그의 확인이 가능해 지는 것만으로 에러 및 이슈 정보에 접근성이 확보되어 장애의 조기 감지 효과 또한 얻을 수 있습니다. 특히 MSA 환경 혹은 Kubernetes 환경과 같은 경우, 개별 서버 혹은 컨테이너에 일일이 접속해야 하는 번거로움을 최소화하여 모니터링 할 수 있어, 로그 통합이 필수적인 요소가 되고 있습니다.

개별 서버에 로그를 적재할 경우, 로그로 인해 파일 시스템 용량이 과도하게 점유될 수 있어 최대 적재 용량 제한 등을 통해 일정 사이즈를 초과하지 않도록 하는 등의 조치를 필요로 합니다. 로그를 중앙에 모을 경우, 개별 서버에 로그 파일을 유지하지 않아도 되므로 중앙에 적재된 로그 데이터의 유지기간만을 관리하면 됩니다.

로그 분석

실시간으로 수집된 로그는 tail 명령어를 사용한 것과 같이 화면을 통해 흘러가는 로그를 확인할 수 있습니다. 통계적 목적으로 로그를 분류하여 특정 단위로 발생하는 로그 발생 건수 추이를 확인할 수 있으므로, 로그의 발생 건수가 장애 발생 및 해소 시점과 밀접한 연관을 가진 경우, 로그 발생 건수 추이를 통해 이를 확인할 수 있습니다. 로그 파서를 등록하여 특정 조건의 키워드로 대량의 로그를 빠르게 탐색하고 원하는 로그를 조회해 볼 수 있습니다.