아파치 로그 모니터링 시스템 구축하기 - Logstash filter (ELK)개발일지/ELK2024. 4. 26. 20:14
Table of Contents
이전 글 참고
아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)
아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)
아파치 로그 모니터링 시스템 구축하기 - Logstash (ELK)
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
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
'개발일지 > ELK' 카테고리의 다른 글
아파치 로그 모니터링 시스템 구축하기 - Elasticsearch(ELK) (1) | 2024.04.26 |
---|---|
아파치 로그 모니터링 시스템 구축하기 - Logstash (ELK) (1) | 2024.04.26 |
아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK) (0) | 2024.04.25 |
아파치 로그 모니터링 시스템 구축하기 - 개요(ELK) (0) | 2024.04.25 |
@gani+ :: Gani_Dev :)
꾸준히 기록할 수 있는 사람이 되자 !