dev/ELK

ELK install - Logstash

tiqndjd12 2021. 1. 24. 16:51

저번에 Elastic search 설치에 이어서

 

이번에는 Logstash를 도커로 설치하는 방법을 포스팅하겠습니다.

 

Logstash 도커 이미지를 다운로드합니다.

 

Logstash 도커 이미지 다운

 

Logstash 도커 이미지가 제대로 다운로드하였는지 확인합니다.

 

Logstash 도커 이미지 다운 확인

 

Logstash 컨테이너를 실행합니다.

 

Logstash 도커 컨테이너 실행

 

Logstash 컨테이너를 실행할 때 Elastic search가 실행되어있어야

 

Logstash를 정상적으로 실행할 수 있습니다.

 

Logstash 도커 컨테이너 확인

 

Logstash가 정상적으로 실행되었어도 설정 파일을 수정해야

 

Elastic search로 데이터를 보낼 수 있습니다.

 

그러려면 logstash.yml, log4j2.properties, logstash.conf

 

파일 3개를 수정해야 합니다.

 

파일을 수정하기 위해서 현재 실행 중인 컨테이너 안으로 들어가야 합니다.

 

Logstash 도커 컨테이너 접속

 

먼저 logstash.yml 파일부터 수정하겠습니다.

 

컨테이너 내부의 /usr/shart/logstash/config/logstash.yml 파일을 vi 편집기로 열어서

 

다음과 같이 수정합니다.

 

logstash.yml

 

logstash.yml을 설명하면

 

2번째 라인은 logstash가 데이터를 보내는 Elastic search 정보

 

4번째 라인은 logstash의 설정 자동 변경 여부

 

5번째 라인은 logstash의 설정 자동 변경 확인 주기를 나타내고 있습니다.

 

다음으로 /usr/shart/logstash/config/log4j2.properties 파일을 아래와 같이 수정합니다. (로그 설정)

 

log4j2.properties

 

15번째 라인은 Logstash 로그 레벨

 

18번째 라인은 Logstash와 Elastic search 연계 로그

 

19번째 라인은 Logstash와 Elastic search 연계 로그 레벨을 나타내고 있습니다.

 

마지막으로 /usr/share/logstash/pipeline/logstash.conf 파일을 수정합니다.

 

logstash.conf

 

input은 Logstash가 모니터링하는 대상

(파일, 데이터베이스 등등, 파일 같은 경우 컨테이너 내부이거나 컨테이너와 마운트 되어있는 컨테이너 외부 경로 파일)

 

output은 Logstash가 전송하는 Elastic search 정보를 나타내고 있습니다.

 

input과 output 사이에 filter를 추가해서 logstash가 읽어오는 데이터를 필터링 할 수 있는데 지금은 넘어가겠습니다.

 

logstash.conf

 

텍스트 파일 말고 데이터베이스도 수집이 가능합니다.

 

input에 데이터베이스 드라이버 정보, 접속 정보, 마지막에 실행한 실행한 정보, 수행할 쿼리

 

output에 Logstash가 전송하는 Elastic search 정보 IP와 인덱스를 입력하면

 

테이블에 추가된 데이터가 수집되는 것을 확인할 수 있습니다.

 

로그 화면

 

데이터가 정상적으로 수집된 것을 확인할 수 있습니다.

 

여기까지 Logstash 설정이 끝났습니다.

 

다음 포스팅으로 Kibana 설치를 하겠습니다.