아파치 로그 모니터링 시스템 구축하기 - Logstash filter (ELK)

2024. 4. 26. 20:14·ELK

이전 글 참고

아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)

 

아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)

현재 운영 중인 프로젝트 서버의 로그를 모니터링하고자 ELK 파이프라인을 구축했다. 그래서 서비스 ELK 파이프라인 구축하기 전, 시험 삼아 apache 로그 모니터링 시스템을 구축했던 과정을 블로

gani-dev.tistory.com

아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)

 

아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)

이전 글 참고 !아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)Filebeat이란?Elsastic 서비스인 Beats의 서비스 중 하나이며, 로그 데이터를 수집하고 전달하는 역할을 한다. Filebeat는 지정한 로그 파

gani-dev.tistory.com

아파치 로그 모니터링 시스템 구축하기 - Logstash (ELK)

 

아파치 로그 모니터링 시스템 구축하기 - Logstash (ELK)

이전 글아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)Logstash란?실시간 파이프라인 기능을 갖춘 오픈소스 데이터 수집 엔진이다. 수집한 데

gani-dev.tistory.com

 

 

Logstash filter

logstash의 filter plugin에는 여러 종류가 있다. 그 중에서 이번에는 grok 와 mutate를 이용하려고 한다.

 

grok 란?

비구조화된 로그 데이터를 구조화하고 질의 가능한 형태로 파싱할 수 있도록 돕는 필터 플러그인이다.

주로 아파치 및 기타 웹 서버 로그, MySQL 로그를 다룰 때 사용된다.

grok 패턴의 구문은 %{SYNTAX:SEMANTIC}이다.

ex ) %{IP:client}

  • SYNTAX : 텍스트와 일치할 패턴의 이름을 말한다 . 예를 들어 55.3.244.1은 IP 패턴에 일치한다.
  • SEMANTIC : 일치하는 텍스트에 지정하는 식별자를 말한다. 예를 들어 55.3.244.1을 client 라는 식별자로 지정할 수 있다. 즉 client 식별자에는 55.3.244.1 텍스트가 저장됨

아래 로그를 아래 패턴으로 식별자 지정한다. (패턴이 로그와 일치하지 않는 경우 오류 발생)

 "message" => "10.0.11.218 - - [26/Apr/2024:05:44:07 +0000] \\"GET / HTTP/1.1\\" 403 45 \\"-\\" \\"curl/8.5.0\\"",
filter {
    grok {
        match => {"message" => "%{IP:client} %{USER:ident} %{USER:auth} \\[%{HTTPDATE:timestamp}\\] \\"%{WORD:method} %{DATA:request} HTTP/%{NUMBER:httpversion}\\" %{NUMBER:response} %{NUMBER:bytes}" }
}
}
  • client : 10.0.11.218
  • ident : -
  • auth : -
  • timestamp : 26/Apr/2024:05:44:07 +0000

… 등등

Grok filter plugin | Logstash Reference [8.13] | Elastic

 

Grok filter plugin | Logstash Reference [8.13] | Elastic

Variable substitution in the id field only supports environment variables and does not support the use of values from the secret store.

www.elastic.co

 

Mutate 란?

필드에 대한 정보를 변경할 수 있는 필터 플러그인이다. 이벤트에서 필드를 이름 변경하고 대체하고 수정할 수 있다.

예를 들어 replace를 이용하면, 값을 대체할 수 있다.

아래의 예시에서는 message 필드의 값을 grok 필터에서 저장한 식별자 값들의 일부로 구성하고 있다.

filter {
    grok{
        match => {"message" => "%{IP:client} %{USER:ident} %{USER:auth} \\[%{HTTPDATE:timestamp}\\] \\"%{WORD:method} %{DATA:request} HTTP/%{NUMBER:httpversion}\\" %{NUMBER:response} %{NUMBER:bytes}" }
}
mutate {
        replace => { "message" => "%{client} %{method} %{request} %{response}" }
    }

}
//replace 전
"message" => "10.0.11.218 - - [26/Apr/2024:05:44:07 +0000] \\"GET / HTTP/1.1\\" 403 45 \\"-\\" \\"curl/8.5.0\\"",
//replace  후
"message" => "10.0.11.218 GET / 403"

Mutate filter plugin | Logstash Reference [8.13] | Elastic

 

Mutate filter plugin | Logstash Reference [8.13] | Elastic

Conversion insights The values are converted using Ruby semantics. Be aware that using float and float_eu converts the value to a double-precision 64-bit IEEE 754 floating point decimal number. In order to maintain precision due to the conversion, you shou

www.elastic.co

 

'ELK' 카테고리의 다른 글

아파치 로그 모니터링 시스템 구축하기 - Elasticsearch(ELK)  (1) 2024.04.26
아파치 로그 모니터링 시스템 구축하기 - Logstash (ELK)  (1) 2024.04.26
아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)  (0) 2024.04.25
아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)  (0) 2024.04.25
'ELK' 카테고리의 다른 글
  • 아파치 로그 모니터링 시스템 구축하기 - Elasticsearch(ELK)
  • 아파치 로그 모니터링 시스템 구축하기 - Logstash (ELK)
  • 아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)
  • 아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)
gani+
gani+
꾸준히 기록할 수 있는 사람이 되자 !
  • gani+
    Gani_Dev :)
    gani+
  • 전체
    오늘
    어제
    • 분류 전체보기 (43)
      • 당장 프로젝트 (2)
        • 트러블슈팅 (0)
      • 댕댕어디가 프로젝트 (11)
        • 트러블슈팅 (3)
        • MSA (8)
      • 개발일지 (2)
      • BOOK (12)
        • SQL 레벨업 (10)
      • 프로젝트 (0)
      • ELK (5)
      • 알고리즘 (9)
      • CS (2)
        • 디자인패턴 (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    이것이 코딩 테스트다
    4963
    후기
    순차탐색
    최단경로
    이진탐색
    4673
    백준
    SWMaestro14
    14기
    섬의개수
    dfs
    이것이코딩테스트다
    DP
    백준4963
    다익스트라
    알고리즘
    9095
    SW마에스트로
    다이나믹프로그래밍
    해쉬
    완전탐색
    정렬
    소마
    플로이드워셔
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gani+
아파치 로그 모니터링 시스템 구축하기 - Logstash filter (ELK)
상단으로

티스토리툴바