티스토리 뷰

[업데이트 2016.12.01 01:14]

 

ELK Stack은 로그(빅데이터) 분석을 위해 사용되는 Open Source 프로젝트로 다음의 3가지의 약자입니다. 다음의 그림과 같이 결국 데이터가 가공되어 시각화됩니다. 기존에 운영 중인 서버로부터 로그 파일을 Logstash를 통해 Elasticsearch가 검색 및 분석할 수 있도록 JSON형태로 변환하여 전송합니다. 그리고 최종적으로 Kibana를 통해 데이터들을 시각화 합니다.

 

* 참고: http://www.thedevlog.com/wp/wp-content/uploads/2015/09/General-ELK-Stack.png

 

- Elasticsearch: JSON 문서 기반의 데이터 검색 및 분석 엔진.

- Logstash: 각종 수집된 로그를 JSON형태로 만들어 Elasticsearch로 전송.

- Kibana: Elasticsearch통해 검색된 데이터를 시각화하는 UI 도구.

 

* 참고: https://www.elastic.co/kr/products

 

- ELK Stack 설치하기 for Windows

저는 5.0.1버전 기준으로 설치를 해보았습니다. 아래의 위치에서 ELK 각각을 다운로드 합니다.

 

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

 

1) Elasticsearch

저는 zip파일 다운로드 하였는데, 다음과 같이 압축 해제 후, config\elasticsearch.yml를 open 합니다. 참고로 Java 기반으로 동작하기 때문에 JRE가 미리 설치 되어 있어야 합니다.

 

다음과 같이 cluster.name과 node.name을 임의로 변경이 가능합니다. 저는 아래와 같이 변경하였습니다. 또는 서비스 실행시 파라메터를 통해 변경 가능합니다.

 

1
elasticsearch.bat -Ecluster.name=my_cluster_name -Enode.name=my_node_name

 

 

* 참고: https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html 

 

<elasticsearch.yml>

# Use a descriptive name for your cluster:
#
cluster.name: big-data-test
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1

 

이제 Windows Command Prompt를 실행한후, elasticsearch root path\bin 디렉토리로 이동 후, elasticsearch.bat를 실행합니다. 실행후 다음과 같이 ready 상태가 되면, 아래의 주소로 접속해봅니다. 기본적으로 Elasticsearch는 9200포트로 실행이 됩니다.

 

http://localhost:9200/

 

 

접속하게 되면 다음과 같이 json파일을 볼 수 있으면, 정상적으로 준비가 완료된 상태입니다.

 

{
  "name" : "node-1",
  "cluster_name" : "big-data-test",
  "cluster_uuid" : "_ueiblgmRN-E645Clt3AJg",
  "version" : {
    "number" : "5.0.1",
    "build_hash" : "080bb47",
    "build_date" : "2016-11-11T22:08:49.812Z",
    "build_snapshot" : false,
    "lucene_version" : "6.2.1"
  },
  "tagline" : "You Know, for Search"
}

 

Elasticsearch는 index pattern, data import 등 모든것에 대해 REST API를 제공합니다. Elastic 페이지의 가이드를 보면 자세히 확인 할 수 있습니다. 결국 아래와 같은 syntax로 모든 REST API가 동작합니다. 가장 쉽게 REST API를 통해 CRUD 등을 실행할 수 있는 것은 Kibana의 Dev Tools > Console창을 이용하는 것입니다. 다음 2. Kibana 포스팅에서 확인해 보실 수 있습니다.

 

 

* 참고: https://www.elastic.co/guide/en/elasticsearch/reference/current/_delete_an_index.html

 

<GitHub>

https://github.com/asyncbridge/analytics/tree/master/ELK

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함