본문 바로가기
인프라/리눅스

2022년 CentOS7 ELK 설치

by IT맥구리나스 2022. 4. 14.

💡 ELK란?

ELK는 위 그림과 같이, 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어

 

 

설치방법

 

📗 elasticsearch 설치

https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html

Java 설치

ELK를 설치하기 전 Java가 필요함, yum으로 설치하고 설치가 되어 있는지 확인하려면 아래와 같이 확인한다.

# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

 

Elasticsearch GPG Key 다운로드

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

 

repo파일 추가하기

vi 편집기로 elasticsearch.repo파일을 생성 후 아래 내용을 추가해준다.

vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

 

elasticsearch 설치

yum으로 elasticsearch 패키지를 설치 함(RPM 치고 용량이 후덜덜하다..)

# yum install --enablerepo=elasticsearch elasticsearch
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Determining fastest mirrors
epel/x86_64/metalink                                                                                                                                                                                                                     | 9.7 kB  00:00:00     
 * base: mirror.kakao.com
 * epel: ftp.riken.jp
 * extras: mirror.kakao.com
 * updates: mirror.kakao.com
base                                                                                                                                                                                                                                     | 3.6 kB  00:00:00     
elasticsearch                                                                                                                                                                                                                            | 1.3 kB  00:00:00     
epel                                                                                                                                                                                                                                     | 4.7 kB  00:00:00     
extras                                                                                                                                                                                                                                   | 2.9 kB  00:00:00     
updates                                                                                                                                                                                                                                  | 2.9 kB  00:00:00     
(1/5): epel/x86_64/group_gz                                                                                                                                                                                                              |  96 kB  00:00:00     
(2/5): elasticsearch/primary                                                                                                                                                                                                             |  42 kB  00:00:00     
(3/5): epel/x86_64/updateinfo                                                                                                                                                                                                            | 1.0 MB  00:00:00     
(4/5): epel/x86_64/primary_db                                                                                                                                                                                                            | 7.0 MB  00:00:00     
(5/5): updates/7/x86_64/primary_db                                                                                                                                                                                                       |  15 MB  00:00:00     
elasticsearch                                                                                                                                                                                                                                           115/115
Resolving Dependencies
--> Running transaction check
---> Package elasticsearch.x86_64 0:8.1.2-1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================================================================================================================================
 Package                                                          Arch                                                      Version                                                      Repository                                                        Size
================================================================================================================================================================================================================================================================
Installing:
 elasticsearch                                                    x86_64                                                    8.1.2-1                                                      elasticsearch                                                    492 M

Transaction Summary
================================================================================================================================================================================================================================================================
Install  1 Package

Total download size: 492 M
Installed size: 1.0 G
Is this ok [y/d/N]: y

 

elasticsearch.yml파일 편집

아래 명령어로 elasticsearch.yml을 열어 network.host 와 http.port의 주석을 해제한다.

나는 network.host를 localhost로 변경하였다.

vi /etc/elasticsearch/elasticsearch.yml

 

 

elasticsearch를 브라우저에서 접속한다.

https로 접속해야 한다.

 

 

초기 패스워드는 아래 명령어로 초기화해야 한다. 구글 검색에서 나오는 admin/admin 안됨

/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

 

로그인 성공하면 다음과 같은 결과가 나온다.

logstash 설치

https://www.elastic.co/guide/en/logstash/current/installing-logstash.html

logstash GPG키 다운로드

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

logstash repo 등록

vi /etc/yum.repos.d/logstash.repo
[logstash-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
yum install logstash

 

 

📗 Kibana설치

https://www.elastic.co/guide/en/kibana/current/rpm.html

kibana GPG키 다운로드

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

kibana repo등록

repo등록을 안 하면 kibana패키지 다운로드가 안됨

vi /etc/yum.repos.d/kibana.repo
[kibana-8.x]
name=Kibana repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

 

kibana 설치

yum install kibana

kibana.yml파일 주석 해제

vi로 열어 아래 3개 코드를 주석 해제한다.

server.host는 모든 아이피에서 접속할 수 있도록 "0.0.0.0"으로 설정함

vi /etc/kibana/kibana.yml
  • server.port: 5601
  • server.host: "0.0.0.0"
  • elasticsearch.hosts: ["http://localhost:9200"]

kibana 서비스 재시작

systemctl restart kibana

 

접속 확인

브라우저에서 아래 주소:포트로 접속해본다.

http://192.168.171.129:5601/

접속 성공

 

Enroolment token은 아래 명령어로 생성 후 집어넣어 주고 Configure Elastic을 클릭하면 자동 설치됨

# /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token --scope kibana

 

 

 

Add intergrations를 누른다.

 

kibana 페이지가 떴다.

 

프로필 쪽에서 elastic 계정의 패스워드 변경을 할 수 있다.

 

 

management > security > users에서 추가 관리자 계정을 만들 수 있다.

 

 

📗 firebeat 설치

yum install filebeat

yml 파일 열어서 9200 , 5044 server.host 주석 제거

vi /etc/filebeat/filebeat.yml

 

 

📗 설치한 모든 시스템 재구동

systemctl restart elasticsearch
systemctl restart logstash
systemctl restart kibana
systemctl restart filebeat

 

 

📗 구축 후 느낀 점

- 오픈소스 시스템 구축은 언제나 복잡하고 어렵다..

- 좀 한 번에 설치할 수 있는 패키지로 말아주면 얼마나 좋을까...

- 구축은 했지만 연동 관련 자료가 너무 없다...(30분 구글링 해봤는데 한글 자료 중 도움될 만한 게 없다.. 답답하면 본인이 만들어야..)

- 컨테이너로 쉽게 설치할 수 있는지도 알아봐야겠다.

 

반응형

댓글