Grafana를 재시작하지 않고 dashboard.json만 갱신하는 방법

Category
log-central
Status
Published
Tags
Provisioning
Grafana
Description
Published
Slug

Provisioning Reload API 사용

Grafana는 아예 공식적으로
재시작 없이 provisioning 파일만 새로 읽어들이는 API를 제공하고 있음

방법

1. Grafana Admin API 호출

HTTP POST 요청으로 아래 엔드포인트를 호출
POST http://<grafana주소>/api/admin/provisioning/dashboards/reload
항목
설명
요청 방식
POST
URL
http://210.107.205.150:23000/api/admin/provisioning/dashboards/reload
인증
기본 admin 계정 필요 (Basic Auth 또는 API Token)

직접 명령어로 실행하는 법 (curl 사용)

서버에서 바로 이렇게 쏘면 된다
curl -X POST \ -u admin:admin \ http://210.107.205.150:23000/api/admin/provisioning/dashboards/reload
파라미터
설명
-X POST
POST 요청
-u admin:admin
사용자 인증 (아이디:패스워드)
URL
Grafana 서버 URL + /api/admin/provisioning/dashboards/reload

흐름 정리

  1. 새 dashboard JSON 파일 추가 또는 수정
    1. (~/docker/grafana/dashboards/ 안에)
  1. curl로 Provisioning Reload API 호출
curl -X POST -u admin:admin http://210.107.205.150:23000/api/admin/provisioning/dashboards/reload
  1. Grafana 웹에 접속
    1. ➔ "Provisioned Dashboards" 폴더에서
      ➔ 수정/추가된 대시보드가 바로 반영된다.

주의사항

주의할 점
설명
인증 필요
admin 권한 사용자만 가능 (API 키 사용도 가능)
syntax 오류 주의
JSON 파일 형식에 오류가 있으면 reload 실패 (로그 확인 필요)
삭제는 수동 필요
dashboard.json을 삭제하고 reload하면 대시보드가 UI에서 안 보이긴 하는데, 캐시 남을 수 있음 (F5 강제 새로고침 추천)