logstash: 4개의 글
오늘 간단히 다루어볼 내용은 엘라스틱서치의 REST 자바 클라이언트인 Rest High Level Client를 이용하여 Index Template을 생성해보는 예제이다. 바로 예제로 들어간다. public void indexTemplate() throws IOException { String typeName = "_doc"; if(!existTemplate()) { try(RestHighLevelClient client = createConnection();){ PutIndexTemplateRequest templateRequest = new PutIndexTemplateRequest("log-template"); templateRequest.patterns(Arrays.asList("logstash-..
오늘 포스팅할 내용은 ELK Stack의 요소중 하나인 Logstash(로그스태시)입니다. 로그스태시 설명에 앞서 로그란 시스템이나 애플리케이션 상태 및 행위와 관련된 풍부한 정보를 포함하고 있습니다. 이러한 정보를 각각 시스템마다 파일로 기록하고 있는 경우가 대다수 일겁니다. 그렇다면 과연 이러한 정보를 파일로 관리하는 것이 효율적인 것인가를 생각해볼 필요가 있습니다. 한곳에 모든 로그데이터를 시스템별로 구분하여 저장하고 하나의 뷰에서 모든 시스템의 로그데이터를 볼 수 있다면 굉장히 관리가 편해질 것입니다. 이러한 모든 로그정보를 수집하여 하나의 저장소(DB, Elasticsearch 등)에 출력해주는 시스템이 로그스태시라는 시스템입니다. 앞선 포스팅에서 다루어보았던 Filebeat와 연동을 한다면 파..
grok은 비정형 데이터를 파싱하여 정형데이터로 만드는 라이브러리다. key/value형태로 적재된다. 골때리는건 정규표현식쓰는 방법이 독특하다는 거다.. 참조문서 : https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html 1. 기본문법 %{SYNTAX:SEMANTIC} SYNTAX = 텍스트와 일치하는 패턴의 이름 SEMANTIC = 식별자 (ex) %{NUMBER:duration} %{IP:client} (필터링) SEMANTIC SYNTAX 식별자 텍스트 (결과) 버전 3.44 클라이언트 1.1.1.1 2. 기존 패턴 라이브러리 https://github.com/elastic/logstash/blob/v1.4.0/patt..
centos 7을 기준으로 한다. jdk8이 필요하다. 참조문서: https://www.elastic.co/guide/en/logstash/5.4/index.html 1. 설치 curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-5.4.0.tar.gz tar -xvf logstash-5.4.0.tar.gz cd logstash-5.4.0/bin 테스트 ./logstash -e 'input { stdin { } } output { stdout {} }' input을하면 ouput이 출력된다. -e 는 명령창에 직접 코드치는 옵션이다. localhost:9600 에 들어가보면 json이 간단히 떠있다. 종료는 ctrl+d로 한다. {"ho..