| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- kotlin querydsl
- 바이브코딩
- AWS EKS
- Pinpoint
- MySQL
- CKA 기출문제
- CloudWatch
- CKA
- 오블완
- minikube
- 컨텍스트 엔지니어링
- Kubernetes
- tucker의 go 언어 프로그래밍
- Spring
- APM
- 티스토리챌린지
- 정보처리기사 실기 기출문제
- AI
- kotlin coroutine
- Java
- 코틀린 코루틴의 정석
- PETERICA
- aws
- 공부
- 기록으로 실력을 쌓자
- Linux
- kotlin
- SRE
- go
- golang
- Today
- Total
피터의 개발이야기
[Kibana] Kibana Saved Objects 관리와 백업 본문
ㅁ 들어가며
kibana 서버를 이관하면서, kibana의 Discovery, Visualize, Dashboard 정보의 백업에 대해서 정리하였다. 이번 글에서는 Kibana의 Saved Objects 저장 구조와 백업 방법, 그리고 자동화까지 실제 운영 환경에 유용하게 활용할 수 있는 정보를 정리한다. 백엔드 개발 관점에서 핵심만 빠르게 실무 적용할 수 있게 구성했다.
ㅁ Kibana Saved Objects 저장 위치는?
Kibana에서 대시보드, 시각화, 검색, 인덱스 패턴 등 주요 설정 정보를 저장하면, 그 데이터는 Elasticsearch의 .kibana* 인덱스에 기록된다.
- 실제 데이터 저장 예시:
.kibana,.kibana_1,.kibana_task_manager등 인덱스 prefix가 .kibana로 시작하는 여러 인덱스에 분산되어 저장된다. - Kibana 업그레이드, 스페이스 기능, 멀티테넌트 환경 등에 따라 인덱스 이름이 달라질 수 있지만, Saved Objects의 물리적 저장 위치는
.kibana*계열 인덱스다.
ㅁ Saved Objects 백업 방법
Saved Objects를 백업할 수 있는 대표적인 방식은 세 가지다.
ㅇ Kibana UI 내보내기 (Export)
- Stack Management > Saved Objects에서 원하는 타입을 선택해서 Export 버튼 클릭하면 .ndjson 파일로 다운로드된다.
- 이 파일은 필요시 Import 메뉴에서 복원할 수 있다.
ㅇ Saved Objects API + curl 자동화
- Kibana의 /api/saved_objects/_export 엔드포인트에 curl POST 요청으로 추출 가능.
- 대표 명령어 예시:
curl -X POST "http://localhost:5601/api/saved_objects/_export" \
-H 'kbn-xsrf: true' \
-H 'Content-Type: application/json' \
-d '{"type":["dashboard","visualization","search","index-pattern"],"includeReferencesDeep":true}' \
-o saved_objects_backup.ndjson
- Header에 kbn-xsrf: true는 필수, Kibana URL은 환경에 맞게 조정.
- 특정 객체만 따로 지정해서 export 가능.
ㅇ Elasticsearch Snapshot/Restore 사용
- 데이터 전체 백업이 필요할 때는 .kibana* 인덱스를 Elasticsearch Snapshot & Restore로 저장.
- 운영 중 중대한 변경, 장애 대비 시 참고.
ㅁ 자동화 백업 워크플로
ㅇ 정기 백업 필요하다면 Python, n8n 등으로 curl 동작을 스케줄링해 파일로 떨어뜨릴 수 있다.
ㅇ Kibana Saved Object 기본 개념 및 자동화(n8n) 백업 가이드에 잘 소개 되어 있어 핵심적인 내용만 정리하였다.
ㄴ n8n 예시:
- Cron 노드 (주기적 트리거)
- HTTP Request 노드 (Saved Objects export API 호출)
- Write File 노드 (ndjson 파일 저장)
- Slack/Email 알림 연동으로 작업 완료 통지.
ㅁ 마무리
- Kibana Saved Objects는
.kibana*인덱스에 저장된다. - 백업은 UI, API(curl), 스크립트 자동화, Snapshot 등 다양하게 운영 환경에 맞춰 적용할 수 있다.
- Import/Export 기능 및 curl 자동화는 가장 많이 활용되는 실무 방식이다.
백엔드/DevOps 환경에서 Kibana 설정 유지와 장애 복구를 위해 Saved Objects 백업 루틴을 꼭 구축하는 것을 추천한다.
ㅁ 함께 보면 좋은 사이트
'DevOps' 카테고리의 다른 글
| [Fluentd] multiline parser, 로그병합과 필터링 (0) | 2025.09.06 |
|---|---|
| 하이브리드 인증서란? RSA와 ECC를 모두 아우르는 인증서 (4) | 2025.08.05 |
| RTO와 RPO: 재해 복구 계획의 핵심 지표 (0) | 2025.02.28 |
| Ubuntu 버전 및 EOL(End of Life) 날짜 정리 (0) | 2025.02.05 |
| [DevOps] Bamboo: DevOps와 CI/CD를 위한 강력한 도구 (0) | 2024.12.17 |
