반응형
Grafana 대시보드를 전체 백업하는 방법은 여러 가지가 있지만, 대시보드 데이터를 JSON 형식으로 내보내거나 Grafana의 데이터베이스를 직접 백업하는 방식이 가장 일반적입니다. 아래는 각 방법에 대한 설명입니다.
1. Grafana API를 사용한 백업
Grafana의 API를 사용하면 대시보드 정보를 JSON 형식으로 내보낼 수 있습니다. 이를 스크립트화하면 대시보드를 자동으로 백업할 수 있습니다.
단계:
- API 토큰 생성:
- Grafana 웹 UI에서 관리자 계정으로 로그인한 후, Configuration → API Keys로 이동합니다.
- 새로운 API 키를 생성하고, Admin 권한을 부여합니다.
- 대시보드 목록 확인:
Grafana API에서 현재 모든 대시보드 목록을 확인하려면 다음 명령을 사용합니다. - curl -H "Authorization: Bearer <YOUR_API_KEY>" http://<GRAFANA_SERVER>:3000/api/search?query=&
- 각 대시보드의 JSON 백업:
모든 대시보드의 정보를 JSON 형식으로 백업하려면 API를 사용해 대시보드 정보를 가져옵니다. 대시보드의 UID를 사용하여 JSON 데이터를 다운로드할 수 있습니다.이 명령으로 대시보드 정보를 JSON 형식으로 저장할 수 있습니다. - curl -H "Authorization: Bearer <YOUR_API_KEY>" http://<GRAFANA_SERVER>:3000/api/dashboards/uid/<DASHBOARD_UID>
- 스크립트로 자동화:
여러 대시보드를 자동으로 백업하고 싶다면, 대시보드 목록을 가져와서 UID마다 위 명령을 반복 실행하는 스크립트를 작성할 수 있습니다. 예시는 다음과 같습니다. - #!/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과 같은 데이터베이스에 저장합니다. 이 데이터베이스를 직접 백업하는 것도 방법입니다.
- SQLite 백업:
기본적으로 Grafana는 SQLite를 사용합니다. Grafana가 설치된 서버에서 Grafana의 데이터베이스 파일(grafana.db)을 백업할 수 있습니다. 데이터베이스 파일은 기본적으로 /var/lib/grafana/grafana.db 경로에 위치합니다. - cp /var/lib/grafana/grafana.db /path/to/backup/grafana.db
- 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) 같은 도구를 사용할 수 있습니다.
자신의 환경에 맞는 백업 방법을 선택해 꾸준한 백업을 유지하는 것이 중요합니다.
반응형