인덱스 샤드 저장소 API

인덱스 샤드 저장소 API (Index Shard Stores API)

1.0부터 도입되었어요.

_shard_stores API는 하나 이상의 인덱스에 대한 샤드 복사본 정보를 제공해요. 이 API는 샤드가 왜 할당되지 않았는지와 현재 상태를 보여줌으로써, 할당되지 않은 샤드의 문제를 진단하는 데 도움을 줘요.

출처: 문서

본문

엔드포인트

GET /_shard_stores
GET /{index}/_shard_stores

경로 파라미터

사용할 수 있는 경로 파라미터는 아래 표와 같아요. 모든 경로 파라미터는 선택사항이에요.

파라미터 데이터 타입 설명
index List or String 요청을 제한하는 데 사용하는 데이터 스트림, 인덱스, 별칭의 목록이에요.

쿼리 파라미터

사용할 수 있는 쿼리 파라미터는 아래 표와 같아요. 모든 쿼리 파라미터는 선택사항이에요.

파라미터 데이터 타입 설명 기본값
allow_no_indices Boolean false이면 어떤 와일드카드 표현식, 인덱스 별칭, 또는 _all 값이 누락되거나 닫힌 인덱스만 대상으로 하면 오류를 반환해요. 이 동작은 요청이 다른 열린 인덱스도 대상으로 하더라도 적용돼요. false
expand_wildcards List or String 와일드카드 패턴이 일치할 수 있는 인덱스 유형이에요. 요청이 데이터 스트림을 대상으로 할 수 있다면 이 인자는 와일드카드 표현식이 숨은 데이터 스트림과 일치하는지 결정해요. 유효한 값은 all(숨은 인덱스를 포함한 모든 인덱스 매치), closed(숨기지 않은 닫힌 인덱스 매치), hidden(숨은 인덱스 매치 — open, closed, 또는 둘 다와 함께 사용해야 해요), none(와일드카드 표현식을 받지 않음), open(숨기지 않은 열린 인덱스 매치)이에요. open
ignore_unavailable Boolean true이면 누락되거나 닫힌 인덱스가 응답에 포함되지 않아요. false
status List or String 요청을 제한하는 데 사용하는 샤드 건강 상태의 목록이에요. 유효한 값은 all(건강 상태와 무관하게 모든 샤드 반환), green(프라이머리 샤드와 모든 복제본 샤드가 할당됨), red(프라이머리 샤드가 할당되지 않음), yellow(복제본 샤드 하나 이상이 할당되지 않음)이에요. yellow,red

요청 예시

단일 노드 클러스터에 여러 프라이머리 샤드가 있는 인덱스를 만들어요:

PUT /logs-shardstore
{
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 0
  },
  "mappings": {
    "properties": {
      "timestamp": { "type": "date" },
      "message": { "type": "text" }
    }
  }
}

문서 하나를 인덱싱해요:

POST /logs-shardstore/_doc
{
  "timestamp": "2025-06-20T12:00:00Z",
  "message": "Log message 1"
}

logs-shardstore 인덱스의 샤드 저장소 상태를 가져와요:

GET /logs-shardstore/_shard_stores?status=all

응답 예시

응답은 각 샤드에 할당된 저장소를 나열해요. 샤드에 할당된 저장소가 없으면 unassigned로 표시돼요:

{
  "indices": {
    "logs-shardstore": {
      "shards": {
        "0": {
          "stores": [
            {
              "UFyVYVMCSDOObiRwPxSW5w": {
                "name": "opensearch-node1",
                "ephemeral_id": "vkSB_-M7QVyFXvgda6oRZg",
                "transport_address": "172.19.0.2:9300",
                "attributes": {
                  "shard_indexing_pressure_enabled": "true"
                }
              },
              "allocation_id": "PEM5YjEWSz-jJEj-Not6Aw",
              "allocation": "primary"
            }
          ]
        },
        "1": {
          "stores": []
        }
      }
    }
  }
}

응답 본문 필드

모든 응답 본문 필드는 아래 표와 같아요.

필드 데이터 타입 설명
indices Object 각 인덱스에 대한 샤드 저장소 정보를 담고 있어요.
indices.<index>.shards Object 인덱스의 각 샤드에 대한 저장소 데이터를 담고 있어요.
shards.<shard_id>.stores Array 샤드의 저장소 항목 목록이에요.
stores[n].<node_id> Object 이름, 전송 주소, 속성을 포함한 노드 메타데이터예요.
stores[n].allocation String 이 노드에서의 샤드 역할(primary 또는 replica)이에요.
stores[n].allocation_id String 이 샤드 복사본의 고유 할당 ID예요.
stores[n].store_exception Object (optional) 샤드 저장소를 읽을 때 발생한 예외를 저장해요.
stores[n].store_exception.type String 예외의 유형이에요.
stores[n].store_exception.reason String 예외의 이유 메시지예요.

필요한 권한

보안 플러그인을 사용한다면 다음 권한이 필요해요: indices:monitor/shard_stores.

더 알아보기 (Learn more)