본문 바로가기
infra/ELK

[ELK] ELK Stack을 구축해 보자 - Logstash

by hjhello423 2019. 12. 18.


Logstash를 설치하려면 에는 Java 8 또는 Java 11이 필요합니다.

openJDK 설치는 링크를 참고하세요.

[자바/설정] - [Java] CentOS 환경에서 openJDK 8 설치 및 환경변수 설정

 

 

일부 Linux에서, 특히 tarball을(tar, tar.gz) 이용하여 Java를 설치한 경우에는 Logstash를 설치 시도하기 전에 JAVA_HOME 환경을 exportes 할 수도 있습니다.

Logstash는 설치 중에 Java를 사용하여 환경을 감지하고 SysV init 스크립트, Upstart 또는 systemd와 같은 방법을 이용하여 설치하기 때문입니다.

패키지 설치 중에 Logstash가 JAVA_HOME 환경 변수를 찾을 수없는 경우 오류 메시지가 표시되고 Logstash가 제대로 시작되지 않을 수 있습니다.

 


Install Logstash

Logstash 바이너리는 https://www.elastic.co/downloads에서 다운로드할 수 있습니다.

호스트 환경에 대한 Logstash 설치 파일 (TARG.GZ, DEB, ZIP 또는 RPM)을 다운로드하면 됩니다.
파일을 압축 해제한 뒤 Logstash를 콜론 (:) 문자가 포함된 디렉토리 경로에 설치하지 마세요.

 

YUM이나 APT기반으로 설치할 때는 패키지 repository를 버전별로 url을 분리하여 설정해야 합니다.

이는 주요 버전에서 실수로 업그레이드하는 상황이 생기지 않도록 한 것입니다.

7.x.y 버전을 설치할 경우 릴리즈 경로를 7.x.y로 사용하면 됩니다.

 

APT 설치:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

install

sudo apt-get update && sudo apt-get install logstash

 

YUM : 

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

/etc/yum.repos.d/ 디렉토리에 .repo 접미사가 있는 파일에 아래 내용을 추가하세요. (ex : logstash.repo)

[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

install

sudo yum install logstash

 

RPM :

wget을 이용해 rpm파일을 다운로드하겠습니다.

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.5.0.rpm

다운로드한 RPM파일을 설치해보겠습니다.

sudo rpm --install logstash-7.5.0.rpm

 


systemd를 이용한 서비스 등록

설치가 마무리됐으니 이제 systemd에 등록하여 자동 재시작이 되도록 설정해보겠습니다.

 

OS에 따라 SysV init을 사용하는지 아니면 systemd을 사용하는지 여부에 따라 다른데 아래 명령을 실행하여 사용 중인 방법을 알아보면 됩니다.

[itsme@localhost elk]$ ps -p 1
   PID TTY          TIME CMD
     1 ?        00:00:02 systemd

 

systemd를 사용하는 것으로 확인했으니  systemd에 서비스를 등록해보겠습니다.

sudo /bin/systemctl systemctl daemon-reload
sudo /bin/systemctl enable logstash.service

서비스를 실행/중지하려면 아래의 명령어를 입력하면 됩니다.

sudo systemctl start logstash.service
sudo systemctl stop logstash.service

 


디버그

설정 테스트 후 종료

bin/logstash -f first-pipeline.conf --config.test_and_exit

설정파일 변경시 자동 재시작

bin/logstash -f first-pipeline.conf --config.reload.automatic

/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf --config.reload.automatic

 

 


링크

 

 

 

 

 

 

반응형

댓글