DevOps/ElasticSearch 3

[ElasticSearch] 클러스터와 노드

1. 엘라스틱서치 클러스터 개념클러스터 (Cluster)여러 개의 엘라스틱서치 인스턴스(노드)들이 모여서 하나의 클러스터를 구성합니다. 모든 노드는 클러스터 이름을 공유하며, 같은 클러스터 이름을 가진 노드들만이 클러스터의 일부로 간주됩니다.클러스터 ID 및 이름각 클러스터는 고유한 클러스터 ID를 가지며, 이름은 클러스터를 식별하기 위해 사용됩니다. 클러스터 이름은 설정 파일에서 정의할 수 있습니다 (elasticsearch.yml).2. 노드 유형엘라스틱서치 클러스터는 다양한 역할을 수행하는 여러 노드로 구성됩니다. 각각 하나의 역할만 할 수 있는 게 아니라 한 번에 여러 개의 역할을 할 수 있습니다.마스터 노드 (Master Node)클러스터의 상태를 관리하고 클러스터의 메타데이터(예: 인덱스, 노..

[ElasticSearch]모니터링: Prometheus와 X-Pack

Prometheus를 이용한 모니터링Prometheus는 오픈 소스 시계열 데이터베이스로, 메트릭 수집과 모니터링에 최적화된 도구입니다. Grafana와의 연동을 통해 시각화도 용이하게 할 수 있습니다. Elasticsearch 8과 통합하여 클러스터의 성능과 상태를 실시간으로 모니터링할 수 있습니다.Prometheus의 장점• 확장성: 대규모 클러스터에서도 성능 저하 없이 대량의 메트릭을 효율적으로 처리할 수 있습니다. • 경고 기능: Prometheus Alertmanager를 통해 다양한 조건의 경고를 설정하고 관리할 수 있습니다. • 강력한 시각화: Grafana와의 통합을 통해 고도화된 대시보드를 구축할 수 있습니다.Prometheus의 단점• 설치 및 설정 복잡성: Prometheus, Exp..

[ElasticSearch] 인덱스, 샤드, 세그먼트, 타입, 매핑

인덱스인덱스는 데이터를 저장하는 가장 큰 논리적 단위로, 각 인덱스는 샤드로 나누어져 저장됩니다. 인덱스는 관계형 데이터베이스의 테이블과 유사하게, 각 인덱스는 특정 유형의 데이터를 저장하며 여러 문서 (document)의 집합으로 이루어져 있습니다. 각 문서는 JSON 형식으로 저장됩니다.인덱스의 구조와 설정인덱스는 클러스터 내에서 유일해야 하며, 중복된 이름의 인덱스를 생성할 수 없습니다. 이는 데이터 관리와 검색의 효율성을 높이기 위한 것입니다.만일 nginx의 액세스 로그를 수집한다면 nginx-access-log-YYYY.MM.DD 식의 이름을 사용하는 것을 추천합니다.타입과거 엘라스틱서치에서는 하나의 인덱스에 여러 타입 (Type)을 정의할 수 있었습니다. 타입은 서로 다른 데이터 유형을 하나..

728x90