티스토리 뷰

Elastic Stack

Elastic stack의 전반적인 틀과 그 구성 요소들이 어떻게 적용하는지부터 알아보자. 이 툴에는 Elasticsearch, Kibana, Logstash/Beats, X-Pack이 있다.
Lucene 오픈 소스 검색 구조의 확장 가능한 버전으로 시작되었으며, Lucene 인덱스를 수평 확장할 수 있는 기능이 추가되었다.

  • Elasticsearch 안의 각 shard는 문서의 단일 lucene 역색인이다. 따라서 모든 shard는 Lucene의 것이다.
  • 전체 텍스트 검색보다 훨씬 더 많은 것을 처리할 수 있으며, 구조 데이터 및 집계 데이터를 매우 빠르게 처리할 수 있다.
    • 단순히 검색을 위한 것이 아닌 모든 유형의 구조 데이터를 처리한다.
    • 주로 로그 집계 등에 자주 사용된다.
  • Hadoop, Spark, Flink 보다 속도가 빠르다.
    • elasticsearch의 그래프 시각화, 머신러닝과 같은 새로운 기능들은 hadoop, Spark, Flink 사이에서도 경쟁력이 있다.
    • 따라서 적절히 사용하면 검색 외에도 강력한 도구가 될 수 있다.

Elasticsearch

  • 표면적으로는 JSON 요청을 처리하는 것이다.
  • Elasticsearch 자체는 JSON 요청을 처리하고 JSON 데이터를 반환하는 서버이다.
  • 실제로 어떤 작업을 할지는 사용자에게 달려있다.

Kibana

  • 보기 편한 UI를 제공하여 검색 인덱스를 그래픽으로 시각화 할 수 있다.
  • 매우 복잡한 데이터의 집계 데이터 그래프와 차트 작성, 로그 분석 등에 자주 사용된다. 따라서 Google Analytics와 같은 작업을 자주 사용한다면 Elasticsearch + Kibana를 사용하여 대규모 구글 분석을 사용할 수 있다.

Logstash / Beats

  • Beats 프레임워크에서는 Logstash라는 도구를 사용해 Elasticsearch에 데이터를 실시간 스트리밍 형식으로 게시할 수 있다.
    • 예를 들어, 시간이 지남에 따라 검색 인덱스에 자동으로 입력하려는 웹 서버 로그가 있다면 FileBeats로 웹 서버에서 새로운 로그 파일을 찾아 구문 분석을 하고 Elasticsearch에서 요구하는 방식으로 구조화해서 들어오는 Elasticsearch 클러스터에 넣을 수 있다.
  • Logstash도 거의 같은 역할을 수행한다.
    • 서버와 elasticsearch 사이에서 데이터를 push하는데 사용할 수 있지만 대부분의 경우 중간 단계로 사용된다.
    • 용량이 적은 FileBeat 클라이언트를 웹 서버에 배치하고 Logstash로 데이터를 수집해 시간이 지남에 따라 데이터를 Elasticsearch로 보낼 수 있다.
  • Log file이나 Elasticsearch, web server에만 사용이 제한되지 않고 서로 다른 시스템을 연결하고 데이터를 이동할 수 있는 시스템이다.

X-Pack

  • elastic.co에서 제공하는 유료 추가 기능으로 보안 및 알림 모니터링과 보고 기능 등이 있다.
  • 머신러닝 및 그래프 탐색 기능과 같은 기능 또한 포함한다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함