관리 메뉴

IT창고

ELK(Elasticsearch,Logstash,Kibana) 설치 본문

서버운영/Linux

ELK(Elasticsearch,Logstash,Kibana) 설치

방구석여포 2020. 3. 25. 00:04

ELK Stack에 대해 알아보고 환경을 구축해보도록 하겠습니다.
ELK는 Elasticsearch, Logstash , Kibana로 3개의 오픈소스를 뜻하며 Elasticsearch는 검색 및 분석 엔진으로 기능하고
LogStash는 여러 소스에서 동시에 데이터를 수집하여 변환 후 Elasticsearch로 전송하며 Kibana는 Elasticsearch의 데이터를 차트나 그래프로
사람이 보기 편하게 데이터를 볼수있습니다.

주로 통계볼때 사용되며 로그나 기타 데이터를 수집하여 눈으로 쉽게 보는게 주요 기능입니다.


테스트 환경은 4GB 이상의 RAM을 사용하며 CentOS 7 으로 진행합니다.

오픈소스 설치 시 여기 링크를 참조합니다.
https://www.elastic.co/kr/downloads/


오픈소스를 설치 하기 전에 먼저 JDK 설치가 선행되어야 합니다.
yum으로 OpenJDK를 받아서 사용하거나 일반적으로 JDK를 설치해줍니다.
JDK 설치는 여기를 참고 합니다.


JDK까지 설치되었다면 바로 ELK를 설치해보도록 하겠습니다. 아래에 진행되는 테스트에서 모든 설치과정은 root 계정으로 진행합니다.

먼저 Elasticsearch 진행하겠습니다.
설치 전에 먼저 Elasticsearch의 PGP 키를 가져오도록 하겠습니다.
Elasticsearch Signing Key로 위와 같이 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 입력합니다.


RPM 저장소에 Elasticsearch 패키지를 가져와 설치하도록 하겠습니다.

쉘에서 vi /etc/yum.repos.d/elasticsearch.repo 명령어를 입력하여 외부 저장소를 설정합니다.

위와 같이 설정하고 저장한 후 나와줍니다.

 

yum install --enablerepo=elasticsearch elasticsearch 명령어를 입력하여 elasticsearch를 설치하도록 합니다. yum으로 인한 설치이므로 느긋하게 기다려주면 설치가 완료 됩니다.

elasticsearch가 설치되었다면 systemctl 명령어를 사용하여 서비스를 등록 후 구동 시켜줍니다.

1. systemctl daemon-reload

2. systemctl enable elasticsearch.service

3. systemctl start elasticsearch.service

 

elasticsearch의 기본포트는 9200포트이며 해당 포트가 열린걸 알수있습니다. 

 

정상적으로 작동하는지 확인을 위해 curl -X GET "localhost:9200/?pretty" 명령어를 입력하여 확인해보았으며 정상 작동을 확인하였습니다.

elasticsearch는 /etc/elasticsearch/elasticsearch.yml파일에서 구성설정을 불러들이며 /etc/sysconfig/elasticsearch 파일이 시스템 구성 파일입니다.

 

 

다음으로 LogStash를 설치하도록 하겠습니다.

LogStash도 Elasticsearch와 마찬가지로 RPM 저장소에서 패키지를 가져와 설치하도록 하겠습니다.

쉘에서 vi /etc/yum.repos.d/logstash.repo 명령어를 입력하여 외부 저장소를 설정합니다.

위와 같이 설정하고 저장한 후 나와줍니다.

 

yum install logstash 명령어를 입력하여 logstash를 설치하도록 합니다. yum으로 인한 설치이므로 느긋하게 기다려주면 설치가 완료 됩니다.

 

logstash가 설치되었다면 systemctl 명령어를 사용하여 서비스를 등록 후 구동 시켜줍니다.

1. systemctl enable logstash.service

2. systemctl start logstash.service

 

위에 사진에서 logstash 프로세스가 동작하는걸 확인할 수 있습니다.

 

다음으로 Kibana를 설치하도록 하겠습니다.

Kibana Elasticsearch와 마찬가지로 RPM 저장소에서 패키지를 가져와 설치하도록 하겠습니다.

쉘에서 vi /etc/yum.repos.d/Kibana.repo 명령어를 입력하여 외부 저장소를 설정합니다.

 

위와 같이 설정하고 저장한 후 나와줍니다.

 

yum install kibana 명령어를 입력하여 logstash를 설치하도록 합니다. yum으로 인한 설치이므로 느긋하게 기다려주면 설치가 완료 됩니다.

 

Kibana가 설치되었다면 systemctl 명령어를 사용하여 서비스를 등록 후 구동 시켜줍니다.

1. systemctl enable kibana.service

2. systemctl start kibana.service

 

kibana는 /etc/kibana/kibana.yml 파일에서 구성설정을 불러드리며 /usr/share/kibana/plugins 경로에 각 플러그인의 하위 디렉토리가 포함됩니다.

 

위에 사진에서 kibana 프로세스가 동작하는걸 확인할 수 있습니다.

 

이제 kibana에 접속해보도록 하겠습니다.

접속 전 방화벽 설정을 확인하도록 합니다. 저는 간편한 테스트 진행을 위해 방화벽을 꺼두도록 하겠습니다.

ex) service firewalld stop

 

웹 브라우저에서 http://자신의ip:5601로 접근하였는데 제대로 접근이 되지 않아 추가로 아래의 작업을 진행하였습니다.

/etc/kibana/kibana.yml 파일에서 server.host에 자신의 가상서버 ip를 지정하였습니다. 

 

다시 접근해보면 kibana에 웹 브라우저로 접근이 되었습니다. 샘플데이터를 사용해보도록 하겠습니다.

 

웹 로그를 확인해보는 샘플데이터 입니다. 

실제로 사람이 보기 쉽게 나오기에 분석, 통계 자료로 사용하기에 적합해 보입니다. 

 

 

kibana 기본 페이지입니다. 실제 통계분석을 위한 데이터를 추가할수있습니다

 

로그 데이터에서 확인해보면 다양한 로그 데이터를 추가할수있습니다.

logstash logs를 클릭하면 logstash Filebeat 모듈을 다운로드 받고 설치하는 방법이 나옵니다. 

logstash의 로그를 수집하여 시각화 해보여줍니다.

 

다운로드 및 설치는 자신이 설치한 Kibana에서 확인이 가능하므로 그대로 따라서 설치를 진행해보도록 합니다.

현재 테스트 중인 환경은 CentOS 7이므로 RPM탭에서 확인 후 설치를 진행합니다. (참고 링크 이동)

또는 RPM 저장소에서 받아 설치가 가능합니다. 

먼저 public signing key 를 다운로드 받아줍니다 ex) rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch 

 

위와 같이 설정하고 저장한 후 나와줍니다. 해당 경로는 /etc/yum.repos.d/elastic.repo 입니다.

 

yum install filebeat 명령어를 입력하여 filebeat을 설치하도록 합니다. yum으로 인한 설치이므로 느긋하게 기다려주면 설치가 완료 됩니다.

 

filebeat을 사용하여 ELK를 활용하는 법은 다음에 확인해보도록 하겠습니다.

'서버운영 > Linux' 카테고리의 다른 글

리눅스 프로세스2  (0) 2020.11.11
Nexus Repository OSS 설치  (0) 2020.11.04
Linux Nginx Comfile Install  (0) 2019.12.30
Linux Apache(httpd) Comfile Install  (0) 2019.12.29
Linux - Solaris 11 설치  (1) 2019.09.15
Comments