카테고리 없음

Grafana 대시보드 전체 백업 방법: API 및 데이터베이스 백업 가이드

idea9329 2024. 10. 10. 13:55
반응형

Grafana 대시보드를 전체 백업하는 방법은 여러 가지가 있지만, 대시보드 데이터를 JSON 형식으로 내보내거나 Grafana의 데이터베이스를 직접 백업하는 방식이 가장 일반적입니다. 아래는 각 방법에 대한 설명입니다.

1. Grafana API를 사용한 백업

Grafana의 API를 사용하면 대시보드 정보를 JSON 형식으로 내보낼 수 있습니다. 이를 스크립트화하면 대시보드를 자동으로 백업할 수 있습니다.

단계:

  1. API 토큰 생성:
    • Grafana 웹 UI에서 관리자 계정으로 로그인한 후, Configuration  API Keys로 이동합니다.
    • 새로운 API 키를 생성하고, Admin 권한을 부여합니다.
  2. 대시보드 목록 확인:
    Grafana API에서 현재 모든 대시보드 목록을 확인하려면 다음 명령을 사용합니다.
  3. curl -H "Authorization: Bearer <YOUR_API_KEY>" http://<GRAFANA_SERVER>:3000/api/search?query=&
  4. 각 대시보드의 JSON 백업:
    모든 대시보드의 정보를 JSON 형식으로 백업하려면 API를 사용해 대시보드 정보를 가져옵니다. 대시보드의 UID를 사용하여 JSON 데이터를 다운로드할 수 있습니다.이 명령으로 대시보드 정보를 JSON 형식으로 저장할 수 있습니다.
  5. curl -H "Authorization: Bearer <YOUR_API_KEY>" http://<GRAFANA_SERVER>:3000/api/dashboards/uid/<DASHBOARD_UID>
  6. 스크립트로 자동화:
    여러 대시보드를 자동으로 백업하고 싶다면, 대시보드 목록을 가져와서 UID마다 위 명령을 반복 실행하는 스크립트를 작성할 수 있습니다. 예시는 다음과 같습니다.
  7. #!/bin/bash API_KEY="<YOUR_API_KEY>" GRAFANA_URL="http://<GRAFANA_SERVER>:3000" # Get the list of dashboards dashboards=$(curl -H "Authorization: Bearer $API_KEY" "$GRAFANA_URL/api/search?query=&") # Loop through each dashboard and export its JSON for uid in $(echo $dashboards | jq -r '.[].uid'); do curl -H "Authorization: Bearer $API_KEY" "$GRAFANA_URL/api/dashboards/uid/$uid" -o "$uid.json" done

2. Grafana 데이터베이스 백업

Grafana는 내부 데이터를 SQLite, MySQL, PostgreSQL과 같은 데이터베이스에 저장합니다. 이 데이터베이스를 직접 백업하는 것도 방법입니다.

  1. SQLite 백업:
    기본적으로 Grafana는 SQLite를 사용합니다. Grafana가 설치된 서버에서 Grafana의 데이터베이스 파일(grafana.db)을 백업할 수 있습니다. 데이터베이스 파일은 기본적으로 /var/lib/grafana/grafana.db 경로에 위치합니다.
  2. cp /var/lib/grafana/grafana.db /path/to/backup/grafana.db
  3. MySQL 또는 PostgreSQL 백업:
    Grafana가 MySQL 또는 PostgreSQL을 사용하고 있다면 해당 데이터베이스의 백업 도구를 사용하면 됩니다.
    • MySQL:
    • mysqldump -u username -p grafana_db > grafana_backup.sql
    • PostgreSQL:
    • pg_dump -U username grafana_db > grafana_backup.sql

3. Grafana Dashboard Manager (GDM) 사용

Grafana 대시보드 백업 및 관리를 위한 오픈 소스 도구인 Grafana Dashboard Manager (GDM)을 사용할 수도 있습니다. GDM은 대시보드 및 데이터 소스를 JSON 형식으로 추출하여 버전 관리를 할 수 있게 도와줍니다.

4. Grafana Cloud에서 백업

Grafana Cloud를 사용하고 있다면, Grafana Cloud는 자동 백업 기능을 제공합니다. Cloud 환경에서는 대시보드와 데이터를 백업하고 복구하는 기능을 사용할 수 있습니다.


결론

  • Grafana API를 사용하면 대시보드를 JSON 파일로 내보내서 손쉽게 백업할 수 있습니다.
  • 데이터베이스 백업은 Grafana의 모든 설정, 대시보드, 데이터 소스 등을 전체적으로 백업하는 방법입니다.
  • 자동화 및 관리 기능이 필요하다면, Grafana Dashboard Manager (GDM) 같은 도구를 사용할 수 있습니다.

자신의 환경에 맞는 백업 방법을 선택해 꾸준한 백업을 유지하는 것이 중요합니다.

반응형