클러스터 보류 작업 API

클러스터 보류 작업 API (Cluster Pending Tasks API)

클러스터에 아직 실행되지 않은 변경 사항이 쌓여 있는지 확인하고 싶으시죠? /_cluster/pending_tasks API가 아직 실행되지 않은 클러스터 수준 변경 목록을 반환해요. 이런 보류 작업은 보통 대기 중인 작업으로, 인덱스 생성, 템플릿 업데이트, 샤드 할당 변경, 기타 클러스터 상태 업데이트가 여기에 해당해요.

출처: 문서

본문

1.0에서 도입

/_cluster/pending_tasks API는 아직 실행되지 않은 클러스터 수준 변경 목록을 반환해요. 이러한 보류 작업은 일반적으로 인덱스 생성, 템플릿 업데이트, 샤드 할당 변경, 기타 클러스터 상태 업데이트 같은 대기 중인 작업이에요.

이 API는 작업이 백업되거나 멈췄을 때 특히 클러스터 상태를 모니터링하고 클러스터 상태 업데이트의 지연을 진단하는 데 유용해요.

엔드포인트

GET /_cluster/pending_tasks

쿼리 파라미터

다음 표는 사용 가능한 쿼리 파라미터예요. 모든 쿼리 파라미터는 선택적이에요.

Parameter Data type Description
local Boolean elected cluster manager 노드 대신 로컬 노드에서만 정보를 반환할지 여부예요. 기본값은 false예요.
cluster_manager_timeout Time cluster manager 노드에 연결하는 타임아웃을 지정해요. 기본값은 30s예요.

예시 요청

다음 요청은 현재 보류 중인 클러스터 상태 업데이트 작업 목록을 반환해요.

GET /_cluster/pending_tasks

예시 응답

{
  "tasks": [
    {
      "insert_order": 1234,
      "priority": "HIGH",
      "source": "create-index [logs-2025.07.15]",
      "executing": false,
      "time_in_queue_millis": 28,
      "time_in_queue": "28ms"
    },
    {
      "insert_order": 1235,
      "priority": "URGENT",
      "source": "shard-started shard id [logs-2025.07.15][0]",
      "executing": true,
      "time_in_queue_millis": 3,
      "time_in_queue": "3ms"
    }
  ]
}

/_cluster/pending_tasks API는 일반적으로 빈 배열을 반환하는데, 그 이유는 작업이 보통 응답에 포함되기에는 너무 빨리 처리되기 때문이에요.

응답 필드

다음 표는 모든 응답 필드예요.

Field Data type Description
tasks Array 보류 중인 클러스터 상태 업데이트 작업 목록이에요.
tasks[n].insert_order Integer 작업이 큐에 추가된 순서예요.
tasks[n].priority String 작업의 우선순위 수준이에요(예: HIGH, URGENT).
tasks[n].source String 작업을 제출한 연산에 대한 설명이에요.
tasks[n].executing Boolean 작업이 현재 실행 중인지 여부를 확인해요.
tasks[n].time_in_queue_millis Integer 작업이 큐에서 대기한 시간(밀리초)이에요.
tasks[n].time_in_queue String time_in_queue_millis의 사람이 읽을 수 있는 버전이에요.

보안

Security 플러그인을 사용한다면 적절한 권한이 있는지 확인해야 해요: cluster:monitor/task.

더 알아보기 (Learn more)

  • 클러스터 상태 전반은 Cluster State API에서 다뤄요.
  • 실행 중인 작업을 모니터링하려면 Tasks API를 참고하세요.