상세 컨텐츠

본문 제목

Graylog 필드 추출 및 시계열 그래프 작성

카테고리 없음

by Keunwoo.LEE 2023. 5. 10. 11:34

본문

반응형

Graylog로 로그를 수집하고 검색하다 보면 로그의 특정 부분만을 기준으로 검색하고 싶은 경우가 있다.

예를 들면, 어떠한 로그파일에 Log Level이 있는데 "ERROR" 로그가 시간별로 얼마나 발생했는지 보고 싶을수 있다.

또는 각각의 Log Level을 기준으로 발생되는 현황을 보고싶을 수도 있다.

이때 해당 Log Level을 필드화 할수 있다면, 해당 필드를 기준으로 집계를 낼수 있다.

이때 필요한 기능이 "필드추출 "이다. ELK와 달리 Graylog는 필드 추출을 매우 쉽게 진행할 수 있다.

 

Note : Extractor는 Input 에 적용 됨. (System -> Inputs에서 확인 가능)

만약 Stream에 적용하고 싶으면 Pipeline을 이용해야 함.

1. Create extractor

  • 로그 검색 -> 필드 추출이 필요한 샘플로그 클릭 -> 추출이 필요한 필드 클릭 -> Create extractor 클릭 -> Regular expression -> Submit
  • 아래 예제는 특정 로그파일에서 로그 등급 (eg: INFO, WARN 등) 부분을 Regular expression을 이용하여 별도의 필드로 추출하는 예제

Create extractor

2. Regular expression 형식 선택

3. 필드 추출 구성 및 테스트

  • 아래와 같이 정규식을 통해 필드 추출 및 테스트 진행
  • Graylog 정규식은 Java 기반 정규식
  • https://regex101.com 사이트를 통해 정규식을 테스트해 볼 수 있음 (좌측 Flavor 메뉴에서 Java8 선택)

4. 확인

  • 필드 추출 적용 후 로그를 검색해 보면 아래와 같이 신규 필드로 저장되는 것을 확인할 수 있음

5. 정규식 테스트 사이트인 https://regex101.com 예제 화면

6. 추출한 logLevel 필드를 이용하여 시계열 그래프 작성

  • Graylog Search 화면에서 좌측 "+" 아이콘 클릭 -> Aggregation 클릭
  • Empty Aggregation이 생성되면 Edit 버튼 클릭 후 그래프 작성

반응형

댓글 영역