backup grafana dashboard

# 다음과 같이 prometheus 를 설치하면
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install ysoftman-release prometheus-community/kube-prometheus-stack

# grafana 설치하면 기본으로 포함된 dashboard 들이 있다.
# sidecar.dashboards.folder: /tmp/dashboards
# grafana container > /tmp/dashboards 에는 기본 제공되는 dashboard json 파일들이 위치한다.

# 그런데 사용자가 생성한(import)한 경우 /var/lib/grafana/grafana.db 에 추가된다.

# grafana pod 의 grafana.db 를 로컬에 복사
kubectl cp ysoftman-grafana-123:/var/lib/grafana/grafana.db ./grafana.db

# sqlite 로 확인해보자
# 테이블 조회
sqlite3 ./grafana.db '.tables'

# import 했던 dashboard 를 확인할 수 있다.
sqlite3 ./grafana.db 'select * from dashboard' | grep -i 20211010

#####

# grafana in k8s 인 grafana 재시작시 db 파일 삭제로 어려움이 있다.
# 대신 api 를 이용해서 백업해보자.
# api 사용을 위해 서비스 계정 생성 및 토큰 생성한다.
grafana > administration > service accounts > add service account
이후 add service account token (no expiration) > 토큰 복사해두기

# backup / restore grafana dashboard script

comments:

댓글 쓰기