개발공부/Linux

[Linux] Eleasticsearch, Logstash 설치하기

차나니 2024. 5. 20. 10:58

설치환경

- Linux : Ubuntu 22.04

- Eleasticsearch, logstash : 7.17.21

Docker를 이용한 설치가 아닌 Ubuntu 자체에 설징하는 방법입니다 !

 

Java 설치하기

OpenJDK를 설치한 후 진행하야됩니다 ! 아래있는 게시글을 통해 어렵지 않게 설치할 수 있습니다 !

 

[Java, Linux] Linux에 Java 17 설치하기

설치환경- Linux : Ubuntu 22.04- JDK : openjdk-amd64 v17 설치하기① Ubuntu로 접속한 뒤 sudo 권한으로 apt를 업데이트한 이후 openjdk를 설치합니다.$ sudo apt update$ sudo apt install openjdk-17-jdk ② 설치한 자바 버전

chanhan.tistory.com

 

Nginx 설치하기

아래 명령어를 통해 Nginx를 설치할 수 있습니다.

$ sudo apt install nginx

서버로 접속했을 때 위와 같이 나오면 잘 설치가된 것입니다 !

 

Elasticsearch, Logstash 패키지 소스 설치하기

ELK 설치를 위한 컴포넌트들이 Ubuntu의 기본 패키지 레파지토리에 포함되어있지 않습니다.

따라서 apt를 이용한 설치를 위해 엘라스틱 패키지 소스 리스트를 추가해야합니다 !

$ curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch |sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg
$ echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
$ sudo apt update

 

Elasticsearch 설치하기

패키지 소스 리스트를 추가하여 apt 명령어를 통해 elasticsearch의 설치가 가능해졌습니다.

$ sudo apt install elasticsearch

 

정상적으로 설치가 되었을 경우 기본 설정의 파일은 아래 위치에서 확인이 가능합니다.

$ vi /etc/elasticsearch/elasticsearch.yml

 

설정파일에서 기본적으로 localhost에서만 접근이 가능하도록 설정이 되어 있는데 외부에서 접근을 원한다면 아래 포스팅을 참고해주세요!

 

[Elasticsearch] elasticsearch 기본 설정 및 cluster 구성하기(start error)

Elasticsearch 실행 상태 확인하기아래 명령어를 통해 Elasticsearch가 정상적으로 작동하고 있는지 확인하실 수 있습니다 !curl localhost:9200 만약 curl: (7) Faild connect to localhost:9200; Connection refused 와 같은

chanhan.tistory.com

 

Elasticsearch 실행과 부팅 시 서비스 자동 실행 설정하기

아래 명령어를 통해 서비스를 실행할 수 있습니다.

// elasticsearch 실행하기
$ sudo systemctl start elasticsearch

// 부팅 시 elasticsearch 자동 실행하기
$ sudo systemctl enable elasticsearch

 

정상적으로 실행되었을 경우 아래 명령어를 통해 정상적으로 실행 중인지 확인이 가능합니다.

$ sudo systemctl status elasticsearch
$ curl -X GET "localhost:9200"

 

Logstash 설치하기

elasticsearch와 동일하게 패키지 소스 리스트를 추가하여 apt 명령어를 통해 logstash의 설치가 가능해졌습니다.

$ sudo apt install logstash

 

설치가 완료되면 Logstash Pipeline 설정을 해줘야합니다.

자세한 구조는 공식문서에서 확인이 가능합니다.

기본적으로 Filters 부분은 옵션이고, Inputs과 Outputs는 필수적으로 필요한 요소입니다 !

기본 구성 파일은 아래 명령어를 통해 확인이 가능합니다.

$ cd /etc/logstash/conf.d

 

conf.d폴더 안에 Input와 Output 파일을 .conf 확장자로 생성하여 elasticsearch로 데이터를 전달할 수 있습니다.

 

Logstash의 설정을 완료한 후 아래의 명령어를 통해 Logstash 구성 테스트를 진행할 수 있습니다.

$ sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t

오류가 없다면 Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash가 출력됩니다.

 

Logstash 실행과 부팅시 서비스 자동 실행 설정하기

아래 명령어를 통해 서비스를 실행할 수 있습니다.

// Logstash 실행하기
$ sudo systemctl start logstash

// 부팅 시 Logstash 자동 실행하기
$ sudo systemctl enable logstash