로그 설정

로그 모니터링에 대한 설정을 할 수 있습니다. 에이전트 설정 확인, 로그 모니터링의 활성화 여부 결정, 로그 데이터의 유지기간 및 조회 비밀번호 설정, 로그 파서 등록, 빠른 인덱스 설정 등의 메뉴를 사용할 수 있습니다.

Log Configuration
Figure 1. 로그 설정 화면

메뉴

사이드 메뉴의 로그 > 설정 메뉴를 통해 로그 설정 화면으로 이동합니다.

Log Configuration
Figure 2. 로그 설정 메뉴

권한

프로젝트에 대한 *수정 권한*이 있는 경우에만 로그 모니터링 설정을 수정할 수 있습니다.

로그 모니터링 시작하기

1. 에이전트 설정 확인

로그 모니터링을 시작하기에 앞서 에이전트 버전 및 설정 정보를 확인합니다.

  • 애플리케이션 모니터링

    • 적용 방법 하위의 Java, PHP, Python 문서를 확인해 주세요.

  • 서버 모니터링

    • 설정 안내 페이지의 절차를 통해 whatap.conf 에 로그 감시 대상 파일 설정을 추가합니다.

Log Agent Configuration
Figure 3. 에이전트 설정 확인

2. 로그 모니터링 활성화

로그 모니터링 활성화 여부를 설정할 수 있습니다.

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

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

Log Activation
Figure 4. 로그 모니터링 활성화

로그 모니터링 설정

Log Configuration
Figure 5. 로그 모니터링 옵션 설정

데이터 유지 기간

공통으로 적용할 기본(default) 데이터 유지기간입니다. 카테고리별 데이터 유지기간을 별도로 설정하지 않으면 이 데이터 유지 기간이 기본적으로 적용됩니다.
카테고리별 데이터 유지 기간을 설정한 뒤, 리셋 버튼을 클릭하면기본 데이터 유지기간으로 초기화됩니다.

카테고리별 데이터 유지 기간

카테고리별 로그 데이터 유지 기간을 지정할 수 있습니다. 저장량은 로그 저장 용량, 로그수는 쌓인 로그 라인, 예상 저장량은 지정한 데이터 보관일을 기준으로 예상되는 로그 저장 용량을 의미합니다.

금일 저장량은 하루동안 쌓인 로그의 저장 용량, 금일 로그수는 하루동안 쌓인 로그 라인 개수를 의미합니다.
  • 트라이얼 프로젝트의 경우 데이터 유지 기간으로 1일, 2일, 3일을 선택할 수 있습니다.

  • 유료 프로젝트의 경우 데이터 유지 기간으로 1일, 2일, 3일, 4일, 5일, 6일, 7일, 10일, 30일, 40일을 선택할 수 있습니다.

  • 저장량 기준으로 과금됩니다. 따라서 데이터 유지 기간에 따라 비용이 달라집니다.

    • 예시) 일 평균 200만 로그 라인이 쌓이고, 데이터 유지기간을 3일로 지정한 경우, 평균 600만 로그 라인이 수집 서버에 유지되고 과금 대상이 됩니다.

로그 조회 비밀번호

보안을 강화하고 싶다면 로그 조회 비밀번호를 설정해주세요. 로그 조회 비밀번호는 선택 사항입니다.

Log Set Password
Figure 6. 로그 조회 비밀번호

로그 조회 비밀번호를 사용 중이라면, 로그 화면에 진입시 반드시 비밀번호를 입력해야 합니다.

  • 비밀번호가 기억나지 않는다면 프로젝트 관리자가 설정에서 새 비밀번호로 수정해야 합니다.

Log Input Password
Figure 7. 로그 조회 비밀번호를 사용하는 경우 (예시: 라이브 Tail)

로그 파서 설정

수집된 로그를 검색할 수 있는 키를 만들기 위해 파싱(Parsing) 로직을 등록할 수 있습니다. 파싱 로직을 등록하지 않은 경우 아래의 key들로만 검색이 가능합니다.

  • category, oid, oname, okind, okineName, @txid, @login, httphost

