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

Core APIs

원문 보기 위키 갱신

출처: 문서

본문

핵심 API

모든 OpenSearch Data Prepper 인스턴스는 일부 제어 API가 있는 서버를 노출해요. 기본적으로 이 서버는 4900 포트에서 실행돼요. 일부 플러그인, 특히 소스 플러그인은 다른 포트에서 실행되는 다른 서버를 노출할 수도 있어요. 이러한 플러그인의 구성은 핵심 API와 독립적이에요. 예를 들어, Data Prepper를 종료하려면 다음 cURL 요청을 실행할 수 있어요:

curl -X POST http://localhost:4900/shutdown

API

다음 표는 사용 가능한 API를 나열해요.

이름 설명
GET /list
POST /list
실행 중인 파이프라인 목록을 반환해요.
POST /shutdown Data Prepper의 정상 종료를 시작해요.
GET /metrics/prometheus
POST /metrics/prometheus
Prometheus 텍스트 형식으로 Data Prepper 메트릭 스크레이프를 반환해요. 이 API는 Data Prepper 구성 파일 data-prepper-config.yaml의 metricsRegistries 매개변수로 사용할 수 있으며 레지스트리의 일부로 Prometheus를 포함해요.
GET /metrics/sys
POST /metrics/sys
Prometheus 텍스트 형식으로 JVM 메트릭을 반환해요. 이 API는 Data Prepper 구성 파일 data-prepper-config.yaml의 metricsRegistries 매개변수로 사용할 수 있으며 레지스트리의 일부로 Prometheus를 포함해요.

서버 구성

data-prepper-config.yaml 파일을 통해 Data Prepper 핵심 API를 구성할 수 있어요.

SSL/TLS 연결

이 프로젝트의 많은 시작 가이드는 엔드포인트에서 SSL을 비활성화해요:

ssl: false

Data Prepper 엔드포인트에서 SSL을 활성화하려면 data-prepper-config.yaml 파일에 다음 옵션을 구성하세요:

ssl: true
keyStoreFilePath: "/usr/share/data-prepper/keystore.p12"
keyStorePassword: "secret"
privateKeyPassword: "secret"

SSL로 Data Prepper 서버를 구성하는 방법에 대한 자세한 내용은 서버 구성을 참조하세요. 자체 서명된 인증서를 사용하는 경우 요청에 -k 플래그를 추가하여 SSL로 핵심 API를 빠르게 테스트할 수 있어요. 다음 shutdown 요청을 사용하여 SSL로 핵심 API를 테스트하세요:

curl -k -X POST https://localhost:4900/shutdown 

인증

Data Prepper 핵심 API는 HTTP 기본 인증을 지원해요. data-prepper-config.yaml 파일에서 다음 구성을 사용하여 사용자 이름과 비밀번호를 설정할 수 있어요:

authentication:
  http_basic:
    username: "myuser"
    password: "mys3cr3t"

다음 구성을 사용하여 핵심 엔드포인트의 인증을 비활성화할 수 있어요. 종료 API 등이 Data Prepper 인스턴스에 네트워크 접근 권한이 있는 모든 사람에게 접근 가능해지므로 주의해서 사용하세요.

authentication:
  unauthenticated:

Peer Forwarder

Peer Forwarder는 여러 Data Prepper 노드에서 상태 저장 집계를 활성화하도록 구성할 수 있어요. Peer Forwarder 구성에 대한 자세한 내용은 Peer Forwarder를 참조하세요. service_map, otel_traces, aggregate 프로세서에서 지원돼요.

종료 시간 제한

Data Prepper shutdown API를 실행하면 프로세스가 정상적으로 종료되고 ExecutorService 싱크와 ExecutorService 프로세서 모두에 대해 남은 데이터를 지워요. 두 프로세스 종료의 기본 시간 제한은 10초예요. 다음 선택적 data-prepper-config.yaml 파일 매개변수를 사용하여 시간 제한을 구성할 수 있어요:

processorShutdownTimeout: "PT15M"
sinkShutdownTimeout: 30s

이 매개변수의 값은 Data Prepper Duration Deserializer를 통해 Duration 객체로 구문 분석돼요.

더 알아보기 (Learn more)