데이터 스트림 통계 API
데이터 스트림 통계 API (Data Stream Stats API)
데이터 스트림들이 얼마나 많은 공간을 쓰고 있는지, 마지막으로 쌓인 데이터가 언제인지 궁금하시죠? 데이터 스트림 통계 API가 하나 이상의 데이터 스트림에 대한 통계를 제공해요. 백킹 인덱스 수, 저장소 크기, 최대 타임스탬프가 포함돼요. 데이터 스트림 전반의 저장소와 인덱싱 활동을 모니터링할 때 유용해요.
출처: 문서
본문
1.0에서 도입
데이터 스트림 통계 API는 백킹 인덱스 수, 저장소 크기, 최대 타임스탬프를 포함해 하나 이상의 데이터 스트림에 대한 통계를 제공해요. 이 API를 사용해 데이터 스트림 전반의 저장소와 인덱싱 활동을 모니터링할 수 있어요.
엔드포인트
GET /_data_stream/_stats
GET /_data_stream/{name}/_stats
경로 파라미터
다음 표는 사용 가능한 경로 파라미터예요. 모든 경로 파라미터는 선택적이에요.
| Parameter | Data type | Description |
|---|---|---|
| name | List or String | 요청을 제한하는 데 사용되는 데이터 스트림의 쉼표로 구분된 목록이에요. 와일드카드 표현식(*)을 지원해요. 클러스터의 모든 데이터 스트림을 대상으로 하려면 이 파라미터를 생략하거나 *를 사용해요. |
쿼리 파라미터
다음 표는 사용 가능한 쿼리 파라미터예요. 모든 쿼리 파라미터는 선택적이에요.
| Parameter | Data type | Description | Default |
|---|---|---|---|
| error_trace | Boolean | 반환된 오류의 스택 트레이스를 포함할지 여부예요. | false |
| filter_path | List or String | 응답을 줄이는 데 사용돼요. 이 파라미터는 쉼표로 구분된 필터 목록을 받아요. 와일드카드로 필드나 필드 이름의 일부를 매칭할 수 있어요. -로 필드를 제외할 수도 있어요. |
N/A |
| human | Boolean | 통계에 대해 사람이 읽을 수 있는 값을 반환할지 여부예요. | false |
| pretty | Boolean | 반환된 JSON 응답을 pretty 형식으로 할지 여부예요. | false |
| source | String | URL 인코딩된 요청 정의예요. POST가 아닌 요청에 요청 본문을 받아들이지 않는 라이브러리에 유용해요. | N/A |
예시 요청
일치하는 패턴과 데이터 스트림이 활성화된 인덱스 템플릿을 만들어요.
PUT /_index_template/template-logs-app
{
"index_patterns": [
"logs-app*"
],
"data_stream": {}
}
데이터 스트림을 만들어요.
PUT /_data_stream/logs-app
{}
백킹 인덱스를 생성하기 위해 문서를 인덱싱해요.
POST /logs-app/_doc
{
"@timestamp": "2025-06-23T10:00:00Z",
"message": "app started"
}
데이터 스트림에 대한 통계를 검색해요.
GET /_data_stream/logs-app/_stats?human=true
예시 응답
{
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"data_stream_count": 1,
"backing_indices": 1,
"total_store_size": "16.8kb",
"total_store_size_bytes": 17304,
"data_streams": [
{
"data_stream": "logs-app",
"backing_indices": 1,
"store_size": "16.8kb",
"store_size_bytes": 17304,
"maximum_timestamp": 1750673100000
}
]
}
응답 본문 필드
| Field | Data type | Description |
|---|---|---|
| _shards.total | Integer | 요청에 포함된 총 샤드 수예요. |
| _shards.successful | Integer | 성공한 샤드 fetch 수예요. |
| _shards.failed | Integer | 실패한 샤드 fetch 수예요. |
| data_stream_count | Integer | 응답에 반환된 총 데이터 스트림 수예요. |
| backing_indices | Integer | 모든 데이터 스트림의 총 백킹 인덱스 수예요. |
| total_store_size | String | 모든 데이터 스트림 저장소의 사람이 읽을 수 있는 총 크기예요. human=true일 때만 존재해요. |
| total_store_size_bytes | Integer | 모든 데이터 스트림이 사용하는 총 저장소(바이트)예요. |
| data_streams | Array | 각 데이터 스트림에 대해 하나씩인 객체 목록이에요. 객체 필드는 The data stream objects를 참고하세요. |
데이터 스트림 객체 (The data stream objects)
각 데이터 스트림 객체는 다음 필드를 포함해요.
| Field | Data type | Description |
|---|---|---|
| data_stream | String | 데이터 스트림의 이름이에요. |
| backing_indices | Integer | 데이터 스트림의 백킹 인덱스 수예요. |
| store_size | String | 데이터 스트림이 사용하는 사람이 읽을 수 있는 저장소예요. human=true일 때만 존재해요. |
| store_size_bytes | Integer | 데이터 스트림이 사용하는 총 저장소(바이트)예요. |
| maximum_timestamp | Long | 데이터 스트림의 모든 문서에서 가장 큰 타임스탬프예요. |
보안
Security 플러그인을 사용한다면 적절한 권한이 있는지 확인해야 해요: indices:monitor/data_stream/stats.
관련 문서
- Data streams
- Get data streams
더 알아보기 (Learn more)
human=true를 쓰면 저장소 크기를 읽기 쉬운 단위로 볼 수 있어요.- 데이터 스트림의 개념은 Data streams 문서에서 다뤄요.