ELK 이란 ?
- 모든 유형의 구조화 및 비정형 데이터에서 실시간으로 실행 가능한 통찰력을 제공하는 End to End Stack을 만들었습니다. 데이터를 검색하고 분석하는데 용이합니다.
: 분산형 RESTful 검색 및 분석 엔진 입니다. 데이터를 중심부에 저장하여 예상되는 항목을 검색하고 예상치 못한 항목을 밝혀낼 수 있습니다.
1) 정형, 비정형, 위치정보, 메트릭 등 원하는 방법으로 다양한 유형의 검색을 수행하고 결합할 수 있습니다.
2) 표준 RESTful API와 JSON을 사용합니다.
: 오픈소스 서버측 데이터 처리 파이프라인으로, 다양한 소스에서 동시에 데이터를 수집하고 변환하여 자주 사용하는 Stash 보관소로 보냅니다.
: 데이터를 시각적으로 탐색하고 실시간으로 분석 할 수 있습니다.
ELK Stack 이란?
- ELK 솔루션에서 Beats 추가되면서 ELK Stack 이라고 불립니다.
: 서버에 에이전트로 설치하여 다양한 유형의 데이터를 Elastic Search 또는 Logstash에 전송하는 오픈 소스 데이터 발송자입니다.
Elastic Search - 개념정리
1) Near Realtime
- 거의 실시간 검색 플랫폼이라는 특징을 가지고 있습니다.
2) Cluster
- 전체 데이터를 함계 보유하고 모든 노드에서 연합 인덱싱 및 검색 기능을 제공하는 하나 이상의 노드모음입니다.
- 기본적으로 'elasticsearch' 라는 고유한 이름으로 식별합니다.
3) Node
- 클러스터의 일부이며 데이터를 저장하고 클러스터의 인덱싱 및 검색 기능에 참여하는 단일 서버입니다.
- 노드에 할당되는 임의 UUID인 이름으로 식별합니다.
- 특정 클러스터를 클러스터 이름으로 결합하도록 노드를 구성 할 수 있습니다.
4) Index
- 다소 유사한 특성을 갖는 문서들의 집합입니다.
- 단일 클러스터에서 원하는만큼의 인덱스를 정의 할 수 있습니다.
5) Type
- Index 내에서 하나 이상의 Type을 정의 할 수 있습니다.
6) Document
- Index를 생성 할 수 있는 기본 정보 단위입니다.
- JSON으로 표현합니다.
7) Shards
- Index는 잠재적으로 단일 노드의 하드웨어 제한을 초과 할 수 있는 많은 양의 데이터를 저장 할 수 있습니다. 하지만 단일 노드의 디스크가 맞지 않거나 단일 노드의 검색 요청만 처리하기에는 너무 느릴 수 있기 때문에 shards를 이용하여 Index를 여러 조각으로 나눌 수 있습니다.
- 수평적으로 콘텐츠 볼륨을 split/scale 가능합니다.
- 여러 노드에서 잠재적으로 분산을 통해 작업을 분산 및 병렬 처리를 할 수 있으므로 성능/처리량이 향상됩니다.
8) Replication
- 장애가 발생할 경우 고가용성을 제공합니다. 그렇기 때문에 복제본 샤드는 복사된 원본/기본 샤드와 동일한 노드에 할당되지 않습니다.
- 모든 복제본에서 검색을 병렬로 실행할 수 있기 때문에 검색 볼륨/처리량을 수평 확장 할 수 있습니다.
- 기본적으로 각 인덱스는 4개의 기본 샤드와 1개의 복제본이 할당됩니다.
출처: http://heowc.tistory.com/49 [허원철의 개발 블로그]
Add Comment