Logstash 여러개의 instance 구동하기
1. ELK 공식 홈페이지에서 적당한 곳에 Logstash를 내려 받습니다.
- 복수개의 instance를 구동하는게 목적이므로 버전은 크게 중요하지 않습니다만 여기서는 5.5.1 기준으로 설명합니다.
[seyou@localhost apps]$ pwd
/home/seyou/apps
[seyou@localhost apps]$ wget https://artifacts.elastic.co/downloads/logstash/logstash-5.5.1.tar.gz
[seyou@localhost apps]$ tar xfz ./logstash-5.5.1.tar.gz
2. 예시로 두개의 instance를 돌려볼 예정이므로 바이너리를 복제합니다.
[seyou@localhost apps]$ cp -R ./logstash-5.5.1 ./logstash-5.5.1-c2
[seyou@localhost apps]$ mv ./logstash-5.5.1 ./logstash-5.5.1-c1
[seyou@localhost apps]$ ls
logstash-5.5.1-c1 logstash-5.5.1-c2 logstash-5.5.1.tar.gz
3. 먼저 logstash-5.5.1-c1의 설정부터 변경합니다.
- 포트, 로그 레벨, JVM 옵션 등 기본적인 설정 내용은 생략합니다.
[seyou@localhost apps]$ vim ./logstash-5.5.1-c1/config/logstash.yml
...
path.data: "/home/seyou/apps/logstash-5.5.1-c1/data"
path.log: "/home/seyou/apps/logstash-5.5.1-c1/log"
...
path.data
- logstash에서 사용할 data 디렉토리를 지정합니다.
path.log
- logstash에서 사용할 log 디렉토리를 지정합니다.
[seyou@localhost apps]$ vim ./logstash-5.5.1-c1/config/startup.options
...
LS_HOME=/home/seyou/apps/logstash-5.5.1-c1
LS_GC_LOG_FILE=/home/seyou/apps/logstash-5.5.1-c1/log
SERVICE_NAME="logstash-c1"
SERVICE_DESCRIPTION="logstash-c1"
...
LS_HOME
- logstash의 home 디렉토리
LS_GC_LOG_FILE
- logstash가 동작하면서 GC가 실행될때 남길 로그 디렉토리
SERVICE_NAME
- logstash 서비스 이름
- 한 장비에서 여러 instance 사용할때 구분할 이름
SERVICE_DESCRIPTION
- 서비스 설명
4. 3.의 과정을 복제한 logstash-5.5.2-c2 디렉토리에서 진행합니다.
- 각 디렉토리명은 logstash-5.5.2-c2에 맞게 변경
- SERVICE_NAME이 중복되지 않게 설정
5. 예제 conf 파일
[seyou@localhost apps]$ vim ./logstash-5.5.1-c1/config/test.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 | input { stdin { } } output { stdout { codec => rubydebug } } | cs |
[seyou@localhost apps]$ cp ./logstash-5.5.1-c1/config/test.conf ./logstash-5.5.1-c2/config/test.conf
6. Logstash 실행 및 테스트
[seyou@localhost logstash-5.5.1-c1]$ ./bin/logstash -f ./config/test.conf
다른 콘솔을 켜서
[seyou@localhost logstash-5.5.1-c2]$ ./bin/logstash -f ./config/test.conf
'OpenSource > ELK' 카테고리의 다른 글
ELK 스택에서 CPU 점유율이 높을때 (0) | 2018.01.15 |
---|