본문 바로가기
WIKI 기술 지식 베이스

Index State Management

원문 보기 위키 갱신

출처: 문서

본문

인덱스 상태 관리

인덱스 상태 관리(ISM)는 인덱스의 나이, 크기 또는 문서 수에 따라 인덱스에 대한 관리 작업을 실행해요. 시계열 데이터가 생성하는 주기적인 작업에 사용해요: 인덱스가 특정 크기에 도달하면 롤오버하고, 나이가 들면 복제본 수를 줄이고, 비수기 시간에 강제 병합하고, 스냅샷을 찍고, 더 이상 필요하지 않으면 삭제하는 작업이에요.

예를 들어, 정책은 30일 후에 인덱스를 read_only 상태로 전환하고, 60일 후에 스냅샷을 찍고, 90일 후에 삭제하며, 상태가 변경될 때마다 알림을 보낼 수 있어요.

정책, 상태, 작업 및 전환

정책은 인덱스가 어떻게 관리되는지 설명하는 JSON 문서예요. 세 부분으로 구성된 상태 머신이에요:

  • 상태는 관리되는 인덱스가 있을 수 있는 상태예요. 예를 들어 hot, warm, delete 등이 있어요. 인덱스는 한 번에 정확히 하나의 상태에 있어요.
  • 작업은 인덱스가 상태에 들어갈 때 ISM이 실행하는 작업이에요. 예를 들어 rollover, force_merge, snapshot 등이 있어요. 작업은 정의한 순서대로 실행돼요.
  • 전환은 인덱스를 한 상태에서 다음 상태로 이동시키는 조건이에요. 예를 들어 최소 나이 또는 문서 수에 도달하는 것이에요.

정책은 여러 상태, 각 상태의 여러 작업, 그리고 두 상태 간의 전환(자기 자신으로의 전환 포함)을 정의할 수 있어요. 전체 정책 구조는 정책을 참조하세요.

정책이 인덱스에 연결되면 ISM은 기본적으로 5분마다 실행되는 작업을 생성해요. 각 실행은 현재 상태의 작업을 수행하고, 전환 조건을 평가하며, 인덱스를 다음 상태로 이동시켜요. 간격을 변경하려면 설정을 참조하세요. ISM은 클러스터 상태가 빨간색인 동안에는 작업을 실행하지 않아요.

새 인덱스에 정책 연결

정책에 ism_template 객체를 추가하면 ISM이 이름이 패턴 중 하나와 일치하는 각 새 인덱스에 정책을 연결해요. 다음 정책은 이름이 index_name-으로 시작하는 모든 인덱스에 연결돼요:

PUT _plugins/_ism/policies/example_policy
{
  "policy": {
    "description": "Example policy.",
    "default_state": "hot",
    "states": [
      {
        "name": "hot",
        "actions": [],
        "transitions": []
      }
    ],
    "ism_template": {
      "index_patterns": ["index_name-*"],
      "priority": 100
    }
  }
}

{% include copy-curl.html %}

인덱스 패턴에는 다음 문자를 포함할 수 없어요: :, ", +, /, \, |, ?, #, >, <. 둘 이상의 템플릿이 새 인덱스의 이름과 일치하면 ISM은 가장 높은 priority를 가진 템플릿을 적용해요.

전체 예제는 자동 롤오버를 위한 ISM 템플릿 샘플 정책을 참조하세요.

ism_template는 생성된 이후의 인덱스에만 적용돼요. 이미 존재하는 인덱스에 정책을 연결하려면 관리되는 인덱스 또는 정책 적용을 참조하세요.

인덱스 템플릿을 통해 정책을 연결했던 opendistro.index_state_management.policy_id 인덱스 설정은 더 이상 사용되지 않아요. 대신 ism_template를 사용하세요. {: .note}

이 섹션에서

주제 설명
정책 정책의 구조, 작업이 수행할 수 있는 작업, 그리고 전체 정책 예제.
관리되는 인덱스 인덱스를 관리하는 정책을 변경, 제거 및 재시도.
ISM API 정책 생성, 연결 및 분리, 그리고 관리되는 인덱스의 상태 설명.
ISM 오류 방지 작업이 실행되기 전에 검증하고 검증 메시지를 해결.
설정 작업 간격, 기록 및 검증을 제어하는 클러스터 설정.

관련 문서

더 알아보기 (Learn more)