Log Parser
Figure 8. 로그 파서 설정

"필터 추가" 버튼을 클릭하여 필터를 입력할 수 있습니다. 필터 입력시, 필터 조건에 맞는 로그 데이터에만 패턴을 적용합니다.

Log Filter
Figure 9. 로그 파서 설정 - 필터 추가

각각의 파서 설정을 드래그해서 파서의 순서를 변경할 수 있습니다.

Log Pattern Reordering
Figure 10. 로그 파서 순서 변경

파서 등록 순서

파서를 등록하는 순서는 아래와 같습니다.

  1. 추가하기 버튼 클릭

  2. 카테고리 선택/직접 입력

  3. 필터 추가 (optional)

  4. 패턴 입력

  5. 등록하려는 패턴이 정상적인지 시뮬레이션 및 패턴의 퍼포먼스 측정

  6. 시뮬레이션의 결과가 정상적이라면 “저장”버튼을 눌러서 저장

    “리셋”버튼을 클릭하면, 작성중이던 내용이 초기화 됩니다.

설정 항목

Table 1. 파서 설정 항목
설정 값 설명 기타

카테고리

패턴을 적용할 카테고리입니다.

required

필터

필터로 적용할 search key, search value를 입력합니다. 필터 조건에 맞는 로그 데이터에만 패턴을 적용합니다.

optional

패턴

로그를 파싱(parsing)할 패턴입니다. 작성한 패턴에 맞추어서 파싱을 하고, 인덱스를 생성합니다. Grok, Custom 문법을 지원합니다.

required

활성

활성/비활성 여부입니다.

기본값은 true

패턴 등록

4가지 유형의 파서를 제공합니다.

4XX, 5XX 상태 코드 파서와, 상태 코드 성공률 파서는 Grok 또는 JSON 포맷 파서를 통해 status 키가 추출되어 있어야 활용가능합니다.
  1. Grok

  2. JSON 포맷 파서

  3. 4XX, 5XX 상태 코드 파서

  4. 상태 코드 성공률 파서

