ELK(elasticsearch + logstash + kibana)

ELK 설치에 대한 간략한 참고 ( Windows )

ELK란?

ELK는 쉽게 Elasticsearch , Logstash , Kibana 의 세가지 오픈 소스를 합쳐 놓은 프로젝트의 약자입니다. 각각의 역활을 쉽게 표현 하자면 다음과 같습니다.Elasticsearch : 검색과 분석을 담당하는 저장소Logstash : 저장소에 저장이 되는 데이터 수집 및 전달Kibana : 저장소의 데이터를 시각화한 리포트 서비스

Elasticsearch 사용하는곳이 있나요?

Elasticsearch는 최근 몇년 사이 많은 발전을 하였습니다.또한 다양한 곳에서 활용도 하고 있는대 대표적인 서비스 예를 들면 삼성SDS 와 네이버가 있을 듯 합니다. 삼성SDS의 경우 Elasticsearch 기반으로 SDS Chatbot Brity 구축하였고네이버에서는 PaaS형 애플리케이션 로깅 시스템인 NELO에 Elasticsearch를 활용하기도 하였습니다.그 밖에 활용 사례는 아래의 링크에서 더 확인 가능합니다. ( 활용사례에 대한 강의 영상도 볼 수 있습니다.)

[활용사례 보러가기]

설치

설치를 진행하기 앞서 Elasticsearch 와 Logstash 는 Java 가 설치 되어 있어야지만 이용이 가능합니다. ELK 설치에 앞서 Java 설치를 하고 다음 순서대로 설치를 진행하길 권장합니다.

1. 자신의 OS에 맞는 ELK 다운로드

[다운로드링크]

Elasticsearch 설치

[다운로드링크]
전 WINDOWS 환경에서 설치를 하였기 때문에 윈도우 버전의 파일들을 다운로드 받았습니다.(elasticsearch 7.1에서 윈도우 설치시 msi 버전 파일도 있기 때문에 해당 파일로 설치하는것을 추천 드립니다. 편합니다….)

설치할 폴더와 사용 메모리 서비시 등록여부 등 설정을 선택한뒤 설치를 가 진행됩니다.

완료가 된뒤 locahost:9200 으로 접근하시면 서비스 기동된 엘라스틱서치의 상태를 확인하실 수 있습니다.

{
  "name" : "",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "ac2sBHymTcOgN0fD2fKW8A",
  "version" : {
    "number" : "7.1.1",
    "build_flavor" : "unknown",
    "build_type" : "unknown",
    "build_hash" : "7a013de",
    "build_date" : "2019-05-23T14:04:00.380842Z",
    "build_snapshot" : false,
    "lucene_version" : "8.0.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

서버에 보통 Head를 추가 설치 및 설정하여 조회를 하지만 우리는 개인 PC에 설치를 하고 조회 하기 위한 과정이므로 간단하게 크롬 앱스토어에서 다운로드 받아 플러그인을 설치 하여 사용해봅시다.
[elasticsearch head 다운로드]

Logstash 설치

Logstash 같은 경우 별도의 설치 절차는 없습니다. 다만 서비스 기동을 시켜 줘야 하는데 이때 데이터 수집과 전달 내용에 대해서 설정을 해준 파일을 서비스 기동시 등록을 해줘야 합니다. 어떤 식으로 데이터가 오고 가는지 보이 위함이므로 아래와 같이 파일을 bin 폴더에 생성하여 줍니다.logstash-test.conf

input { 
    beats { port => 5044 }
}
output {
  elasticsearch {
	hosts => ["127.0.0.1:9200"]
  }
  ##stdout { codec => rubydebug }
}

설정한 파일을 이제 실행 시켜 봅시다. 명령 프롬프트 실행 후 Logstash 설치 폴더의 bin 폴더로 이동후 아래와 같이 실행을 시켜 줍니다.

logstash -f logstash-test.conf

그러면 서비스 시작이 되고 5044 port 로 유입되는 정보에를 Elasticsearch 서버로 전송하게 됩니다.

Kibana 설치

[다운로드 링크]

윈도우 설치는 간단합니다. 다운로드 후 원하는 저장위치에 압축을 풀고 아래의 파일을 실행합니다.  {설치경로}\bin\kibana.bat

실행 후 서비스 기동이 완료 된 뒤 localhost:5601 로 접근하시면 kibana에 접근이 됩니다.

기타

명령 프롬프트로 매번 실행시키는게 불편하다면 NSSM을 사용하여 서비스에 등록하십시오.

마무리

짧긴하지만 대략적이라도 ELK 설치를 하는 과정을 진행해보았습니다.
( 2년전 참 힘들게 설치 했는데 지금은 뭔가 편해진느낌이네.. 세상참…음?)
다음(언제가 될지…)에는 일반적인 웹에서 elasticsearch 에 데이터를 남기는 방법에 대해서 진행해 보려고 합니다.