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

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 -version

ELK 설치 단계에서는 repo가 추가가 필요하기 때문에 처음 설치하는 분들을 위해서 하나씩 등록하면서
순서대로 작업하도록 하겠습니다.
Step 2 : Install Elasticsearch on Rokcy Linux
Elasticsearch의 공식 저장소에서 제공하는 GPG 키를 가져와서 시스템에 추가
** Elasticsearch 패키지를 설치하기 전에 수행 **
$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearchstic

- 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

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

- 설치 후 /etc/elasticsearch/elasticsearch.yml의 설정파일 수정이 필요합니다.
단 현재 구성하고 있는 방식은 외부 접속의 모든 허용을 열어두는 상태로 진행하게 됩니다.
개인 구축 환경에 맞춰서 수정하셔도 됩니다.
$ sudo vi /etc/elasticsearch/elasticsearch.yml
cluster.name: endoflinux: Elasticsearch 클러스터의 이름을 설정합니다. 이 예에서는 ‘endoflinux’라는 이름의 클러스터를 생성합니다.
- node.name : endoflinux: Elasticsearch 노드의 이름을 설정합니다. –>’endoflinux’라는 이름의 노드를 생성합니다.
- cluster.name : endoflinux: Elasticsearch 클러스터의 이름을 설정합니다. –> ‘endoflinux’라는 이름의 클러스터를 생성합니다.
- path.data : /var/lib/elasticsearch : Elasticsearch가 데이터를 저장하는 경로를 설정합니다. –> ‘/var/lib/elasticsearch’ 디렉토리를 데이터 저장 경로로 사용합니다.
- path.logs : /var/log/elasticsearch: Elasticsearch가 로그를 작성하는 경로를 설정합니다. –> ‘/var/log/elasticsearch’ 디렉토리를 로그 저장 경로로 사용합니다.
- network.host : 0.0.0.0: Elasticsearch가 사용하는 네트워크 인터페이스를 설정합니다. –> ‘0.0.0.0’은 모든 네트워크 인터페이스에서 Elasticsearch 서비스를 사용할 수 있도록 합니다.
- http.port: 9200 : Elasticsearch가 사용하는 HTTP 포트를 설정합니다. –> 9200번 포트를 사용합니다.
- cluster.initial_master_nodes : [“endoflinux”]: 클러스터의 초기 마스터 노드를 설정합니다. –> ‘endoflinux’ 노드를 초기 마스터 노드로 설정합니다.


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

- elasticsearch services start
$ sudo systemctl start elasticsearch.service
$ sudo systemctl enable elasticsearch.service
$ sudo systemctl status elasticsearch.service

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

Next Step : logstash install