Log Parsers
Figure 11. 로그 파서
  1. Grok 패턴 파서 등록

    문법: %{SYNTAX:SEMANTIC}

    • SYNTAX - Grok 정의 패턴

    • SEMANTIC - 파싱된 데이터에 할당할 키

    SEMANTIC에는 예약어 등이 사용되지 않도록 조합어 사용을 권장합니다.
    Log Grok Parser
    Figure 12. Grok 패턴 파서
  2. JSON 포맷 파서 패턴 등록

    로그 전체 혹은 일부가 JSON 형태로 출력되는 경우, JSON 포맷 파서를 통해 JSON으로 출력된 부분을 파싱할 수 있습니다.

    JSON Parser
    Figure 13. 와탭 포맷 파서 패턴
    Table 2. JsonParser 옵션
    옵션 설명

    prefix

    JSON 문자열의 시작 부분 앞의 문자열을 지정합니다. 미지정 시, 로그 출력문의 맨 앞 부터를 JSON 문자열로 식별합니다.

    postfix

    JSON 문자열의 종료 부분 뒤의 문자열을 지정합니다. 미지정 시, 로그 출력문의 맨 뒤 까지를 JSON 문자열로 식별합니다.

    ignore

    JSON 출력부 중 키 추출을 제외할 필드를 지정합니다.

    Example 1. 등록 예시

    유입되는 로그가 다음과 같은 상황이고, Request JSON, Response JSON을 모두 파싱하고자 하는 경우,

    로그 원문
    [2022-10-25 10:15:34:145]...(개행)
    Request : {"key1":"value1","key2":"value2",...}(개행)
    Response : {"key3":"value3","key4":"value4",...}

    다음의 2가지 패턴을 등록합니다.

    • Request 파싱용 패턴
      ”Request : “ 와 “Response” 사이의 문자열 {"key1":"value1","key2":"value2",…​} 대상

    • Reponse 파싱용 패턴
      “Response : “ 부터 로그의 마지막 까지의 문자열 {"key3":"value3","key4":"value4",…​} 대상

    JSON Parser
    Figure 14. JSON 포맷 파서
  3. 4XX, 5XX 상태코드 파서 패턴 등록

    status가 이미 파싱된 경우 사용할 수 있는 파서입니다. 파싱된 status를 이용하여 추가적으로 4XX, 5XX 상태코드를 파싱합니다. 파싱한 데이터로 4XX, 5XX 건수 데이터를 생성할 수 있습니다.

    패턴에는 4XX, 5XX 상태 코드를 입력/선택 할 수 있으며, 입력된 상태 코드는 로그에서 4XX, 5XX 상태코드를 파싱할 때 제외됩니다.

    4XX
    Figure 15. 4XX, 5XX 상태 코드 파서

    4XX, 5XX 상태 코드 파서를 사용하기 위해서는, 먼저 status가 파싱되어 있어야 합니다.

    Example 2. status 파서 등록 예시

    유입되는 로그가 {"msg":"message","status":404}이고, 아래와 같이 Grok파서로 status를 파싱한다면, status: 404 와 같이 파싱됩니다. status가 정상적으로 파싱되는 것을 확인하였다면 4XX,5XX 상태 코드 파서 패턴을 등록합니다.

    status Parser
    Figure 16. Grok파서 - status 파싱 패턴 등록

    status가 정상적으로 파싱되는 것을 확인하였다면 4XX,5XX 상태 코드 파서 패턴을 등록합니다.

    파서를 모두 등록하였다면, 플렉스보드로 이동하여 로그 4XX,5XX 건수 위젯을 생성합니다.

    4XX
    Figure 17. Flex보드 - 로그 4XX,5XX 건수 위젯 템플릿

    위젯을 생성하면 다음과 같이 표시됩니다.

    4XX
    Figure 18. Flex보드 - 4XX, 5XX 건수 위젯

    차트 하단의 보조 테이블은 조회 기간에 대한 통계 값입니다.

    • avg : 조회 기간 데이터 평균값

    • max : 조회 기간 데이터 중 최대값

    • recently : 조회 기간 데이터 중 마지막 값

  4. 상태 코드 성공률 파서 패턴 등록

    status가 이미 파싱된 경우 사용할 수 있는 파서입니다. 파싱된 status를 이용하여 추가적으로 2xx, 3xx 상태코드를 파싱합니다. 파싱한 데이터로 HTTP 요청 성공률 데이터를 생성할 수 있습니다.

    패턴에는 2xx, 3xx 상태 코드를 입력/선택 할 수 있으며, 입력된 상태 코드는 로그에서 2xx, 3xx 상태코드를 파싱할 때 제외됩니다.

    Status Sucess Rate Parser
    Figure 19. 상태 코드 성공률 파서
    상태 코드 성공률 파서를 사용하기 위해서는, 먼저 status를 파싱해야합니다. (status 파서 등록 예시 참고
    status가 정상적으로 파싱되는 것을 확인하였다면, 상태 코드 성공률 파서 패턴을 등록합니다.

    파서를 모두 등록하였다면, 플렉스 보드로 이동하여 로그 요청 성공률 위젯을 생성합니다.

    Log Success Rate Widget Template
    Figure 20. Flex보드 - 로그 요청 성공률 위젯 템플릿

    위젯을 생성하면 다음과 같이 표시됩니다.

    Log Success Rate Widget
    Figure 21. Flex보드 - 로그 요청 성공률 위젯

    차트 위 데이터는 조회 기간에 대한 통계를 나타냅니다. 아래와 같이 통계 방법을 선택할 수 있으며, 최근값이 기본으로 선택되어 있습니다.

    • 최근값

    • 최대값

    • 평균

파서 시뮬레이션 테스트

등록하려는 패턴으로 파싱에 성공하는지 확인합니다.

현재 JSON 포맷 파서는 시뮬레이션 기능을 지원하지 않습니다.
Log Parser Pattern
Figure 22. 로그 파서 시뮬레이션 테스트
Log Simulation Success
Figure 23. 시뮬레이션 성공
Log Simulation Failure
Figure 24. 시뮬레이션 실패

퍼포먼스 측정

시뮬레이션에 성공한 경우, 퍼포먼스 측정 버튼을 클릭하여 파서에 대한 퍼포먼스를 측정할 수 있습니다.
시뮬레이션을 수행 대상 문자열에 대하여 파서의 반복 파싱 소요 시간을 측정합니다.

Log Parser Performance
Figure 25. 퍼포먼스 측정 결과 팝업

파싱에 성공한 경우

파싱 로직을 등록하여 키(key)가 생성되면, 로그 조회시 해당 키로 파싱된 값이 추가됩니다. 따라서 아래 이미지의 파란박스 부분에 파싱된 키/값이 추가됩니다.

  • 파싱된 키는 라이브테일, 로그 검색기, 로그 탐색기에서 확인할 수 있습니다.

Log Parsed
Figure 26. 로그 탐색기/검색기 화면 - 파싱된 키/값

빠른 인덱스 설정

대량의 로그를 수집하게 될 경우, 로그 검색 성능이 현저하게 저하될 수 있습니다.

자주 사용하는 검색 조건을 인덱스(index)로 생성하면 로그 검색의 성능을 개선하여 로그의 빠른 탐색이 가능해 집니다.

Log Fast Index
Figure 27. 빠른 인덱스 설정

설정 항목

Table 3. 빠른 인덱스 설정 항목
설정 값 필수 여부 설명

카테고리

필수

빠른 인덱스를 설정할 카테고리

태그

필수

빠른 인덱스를 설정할 태그

대소문자 구분 안 함

옵션

대소문자를 구분 여부

규칙

필수

* 한 개 이상 포함 필수

활성

필수

활성/비활성 여부(기본값 : true)

로그 장기 보관 통계 설정

로그 데이터는 용량이 매우 커서 장기간동안 보관하기가 어렵습니다. 따라서 "로그 통계 데이터 설정" 기능을 사용하여 특정 조건을 만족하는 로그 데이터가 5분마다 몇건씩 수집되었는지에 대한 정보를 저장할 수 있습니다. 장기간동안 실제 로그 데이터는 삭제되어도, 해당 조건을 만족하는 로그가 얼마나 수집되었는지 추이를 확인할 수 있습니다.

Log Period Stat
Figure 28. 로그 장기 보관 통계

설정 항목

Table 4. 로그 장기 보관 통계 설정 항목
필드 설명

카테고리

규칙을 적용할 카테고리 입니다.

키(key)

규칙을 만족하는 로그 발생시 저장할 키 값으로 동일한 key를 중복으로 설정할 수 없습니다.

규칙

로그 통계 데이터를 생성할 조건입니다. 이 조건을 만족하는 로그가 얼마나 수집되었는지를 기반으로 통계 데이터를 생성합니다.

제외

제외를 체크하면, 입력한 조건에 해당하지 않는 값으로 통계 데이터를 생성합니다.

대소문자 구분

입력한 규칙의 값에 대해서 대소문자 구분 여부를 지정합니다.

활성

활성/비활성 여부(기본값 : true)

아래와 같이 설정을 추가한 경우, 수집된 로그중 status가 200, 300인 로그를 대상으로 하여 TotalCount라는 키 값으로 통계 데이터를 생성합니다.

Log Period Stat Configuration
Figure 29. 장기 보관 통계 설정

플렉스보드의 위젯 템플릿에서 로그 장기 보관 통계를 검색합니다.

Log Period Widget Template
Figure 30. 장기 보관 통계 위젯 템플릿

위젯을 생성한 뒤 데이터를 조회할 카테고리와 키를 선택한 뒤 적용 버튼을 클릭합니다.

Log Period Widget Configuration
Figure 31. 장기 보관 통계 위젯 - 카테고리 및 키 선택

추가한 설정값으로 장기 보관 통계 데이터를 확인할 수 있습니다.

Log Period Widget View
Figure 32. 장기 보관 통계 위젯