How to Install Elastic Stack(ELK) on RHEL – Elasticsearch

Theory of ELK and how to install it on RHEL Rocky Linux

HOST : Mac OS 14.x

VMware : Fusion Software

Linux OS : Rocky Linux 9.x Version

How to Install Elastic Stack(ELK) on RHEL / Rocky Linux 9

Logstash <- Install

kibana <- Install


Elastic Stack(ELK)란 ?

ELK는 Elasticsearch, Logstash, Kibana의 세 가지 오픈 소스 프로젝트를 가리키는 용어로, 로그 및 데이터 분석 등에 사용

Elasticsearch : 실시간 분산 검색 및 분석 엔진으로, 대용량의 데이터를 빠르게 검색하고 분석하는 기능을 제공, 이를 통해 복잡한 검색 쿼리를 통해 데이터에서 인사이트를 얻을 수 있습니다.


Step 1 : Install Java on Rokcy Linux

  • Elasticsearch는 자바(Java)로 작성되었습니다. Elasticsearch를 실행하려면 Java Runtime Environment(JRE)가 필요
  • Java 설치 후, Elasticsearch는 Java의 기능을 활용하여 데이터 검색 및 분석 업무를 수행
$ sudo dnf install java-1.8.0-openjdk-devel -y
java 패키지 설치 과정

JAVA 설치 후 버전확인

$ java -version
java 패키지 설치 후 버전 확인 작업

ELK 설치 단계에서는 repo가 추가가 필요하기 때문에 처음 설치하는 분들을 위해서 하나씩 등록하면서

순서대로 작업하도록 하겠습니다.

Step 2 : Install Elasticsearch on Rokcy Linux

Elasticsearch의 공식 저장소에서 제공하는 GPG 키를 가져와서 시스템에 추가

** Elasticsearch 패키지를 설치하기 전에 수행 **

$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearchstic
Elasticsearch의 공식 저장소에서 제공하는 GPG 키를 가져와서 시스템에 추가
  • Add Elasticsearch Repository 

/etc/yum.repos.d/elasticsearch.repo 경로 repo 추가 – 편집기 사용

$ sudo vi /etc/yum.repos.d/elasticsearch.repo

[elasticsearch]
name=Elasticsearch 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=0
autorefresh=1
type=rpm-md
Add Elasticsearch Repository 

Elasticsearch 저장소를 활성화하고(–enablerepo=elasticsearch) 저장소에서 Elasticsearch 패키지를 설치

$ sudo yum install --enablerepo=elasticsearch elasticsearch
Elasticsearch 저장소를 활성화하고(--enablerepo=elasticsearch) 저장소에서 Elasticsearch 패키지를 설치
  • 설치 후 /etc/elasticsearch/elasticsearch.yml의 설정파일 수정이 필요합니다.

단 현재 구성하고 있는 방식은 외부 접속의 모든 허용을 열어두는 상태로 진행하게 됩니다.

개인 구축 환경에 맞춰서 수정하셔도 됩니다.

$ sudo vi /etc/elasticsearch/elasticsearch.yml

cluster.name: endoflinux: Elasticsearch 클러스터의 이름을 설정합니다. 이 예에서는 ‘endoflinux’라는 이름의 클러스터를 생성합니다.

  1. node.name : endoflinux: Elasticsearch 노드의 이름을 설정합니다. –>’endoflinux’라는 이름의 노드를 생성합니다.
  2. cluster.name : endoflinux: Elasticsearch 클러스터의 이름을 설정합니다. –> ‘endoflinux’라는 이름의 클러스터를 생성합니다.
  3. path.data : /var/lib/elasticsearch : Elasticsearch가 데이터를 저장하는 경로를 설정합니다. –> ‘/var/lib/elasticsearch’ 디렉토리를 데이터 저장 경로로 사용합니다.
  4. path.logs : /var/log/elasticsearch: Elasticsearch가 로그를 작성하는 경로를 설정합니다. –> ‘/var/log/elasticsearch’ 디렉토리를 로그 저장 경로로 사용합니다.
  5. network.host : 0.0.0.0: Elasticsearch가 사용하는 네트워크 인터페이스를 설정합니다. –> ‘0.0.0.0’은 모든 네트워크 인터페이스에서 Elasticsearch 서비스를 사용할 수 있도록 합니다.
  6. http.port: 9200 : Elasticsearch가 사용하는 HTTP 포트를 설정합니다. –> 9200번 포트를 사용합니다.
  7. cluster.initial_master_nodes : [“endoflinux”]: 클러스터의 초기 마스터 노드를 설정합니다. –> ‘endoflinux’ 노드를 초기 마스터 노드로 설정합니다.

설정된 내용을 살펴보면 아래와 같습니다.

설정된 yml 파일 정보 확인하기
  • elasticsearch services start
$ sudo systemctl start elasticsearch.service 
$ sudo systemctl enable elasticsearch.service 
$ sudo systemctl status elasticsearch.service
elasticsearch services start

Elasticsearch 서버가 정상적으로 작동하고 있는지 확인

$ curl localhost:9200
Elasticsearch 서버가 정상적으로 작동하고 있는지 확인

Next Step : logstash install

By Low ahn

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다