Log 모니터링 서비스 가이드

제목 : Log 모니터링 서비스 가이드
작성자 : Whatap Support
이메일 : support@whatap.io
날짜 : 2021-10-05
버전 : 1.0.0

설명 : 본 문서는 WhaTap Log 모니터링 서비스 사용법에 대해 설명합니다.

1. 로그 모니터링이란?

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

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

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

tail은 '꼬리’라는 뜻입니다. 하나 혹은 여러 개의 파일에서 마지막 몇 줄 또는 실시간 갱신되는 정보를 보기 위해 리눅스 tail 명령어를 사용합니다.

1.1. 로그 통합

보통의 방법이 불편한 경우 로그 통합을 우선 검토합니다.

로그를 통합하면 크게 2가지 장점이 있습니다.

개별 서버마다 로그 파일 용량 관리를 할 필요가 없습니다. 그뿐만 아니라, 각각의 서버나 컨테이너로 접속해서 로그를 따로 확인하지 않아도 됩니다. 특히 MSA 환경에서는 로그 통합이 모니터링 필수 요소로 자리 잡고 있습니다. 개별 로그를 조회하는 것이 어렵기 때문입니다.

1.2. 로그 분석

로그를 통합했다면 특정 키워드를 필터링하고 집계할 수 있습니다.

실시간으로 생성되는 다수 로그를 대상으로 할 때 유용합니다.

2. 작동 원리

일반적인 로그 통합 서비스는 수집기, 처리기, 저장소 그리고 UI 모듈로 이루어져 있습니다. 각 단계별 설정과 구성이 필요합니다. VM을 구성하고 각각의 모듈을 구축하는 과정은 번거롭습니다. 추가 비용도 지불해야 합니다.

와탭 로그모니터링은 단순합니다.
기존의 모니터링 에이전트가 수집기 역할을 합니다. 와탭 서비스는 처리기, 저장소 그리고 UI를 대신합니다.
단순히 에이전트에 옵션을 켜는 것만으로 사용할 수 있습니다.

2.1. Java

애플리케이션의 Logger 모듈에서 로그를 직접 추출합니다. 파일에서 수집하지 않습니다.

이 구조는 수집할 애플리케이션 로그 파일의 경로를 지정하지 않아도 됩니다.

파일이 아닌 Java 애플리케이션에서 Logger 에서 직접 수집하기 때문에 시스템에 미치는 성능 영향이 매우 낮습니다.

Java Agent 2.1.0 버전부터 사용할 수 있습니다.

Logger 모듈은 Java 로깅 프레임워크를 의미합니다.
대표적으로 Apache Log4j, Logback 등이 있습니다.

3. 기능

3.1. 라이브 Tail

로그를 실시간으로 조회할 수 있습니다.

다음 기능이 가능합니다.

  • 특정 키워드를 포함 및 제외하는 필터 적용

  • 보고싶은 에이전트만 선택

3.1.1. UI

왼쪽 패널에서 에이전트를 선택하고 로그를 필터링할 수 있습니다.

LiveTail UI
  • 카테고리는 로그 파일 혹은 구분 명칭입니다. 모든 로그를 한 번에 보거나 특정 로그만 선택해서 볼 수 있습니다.

  • 필터는 특정 키워드를 제외하고자 포함할 때 이용할 수 있습니다.

  • 표시 태그에서는 보고자 하는 칼럼만 선택하시면 됩니다.

실시간 로그를 일시정지하고 새로 고침할 수 있습니다.

LiveTail Control

를 선택하면 메시지 표현 방식을 지정할 수 있습니다.

LiveTail Control Gear

3.2. 로그 탐색기

시간 범위를 지정해 저장된 로그를 조회할 수 있습니다.

다음 기능이 가능합니다.

  • 조건에 부합하는 로그 수를 시계열 차트로 조회

  • 특정 키워드를 포함하는 필터 적용

  • 보고싶은 에이전트만 선택

3.2.1. UI

왼쪽 패널에는 로그 조회에 필요한 옵션을 설정할 수 있습니다.

