쿼리 및 리소스 캐싱 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 구조