Elasticsearch
클러스터
수색…
비고
클러스터 상태는 클러스터에 대한 많은 정보 (예 : 할당 된 샤드의 수 ( "활성") 및 할당되지 않은 클러스터의 수와 재배치)를 제공합니다. 또한 클러스터의 현재 노드 수와 데이터 노드 수를 제공하므로 누락 된 노드를 폴링 할 수 있습니다 (예 : 15 일 것으로 예상되지만 14 일 경우 노드가 누락 됨) .
Elasticsearch에 대해 알고있는 사람은 "할당 됨"및 "할당되지 않은"조각이 문제점을 추적하는 데 도움을 줄 수 있습니다.
클러스터 status 에서 가장 자주 검사되는 필드는 다음 세 가지 상태 중 하나 일 수있는 상태입니다.
- 빨간
- 노랑
- 녹색
색상은 각각 하나 - 단 하나 - 아주 간단한 것 :
- 빨간색은 적어도 하나의 기본 샤드가 누락되었음을 나타냅니다.
- 1 차 샤드가 누락되면 대부분의 경우 새 데이터를 쓰는 데 색인을 사용할 수 없습니다.
- 기술적으로, 그 인덱스에서 사용 가능한 모든 주요 조각으로 인덱스 할 수는 있지만 일반적으로 특정 문서를받는 샤드를 제어하지 않기 때문에 실제로는 사용할 수 없습니다.
- 적색 클러스터에 대한 검색은 여전히 가능하지만, 검색 한 색인에 샤드가 누락되어 있으면 부분 검색 결과가 나옵니다.
- 정상적인 상황에서는 주 샤드가 할당되고 있다는 것을 의미합니다 (
initializing_shards). - 노드가 클러스터를 떠난 경우 (예를 들어, 실행중인 시스템이 전원을 잃어 버렸기 때문에) 임시 파편이 일시적으로 누락 될 수 있습니다.
- 이 시나리오에서는 해당 기본 샤드의 모든 복제 샤드가 기본 샤드로 승격됩니다.
- 1 차 샤드가 누락되면 대부분의 경우 새 데이터를 쓰는 데 색인을 사용할 수 없습니다.
- 노란색은 모든 기본 샤드가 활성화되었지만 최소한 하나의 복제 샤드가 없음을 나타냅니다.
- 누락 된 복제본은 일관성 설정에서 인덱싱에 영향을 주도록 요구하는 경우에만 인덱싱에 영향을줍니다.
- 기본적으로 기본 데이터베이스에는 하나의 복제본 만 있으며 누락 된 하나의 복제본만으로 인덱싱 할 수 있습니다.
- 정상적인 상황에서는 복제 샤드가 할당되고 있음을 의미합니다 (
initializing_shards). - 복제본이 활성화 된 노드 하나의 클러스터는 항상 최고로 황색입니다. 기본 샤드가 아직 지정되지 않은 경우 빨간색이 될 수 있습니다.
- 단일 노드 만있는 경우 복제본을 예상하지 않으므로 복제본을 비활성화하는 것이 좋습니다. 그러면 그것은 초록색 일 수 있습니다.
- 누락 된 복제본은 일관성 설정에서 인덱싱에 영향을 주도록 요구하는 경우에만 인덱싱에 영향을줍니다.
- 녹색은 모든 샤드가 활성 상태임을 나타냅니다.
- 녹색 클러스터에 허용 된 샤드 활동은
relocating_shards뿐입니다. - 새 색인과 새로운 조각은 클러스터가 빨간색에서 노란색으로 녹색으로 바뀌고 각 샤드가 할당됩니다 (먼저 기본, 노란색으로 만든 다음 가능한 경우 복제본을 녹색으로 만듭니다).
- Elasticsearch 5.x 이상에서는 새로운 인덱스를 사용하여 할당하는 데 너무 오래 걸리지 않는 한 클러스터를 빨간색으로 만들지 않습니다 .
- 녹색 클러스터에 허용 된 샤드 활동은
사람이 읽을 수있는 표 형식의 클러스터 상태 (헤더 포함)
예제에서는 기본 HTTP 구문을 사용합니다. 예제의 <#> 는 복사 할 때 제거해야합니다.
_cat API를 사용하여 여러 가지 이유로 사람이 읽을 수있는 표 출력을 얻을 수 있습니다.
GET /_cat/health?v <1>
-
?v는 선택적이지만 "자세한 정보"출력을 원합니다.
_cat/health 는 Elasticsearch 1.x 이후로 존재했지만 Elasticsearch 5.x의 결과는 다음과 같습니다.
자세한 출력 :
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1469302011 15:26:51 elasticsearch yellow 1 1 45 45 0 0 44 0 - 50.6%
사람이 읽을 수있는 표 형식의 클러스터 상태 (헤더없이)
예제에서는 기본 HTTP 구문을 사용합니다. 예제의 <#> 는 복사 할 때 제거해야합니다.
_cat API를 사용하여 여러 가지 이유로 사람이 읽을 수있는 표 출력을 얻을 수 있습니다.
GET /_cat/health <1>
_cat/health 는 Elasticsearch 1.x 이후로 존재했지만 Elasticsearch 5.x의 결과는 다음과 같습니다.
자세한 출력없이 :
1469302245 15:30:45 elasticsearch yellow 1 1 45 45 0 0 44 0 - 50.6%
선택한 헤더가있는 사람이 읽을 수있는 테이블 형식의 클러스터 상태
예제에서는 기본 HTTP 구문을 사용합니다. 예제의 <#> 는 복사 할 때 제거해야합니다.
Elasticsearch의 대부분의 _cat API와 마찬가지로 API는 기본 필드 집합을 선택적으로 응답합니다. 그러나 원하는 경우 API의 다른 필드가 있습니다.
GET /_cat/health?help <1>
-
?help는 API가 간단한 설명과 함께 필드 (및 짧은 이름)를 리턴하도록합니다.
_cat/health 는 Elasticsearch 1.x 이후로 존재했지만 Elasticsearch 5.x의 결과는 다음과 같습니다.
이 예제의 생성 날짜에서 사용할 수있는 필드 :
epoch | t,time | seconds since 1970-01-01 00:00:00
timestamp | ts,hms,hhmmss | time in HH:MM:SS
cluster | cl | cluster name
status | st | health status
node.total | nt,nodeTotal | total number of nodes
node.data | nd,nodeData | number of nodes that can store data
shards | t,sh,shards.total,shardsTotal | total number of shards
pri | p,shards.primary,shardsPrimary | number of primary shards
relo | r,shards.relocating,shardsRelocating | number of relocating nodes
init | i,shards.initializing,shardsInitializing | number of initializing nodes
unassign | u,shards.unassigned,shardsUnassigned | number of unassigned shards
pending_tasks | pt,pendingTasks | number of pending tasks
max_task_wait_time | mtwt,maxTaskWaitTime | wait time of longest task pending
active_shards_percent | asp,activeShardsPercent | active number of shards in percent
다음을 사용하여 해당 필드 만 인쇄 할 수 있습니다.
GET /_cat/health?h=timestamp,cl,status&v <1>
-
h=...반환 할 필드 목록을 정의합니다. -
v(자세한 정보)는 헤더 인쇄를 원한다고 정의합니다.
Elasticsearch 5.x 인스턴스의 출력 :
timestamp cl status
15:38:00 elasticsearch yellow
JSON 기반 클러스터 상태
예제에서는 기본 HTTP 구문을 사용합니다. 예제의 <#> 는 복사 할 때 제거해야합니다.
_cat API는 종종 사람이 클러스터에 대한 세부 정보를 한눈에 파악하는 데 편리합니다. 그러나 소프트웨어와 함께 사용하기 위해 일관되게 파싱 가능한 출력을 원할 때가 있습니다. 일반적으로 JSON API는 이러한 용도로 사용됩니다.
GET /_cluster/health
_cluster/health 는 Elasticsearch 1.x 이후 존재했지만, 여기 Elasticsearch 5.x의 출력 예제가 있습니다.
{
"cluster_name": "elasticsearch",
"status": "yellow",
"timed_out": false,
"number_of_nodes": 1,
"number_of_data_nodes": 1,
"active_primary_shards": 45,
"active_shards": 45,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 44,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 50.56179775280899
}