쿼리 및 리소스 캐싱 API
쿼리 및 리소스 캐싱 API
⚠️ Grafana 13부터
/api엔드포인트가/apis라우트로 대체되어 더 이상 사용되지 않게(deprecated) 되고 있어요. Grafana가 기존 API를 마이그레이션하는 동안 현재 사용 중인 레거시 API와 정확히 일치하지 않을 수 있어요. 이 변경으로 현재 설정이 중단되거나 깨지지는 않아요. 레거시 API는 비활성화되지 않으며 완전히 접근·사용 가능하지만,/api라우트는 더 이상 업데이트되지 않아요. 자세한 내용은 "Grafana의 새 API 구조" 문서를 참조해요.
요구 사항
Grafana Enterprise를 사용 중이라면 일부 엔드포인트에 특정 권한이 필요해요. 자세한 내용은 "Role-based access control permissions" 문서를 참조해요.
출처: 문서
본문
데이터 소스에 캐싱 활성화
POST /api/datasources/:dataSourceUID/cache/enable
필요한 권한 — 서문의 참고를 참조해요.
| Action | Scope |
|---|---|
| datasources.caching:write | datasources:* |
예제 요청:
POST /api/datasources/jZrmlLCGka/cache/enable HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...>
예제 응답:
HTTP/1.1 200
Content-Type: application/json
{
"message": "Data source cache enabled",
"dataSourceID": 1,
"dataSourceUID": "jZrmlLCGka",
"enabled": true,
"ttlQueriesMs": 300000,
"ttlResourcesMs": 300000,
"useDefaultTTL": true,
"defaultTTLMs": 300000,
"created": "2023-04-21T11:49:22-04:00",
"updated": "2023-04-24T16:30:29-04:00"
}
상태 코드:
| Code | Description |
|---|---|
| 200 | 데이터 소스에 대해 캐시가 성공적으로 활성화됨 |
| 500 | 예기치 않은 오류. 자세한 내용은 body 및/또는 서버 로그를 참조. |
데이터 소스에 캐싱 비활성화
POST /api/datasources/:dataSourceUID/cache/disable
필요한 권한 — 서문의 참고를 참조해요.
| Action | Scope |
|---|---|
| datasources.caching:write | datasources:* |
예제 요청:
POST /api/datasources/jZrmlLCGka/cache/disable HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...>
예제 응답:
HTTP/1.1 200
Content-Type: application/json
{
"message": "Data source cache disabled",
"dataSourceID": 1,
"dataSourceUID": "jZrmlLCGka",
"enabled": false,
"ttlQueriesMs": 300000,
"ttlResourcesMs": 300000,
"useDefaultTTL": true,
"defaultTTLMs": 0,
"created": "2023-04-21T11:49:22-04:00",
"updated": "2023-04-24T16:30:31-04:00"
}
상태 코드:
| Code | Description |
|---|---|
| 200 | 데이터 소스에 대해 캐시가 성공적으로 활성화됨 |
| 500 | 예기치 않은 오류. 자세한 내용은 body 및/또는 서버 로그를 참조. |
모든 데이터 소스의 캐시 정리
POST /api/datasources/:dataSourceUID/cache/clean
캐싱이 활성화된 모든 데이터 소스의 캐시된 데이터를 정리해요. 지정된 dataSourceUID는 해당 데이터 소스의 구성을 반환하는 데만 사용돼요.
필요한 권한 — 서문의 참고를 참조해요.
| Action | Scope |
|---|---|
| datasources.caching:write | datasources:* |
예제 요청:
POST /api/datasources/jZrmlLCGka/cache/clean HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...>
예제 응답:
HTTP/1.1 200
Content-Type: application/json
{
"message": "Data source cache cleaned",
"dataSourceID": 1,
"dataSourceUID": "jZrmlLCGka",
"enabled": false,
"ttlQueriesMs": 300000,
"ttlResourcesMs": 300000,
"useDefaultTTL": true,
"defaultTTLMs": 0,
"created": "2023-04-21T11:49:22-04:00",
"updated": "2023-04-24T16:30:31-04:00"
}
상태 코드:
| Code | Description |
|---|---|
| 200 | 데이터 소스에 대해 캐시가 성공적으로 활성화됨 |
| 500 | 예기치 않은 오류. 자세한 내용은 body 및/또는 서버 로그를 참조. |
데이터 소스의 캐시 구성 업데이트
POST /api/datasources/:dataSourceUID/cache
필요한 권한 — 서문의 참고를 참조해요.
| Action | Scope |
|---|---|
| datasources.caching:write | datasources:* |
예제 요청:
POST /api/datasources/jZrmlLCGka/cache HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...KEN>
{
"dataSourceID": 1,
"dataSourceUID": "jZrmlLCGka",
"enabled": true,
"useDefaultTTL": false,
"ttlQueriesMs": 60000,
"ttlResourcesMs": 300000,
}
JSON body 스키마:
| Field name | Data type | Description |
|---|---|---|
| dataSourceID | number | 구성할 데이터 소스의 ID. |
| dataSourceUID | string | 구성할 데이터 소스의 UID. |
| enabled | boolean | 이 데이터 소스에 대해 캐싱을 활성화할지 여부. |
| useDefaultTTL | boolean | 사용자 지정 값 대신 기본 TTL(Time-To-Live)을 쿼리 및 리소스 캐싱 모두에 사용할지 여부. |
| ttlQueriesMs | number | 쿼리 캐싱에 사용할 TTL (밀리초). |
| ttlResourcesMs | number | 리소스 캐싱에 사용할 TTL (밀리초). |
예제 응답:
HTTP/1.1 200
Content-Type: application/json
{
"message": "Data source cache settings updated",
"dataSourceID": 1,
"dataSourceUID": "jZrmlLCGka",
"enabled": true,
"useDefaultTTL": false,
"ttlQueriesMs": 60000,
"ttlResourcesMs": 300000,
"defaultTTLMs": 300000,
"created": "2023-04-21T11:49:22-04:00",
"updated": "2023-04-24T17:03:40-04:00"
}
상태 코드:
| Code | Description |
|---|---|
| 200 | 데이터 소스에 대해 캐시가 성공적으로 활성화됨 |
| 400 | 요청 오류 (잘못된 JSON, 누락되거나 잘못된 필드 등) |
| 500 | 예기치 않은 오류. 자세한 내용은 body 및/또는 서버 로그를 참조. |
데이터 소스의 캐시 구성 가져오기
GET /api/datasources/:dataSourceUID/cache
필요한 권한 — 서문의 참고를 참조해요.
| Action | Scope |
|---|---|
| datasources.caching:read | datasources:* |
예제 요청:
GET /api/datasources/jZrmlLCGka/cache HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...>
예제 응답:
HTTP/1.1 200
Content-Type: application/json
{
"message": "Data source cache settings loaded",
"dataSourceID": 1,
"dataSourceUID": "jZrmlLCGka",
"enabled": true,
"useDefaultTTL": false,
"ttlQueriesMs": 60000,
"ttlResourcesMs": 300000,
"defaultTTLMs": 300000,
"created": "2023-04-21T11:49:22-04:00",
"updated": "2023-04-24T17:03:40-04:00"
}
상태 코드:
| Code | Description |
|---|---|
| 200 | 데이터 소스에 대해 캐시가 성공적으로 활성화됨 |
| 500 | 예기치 않은 오류. 자세한 내용은 body 및/또는 서버 로그를 참조. |
💡 캐싱은 Grafana Enterprise 기능이에요. 쿼리 및 리소스 캐싱에 대한 자세한 내용은 관련 운영 가이드를 참조해요.
더 알아보기 (Learn more)
- 쿼리 및 리소스 캐싱 운영
- 데이터 소스 관리 API
- Grafana의 새 API 구조