Logstash의 Filter 란? 정형화되어있는 데이터(예 RDB, CSV 등)를 ES에 저장하기 위해 알맞게 가공하는 것으로 Logstash 7.6 기준으로 46개의 Filter Plugin을 지원합니다. 상세한 정보는 공식 홈페이지 참고하시기 바랍니다. Filter plugins | Logstash Reference [7.6] | Elastic www.elastic.co CSV Filter 설정값 CSV는 쉼표(,)로 구분된 정형화된 데이터입니다. CSV Filter Plugin을 사용하여 ES에 저장하기 위해서는 CSV Filter 설정값을 확인해야 합니다. 설정값에 대한 설명은 첨부해드리는 링크 확인해 주시기 바라며, 많은 옵션중 우리가 사용할 옵션 위주로 살펴보도록 하겠습니다. (CSV Fil..
2편에서 Parsing한 데이터의 정확성 및 다양한 데이터로 확장 방법 소개 1) Access log 요청 마친 시간으로 Parsing 시간을(@timestamp) 변경 2) geoip plugin 적용하여 clientip 지도에 출력 3) useragent plugin 적용 1. Parsing된 timestamp, @timestamp 확인 JSON에서는 Timezone 확인이 불가하니 Kibana를 통해 확인 필요 kibana 설정으로 인해 한국시간(UTC+9)으로 자동 변경됨 timestamp : 클라이언트 요청을 마친 시간(붉은색) @timestamp : parsing된 시간(UTC+0), JSON에서는 한국 시간(UTC+9)으로 변환 안됨(파란색) → Kibana에서 정상 표기됨 즉, access..
Grok Pattern을 사용하여 사용자가 원하는 데이터로 Parsing 해보자 1. 사용할 Apache Access Log 데이터 확인 # Access Log 예시 1.2.3.4 - - [28/Apr/2019:00:01:58 +0900] "GET /assets/css/reset.css HTTP/1.1" 200 1075 "https://www.example.com/login/form.do" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko" 항목 설명 사용여부 1.2.3.4 IP Y - 클라이언트의 RFC 1413 신원 N - 사용자의 userid N [28/Apr/2019:00:01:58 +0900] 요청 마친 시간 Y GET..
Grok Debugger를 사용하여 Apache Access Log Parsing 해보자. 1. Combined 로그 형식 access_log 출력 예시 #log/access_log 1.2.3.4 - - [28/Apr/2019:00:01:58 +0900] "GET /assets/css/reset.css HTTP/1.1" 200 1075 "https://www.example.com/login/form.do" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko" httpd.conf 설정 값 확인 # httpd.conf LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-age..