본문 바로가기
IT_tech/ElasticSearch

Elastic Stack (실시간 데이터 분석&시각화) - kibana

by 신드로 2019. 2. 12.



Elastic Stack은 다양한 데이터 및 형식, 예를 들어 서버로그와 같은 데이터를 실시간으로 시각화하여 표현할수 있는 오픈소스입니다.


Beats (예제는 File Beats)데이터 수집 -> Logstash (데이터 수집, 필터, 전송) - ElasticSearch(데이터 저장&분석)-> Kibana (데이터 시각화)

의 4단계를 세트로 구성 될 수 있습니다. (간단한 작업의 경우 beats나 logstash를 생략도 가능한 것으로 보입니다)



위 4가지 오픈소스 제품은

https://www.elastic.co/kr/products

에서 다운로드 받을 수 있습니다.



각 제품별 실행 방법을 설명 드리자면



1. 엘라스틱서치 


압축파일 해제 후 

elasticsearch-6.1.1\bin\ 폴더내에

elasticsearch.bat  파일 실행


결과 확인 :

localhost:9200 에 로그가 뜨면 정상실행.


2. 키바나 기동


압축파일 해제 후

kibana-6.1.1-windows-x86_64\bin\ 폴더내부에

kibana.bat 파일 실행


결과 확인 :

localhost:5601 에 로그가 뜨면 정상실행.




3. 로그스태쉬 기동 


config폴더내에 있는 logstash-sample.conf 파일을

bin폴더 내로 복사,. 혹은 bin 폴더 내부에 config파일 새로 생성



cmd 실행 한후 

\logstash-6.1.1\bin\ 폴더 경로에서 


logstash.bat -f logstash-sample.conf 명령어로 실행 (실행 시 conf 파일 필요)




※ logstash-sample.conf 파일 수정


## beats(파일비츠) 포트인 5044에서 데이터를 받아옴 , beats(다양한 종류)대신 바로 file을 지정해서 input받을수도 있음

input 

 beats {

    port => 5044

  }

}

## elasticsearch 포트인 9200으로 데이터 전송

output {

  elasticsearch {

    hosts => ["http://localhost:9200"]

    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"

    #user => "elastic"

    #password => "changeme"  }}



결과 확인 :

localhost:9600 에 로그가 뜨면 정상실행.


※ 인풋 데이터가 다양할 경우 필터{} 부분이 추가 될수도 있음.


4. 파일비트 기동


압축해제 후 


filebeat.yml 설정(필요한 것만 기재


#=========================== Filebeat inputs =============================

 # 수정가능하게 .. 

 enabled: true

#필자는 톰캣 로그 분석을위해 톰캣 로그경로 설정

  paths: - C:\Users\sdr\Desktop\eGovFrameDev\tomcat7\logs\*.log  

#============================== Kibana =====================================

  host: "localhost:5601"


#-------------------------- Elasticsearch output ------------------------------

elastics은 바로 가지 않을것(logstash로 갈것)이므로

전부 주석# 으로 막기.


#----------------------------- Logstash output --------------------------------

output.logstash:

# The Logstash hosts

hosts: ["localhost:5044"]



설정 완료 후 cmd 실행

\Program Files\Filebeat\ 폴더안에서

filebeat.exe -c filebeat.yml -e -v

명령어로 실행


결과 확인 :

cmd상에 로그가 정상인지 확인 후,

최종적으로 localhost:5601 - kibana에 접속하여 에 로그 메뉴에 톰캣로그가 뜨면 정상실행.



5. 최종결과


키바나 -visualize 메뉴에서 job 생성 후 매트릭스(x,y축 등) 추가한 후 실행하면 시각화 완성.

Share 버튼으로 Iframe 코드를 생성 가능.


iframe 으로 html 파일 생성결과 예시)