* 학습 목표
- 파이프라인이란?
- beats, logstash 설치
- elasticsearch, logstash, beats 실행
- 파이프라인 구축
1. Pipeline이란?
한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조
데이터를 물이라고 가정하면 파이프라인은 수도관처럼 데이터가 다음 단계로 이어지도록 구조를 설계하는 것을 말한다.
2. 파이프라인 구축 실습 프로세스
이번 포스팅에 작성할 파이프라인 구축 실습 프로세스이다.

위의 실습 프로세스를 조금 풀어서 설명하면 아래와 같다.
Beats에서 데이터를 수집하면
Logstash에서 필터링을 한 후 Elasticsearch에 데이터를 전달해준다
Elasticsearch는 전달 받은 데이터를 저장하고
Kibana에서 Elasticsearch에 저장된 데이터를 시각화하면 파이프라인 구축 실습 프로세스는 끝이 난다.
3. Beats와 Logstash 설치
이전 포스팅에서는 Elasticsearch와 kibana는 설치되었으나 Beats와 Logstash는 설치되어 있지 않으므로
해당 프로그램을 먼저 설치하도록 한다.
설치 링크는 아래와 같다. 참고로 버전은 이전에 설치한 버전과 동일한 버전으로 맞춰서 다운받도록 한다.
beats 다운로드 : https://www.elastic.co/kr/downloads/past-releases/filebeat-7-11-1
Filebeat 7.11.1 | Elastic
View the detailed release notes here.
www.elastic.co
Logstash 다운로드 : https://www.elastic.co/kr/downloads/past-releases/logstash-7-11-1
설치 경로는 이전 포스팅에서 다운 받았던 C:\ELKStack 에 다운 받도록 하자. 파일명이 긴 것은 수정을 하였다.

4. exe
파일 실행 순서는 Elasticsearch(저장) -> Logstash(수집 및 변환, 전송) -> Beats(수집) 순으로 실행시킨다
키바나는 필요할 경우 실행시키되, Elasticsearch가 먼저 실행하고 실행해야 한다.
실행시키기 전에 미리 setting되어 있어야 하는 파일이 3가지가 있다.
covid-19.conf, filebeat.yml, covid19_korea.csv이 바로 그것이다.
① covid-19.conf
해당 파일은 logstash에서 수집한 데이터를 내가 정의한 index명으로 elasticsearch에 저장할 수 있게 커스터마이징한 파일이다. 따라서 logstash를 실행시킬 때 커스터마이징한 파일도 함께 실행해야 한다.
해당 파일의 설치 위치는 C:\ELKStack\logstash-7.11.1\config\covid-19.conf 이다.

② filebeat.yml
해당 파일은 원천 파일이 있는 곳에서 데이터를 가져오는 path와 수집한 데이터를 logstash에 전송하기 위한 path를 설정하는 파일이다. 따라서 filebeat을 실행할 때 해당 파일도 함께 실행해야 한다.
해당 파일의 설치 위치는 C:\ELKStack\filebeat-7.11.1 이다.
해당 파일로부터 사용자 입맛에 맞게 path를 설정한 후 저장하자.
찾기 쉽도록 주석을 달았으니 해당 파일의 아래 주석을 ctrl + f 로 찾아 path를 설정하자.
# 원천 소스로부터 파일을 읽어들이는 path 경로
# logstash에 데이터를 전송하는 path 경로

③ covid19_korea.csv
해당 파일은 파이프라인 설계를 위해 테스트 용으로 마련한 원천 데이터 소스이다.
원글자는 해당 파일을 임의의 경로에 설치했으므로 실습을 따라해볼 사람은 원하는 경로에 설치한 후,
해당 경로를 꼭 filebeat.yml에 경로를 넣어주자
여기까지 beats와 logstash를 실행하기 위한 사전 준비는 끝났다.
이제 실행시켜보자. 실행 순서는 elasticsearch -> logstash -> beats 순이다
① elasticsearch 실행
elasticsearch.bat 파일이 있는 곳으로 이동하여 해당 파일을 더블클릭하여 실행


② logstash 실행
cmd창을 실행시켜 C:\ELKStack\logstash-7.11.1\bin bin 폴더 경로까지 이동한 후
logstash -f ../config/covid-19.conf 해당 명령어 입력

③ beats 실행
cmd창을 실행시켜 C:\ELKStack\filebeat-7.11.1 까지 이동한 후
filebeat -e -c filebeat.yml 해당 명령어 입력

beats가 성공적으로 실행되고 나면 logstash에서 데이터를 받아온 걸 출력해준다.
아래와 같이 데이터가 출력되면 성공적으로 실행된 것이다.

여기까지가 beat에서 원천 소스를 수집하여 logstash에 데이터를 전달해주고,
logstash는 Elasticsearch에 데이터를 변형 및 전달해주고
Elasticsearch는 받은 데이터를 저장하는 파이프라인 프로세스 실습이다.
여기에 자동으로 처리하고 싶다면 스케줄 작업을 걸어 원하는 시간대에 데이터 수집이 일어나도록 할 수 있다.
스케줄링 작업을 걸기 위해서는 관련된 파이썬 라이브러리를 설치해야 한다.
설치하는 방법은 아주 쉽고 자료도 풍부하므로 해당 포스팅에서는 다루지 않을 예정이다.
'Edu > 04. ElasticSearch' 카테고리의 다른 글
구글 플러그인인 elasticsearch Head 사용하여 데이터 CRUD (0) | 2021.07.15 |
---|---|
postman으로 elasticsearch에 접근해서 데이터 CRUD (0) | 2021.07.15 |
엘라스틱 서치란? (0) | 2021.07.15 |
엘라스틱 서치 & 키바나 설치 (0) | 2021.07.13 |