Logexplorer UI
  • 시간 선택으로 조회 시간을 선택할 수 있습니다. 최대 조회 범위는 1일입니다.

  • 카테고리를 선택하면 파일 별 로그를 확인할 수 있습니다.

  • 필터는 특정 키워드를 포함하거나 제외하고자 할 때 이용할 수 있습니다.

  • 표시 태그에서는 보고자 하는 칼럼만을 선택해 표현 하는 기능을 제공합니다.

우측 상단에 추이차트가 있습니다.

Logexplorer Trend Chart
  • 차트에서 바를 선택하면 해당 시간대 로그만을 확인할 수 있습니다.

좌측 상단에는 시간이 표시됩니다.

Logexplorer Time
  • 시간은 조회 시작 시간을 나타내며 바로 오른편은 바 사이의 시간 간격을 나타냅니다. 이미지는 조회 시작시간 2021-09-30 13:50:20, 시간 간격 1분을 의미합니다.

  • 우측의 시간 버튼을 통해서 로그 데이터를 꼼꼼히 조회해 볼 수 있습니다. +20s을 선택하여 20초부터의 데이터를 조회할 수 있습니다. 화살표를 클릭하여 페이지를 이동할 수 있습니다.

3.3. 로그 설정

데이터 유지 기간과 로그 조회 비밀번호를 지정할 수 있습니다.

다음 기능이 가능합니다.

  • 로그 모니터링 기능 활성화/비활성화

  • 데이터 유지 기간 변경

  • 로그 조회 비밀번호 설정

3.3.1. UI

로그 모니터링 기능을 활성화/비활성화할 수 있습니다.

Logmonitoring Enabled
  • 프로젝트 관리자(Super Admin)만 로그 모니터링 설정을 수정할 수 있습니다.

  • 토글 버튼을 켜면 로그 모니터링이 활성화됩니다.
    활성화한 날부터 15일 동안 무료로 체험하실 수 있습니다.

  • 토글 버튼을 끄면 기능이 비활성화됩니다.
    로그를 더 이상 저장하지 않습니다.

로그 데이터 유지 기간을 지정할 수 있습니다.

Logdata Repetition
  • 데이터 유지 기간은 최대 두 달입니다.

  • 비용은 유지 기간에 따라 달라집니다.

보안을 강화하고 싶다면 로그 조회 비밀번호를 설정해주세요.

로그 조회 비밀번호는 선택 사항입니다.

Logmonitoring Password
  • 비밀번호를 사용 중이라면 로그 데이터를 조회할 때 반드시 비밀번호를 입력해야 합니다.
    비밀번호가 기억나지 않는다면 프로젝트 관리자가 설정에서 새 비밀번호로 수정해야 합니다.

4. 사용 예

4.1. 실시간 조회

여러가지 조건을 유연하게 설정할 수 있습니다.

필터에서 A 키워드는 제외하는 조건과 B 키워드는 포함하는 조건을 동시에 적용하는 것이 가능합니다.

아래의 예시는 라이브 Tail 메뉴에서 "INFO" 키워드 제외, "Unknown" 키워드를 포함한 조건으로 검색한 결과입니다.

Livetail Example

4.2. 로그 탐색기

특정한 시간대의 로그를 검색할 수 있습니다.

아래의 예시는 왼쪽의 시간 선택에서 2021/09/27 하루를 지정하고 필터에 "ERROR" 키워드로 검색한 결과입니다.

Logexplorer Example

5. 관련 설정

5.1. Java

에이전트 설정 메뉴에서 logsink_enabled=true 옵션을 추가합니다.

적용하려면 애플리케이션을 다시 시작해야 합니다.

Logmonitoring Java Config

5.2. 주요 옵션

Java
logsink_enabled

Default : false
Type : Boolean
Log 모니터링 기능을 On/Off 합니다.

logsink_zip_enabled

Default : false
Type : Boolean
Log 데이터 전송 데이터 압축 여부를 설정합니다.