티스토리 뷰

로그스태시(logstash)는 elastic stack에서 ELK 파이프라인으로 자주 사용되는 도구라고 알고 있습니다.


multi-input, multi-output을 지원하고 다양한 플러그인들을 제공해주어서 실시간 데이터 파이프라인으로 사용가능합니다.

거기다 오픈소스입니다.


간단하게 로그스태시에 관한 내용들을 정리해 보려고 합니다.


오늘은 간단한 설명과 설치, 실행까지만 정리하려고 합니다.




1. 로그스태시란?


로그스태시란 뭔가에 대해서 공식홈페이지를 보면 아래와 같이 설명하고 있다.


"logstash는 실시간 파이프라인 기능을 가진 오픈소스 데이터 수집엔진입니다" - by 엘라스틱 공식홈페이지


데이터 수집엔진이라고 나와 있어서 딱 감이 오기는 어려울수 있다.

간단하게는 데이터를 수집하는 파이프라인의 개념으로 생각할수 있습니다.


다양한 데이터 소스들, DB, kafka, file등을 통해서 데이터를 가져오고 또 다른곳으로 전송을 해줄수 있습니다.

대부분 elastic search로 보내서 인덱싱하고 그 결과를 실시간으로 kibana를 통해 시각화 합니다.



[그림] 로그스태시 파이프라인 구성도 (출처, 로그스태시 공식홈페이지)



로그스태시의 전체적인 파이프라인 구성을 보면 크게 input, filter, output으로 구성됩니다.


input에서는 어떠한 데이터 소스에서 데이터를 가져올것인지를 설정해줍니다.


filter에서는 가져온 데이터들에 대해서 다양한 전처리를 할수 있습니다. 

간단하게는 필드의 제거와 추가 부터 어그리게이션, 루비코드를 통한 복잡한 작업까지 수행이 가능합니다.


output에서는 마지막으로 데이터들을 어떠한곳으로 전달해줄지를 설정해줍니다.

다른 데이터베이스 혹은 가장 많이 사용하는 것으로는 위에서 말한것처럼 elastic search로 보내서 인덱싱을 해줍니다.




2. 로그스태시 설치하기


로그스태시의 설치 방법은 간단합니다.


공식사이트의 다운로드 페이지에서 원하는 버전을 골라서 다운 받고 압축만 해제하시면 됩니다.


https://www.elastic.co/downloads/logstash




3. 로그스태시 실행하기


로그스태시를 실행할 때는 다양한 파라미터들을 설정할수 있지만 먼저는 간단하게 실행부터 해보겠습니다.


하지만 로그스태시의 실행을 위해서는 위에서 설명한 input, filter, output의 정보를 가지고 있는 config파일이 있어야합니다.


공식홈페이지에 튜토리얼로 알려주고 있는 아래 내용을 작성하여 "logstash.conf"라는 이름으로 저장합니다.


파일의 위치는 로그스태시 압축을 해제한 곳에 저장합니다.


input { stdin { } } output { stdout { codec => rubydebug } }


이 설정에서는 필터는 사용하지 않고 입력을 받아서 출력을 해주는 형태로 작동하는 설정입니다.


이제 설정 파일 준비가 끝났으면 로그스태시를 실행해 봅시다.


먼저 압축을 해제한 폴더로 이동해서 다음과 같은 명령어를 CLI에 입력하면 로그스태시가 실행됩니다.


bin/logstash -f logstash.conf



위 컨피그 파일을 설정하기 귀찮으신 분들은 아래와 같이 실행할 때 파라미터로 주어서 간단한 동작을 확인해 볼 수도 있습니다.


bin/logstash -e 'input { stdin { } } output { stdout {} }'  



실행된 명령어 창을 보면



이렇게 나오게 됩니다.


현재 설정은 입력을 주면 바로 다시 출력 해주는 형태라서 한번 깜빡거리는 상태에서 텍스트를 입력해 보면 아래와 같은 결과를 확인할 수 있습니다.




여기까지 확인이 되면 로그스태시의 기본적인 실행은 완료입니다.


다음에는 로그스태시를 다양하게 활용하기 위해 config들을 어떻게 설정하고 활용할지에 대해 작성해보겠습니다.



[참고자료]

-https://www.elastic.co/guide/en/logstash/current/first-event.html

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함