Kibana Dashboards API: 정식 출시 전에 50개 이상의 팀이 테스트한 모든 패널 유형을 위한 안정적인 계약
Kibana 대시보드를 코드로 관리하세요. Git에 커밋하고, 환경 간에 승격하며, Kibana API와 Terraform을 사용해 배포를 자동화할 수 있습니다.
Observe, protect, and search your data with a single solution. From application monitoring to threat detection, Kibana is your versatile platform for critical use cases. Start your free 14-day trial now.
Kibana Dashboards 및 Visualizations API는 Elastic 9.5에서 프로덕션 환경에 사용할 수 있으며, 모든 구독 등급에서 제공되고 완전한 이전 버전과의 호환성을 지원합니다. 대시보드를 JSON으로 정의하고 Git에 커밋한 후, 지속적 통합 및 지속적 배포(CI/CD) 파이프라인, Terraform 또는 이미 사용 중인 도구를 통해 여러 환경에 배포할 수 있습니다. 50개가 넘는 팀이 9.4의 기술 미리보기 기간에 API를 테스트했으며, 일부는 이미 프로덕션에서 사용하고 있습니다. 버전 9.5에서는 태그용 새 엔드포인트도 기술 미리 보기로 추가됩니다. Markdown 및 Links 패널 엔드포인트는 현재 Elastic Cloud Serverless에서 제공되며 9.6에 추가될 예정입니다.
Kibana Dashboards API에서 이전 버전과의 호환성이 의미하는 사항
기술 미리 보기 기간에는 릴리스 간에 API 형태가 변경될 수 있었습니다.[1] 이제는 그렇지 않습니다. 정식 출시(GA)는 다음을 의미합니다.
완전한 이전 버전과의 호환성. 시간이 지남에 따라 새 필드와 패널 유형이 추가되지만, 기존 필드와 동작은 변경되지 않습니다. 향후 호환성이 깨지는 변경 사항은 매우 신중하게 검토되며, 새로운 주요 스택 버전에서만 도입됩니다.
프로덕션 준비 및 완전한 지원. API에는 Elastic의 완전한 지원 보증이 적용됩니다. 자동화된 배포, 환경 승격 및 프로그래밍 방식의 대시보드 관리에 이 API를 프로덕션 환경에서 안심하고 사용할 수 있습니다.
태그, Markdown 및 Links 패널을 위한 새로운 Kibana API 엔드포인트
Elastic 9.5에서는 대시보드를 분류하고 필터링할 수 있는 태그용 새로운 독립형 엔드포인트도 도입합니다. 이제 전용 CRUD 엔드포인트를 통해 태그를 프로그래밍 방식으로 관리할 수 있어, 여러 환경에서 대규모로 대시보드를 더 쉽게 구성할 수 있습니다.
새로운 Markdown 및 Links 패널 엔드포인트는 현재 Serverless에서 제공되며, 다음 스택 릴리스인 9.6에 추가될 예정입니다.
Kibana Dashboards API는 어떤 패널 유형을 지원하나요?
Dashboards API는 9.5의 모든 by-value 패널을 지원합니다. by-value 패널은 재사용을 위해 저장된 라이브러리 패널과 달리 대시보드에 직접 정의된 패널입니다. 지원되는 모든 패널 유형에는 타입이 지정되고 검증된 스키마가 있습니다.
패널 유형 | 상태 |
XY 차트 | 지원됨 |
메트릭 | 지원됨 |
파이 | 지원됨 |
게이지 | 지원됨 |
히트맵 | 지원됨 |
데이터 테이블 | 지원됨 |
트리맵 | 지원됨 |
Discover 세션 | 지원됨 |
컨트롤 | 지원됨 |
Markdown | 지원됨 |
Links | 지원됨 |
ML 패널 | 지원됨 |
Observability 패널 | 지원됨 |
Maps | 출시 예정 |
Vega | 출시 예정 |
Kibana 대시보드를 코드로 관리하는 방법
Dashboards API를 사용하면 코드 기반의 대시보드를 위한 전체 워크플로우를 구현할 수 있습니다. 대시보드를 차이 비교가 가능한 깔끔한 JSON으로 내보내고, 이를 단일 정보 원천으로 Git에 커밋하며, 풀 리퀘스트에서 변경 사항을 검토하고, 개발·스테이징·프로덕션 전반에 동일한 정의를 배포할 수 있습니다. 대시보드를 코드로 관리하기 시작했다면 Git을 단일 정보 원천으로 취급해야 합니다. UI에서 직접 변경한 내용은 다음 배포 시 덮어써집니다.
대시보드를 스페이스, 클러스터 또는 단계 간에 이동할 때 가장 큰 과제는 대시보드가 데이터 뷰와 라이브러리 시각화 같은 객체를 ID로 참조한다는 점입니다. 이러한 ID는 자동 생성되며 환경마다 다르므로, 한 환경에서 내보낸 대시보드가 다른 환경에는 존재하지 않는 객체를 가리킬 수 있습니다. 이를 처리하는 방법은 자동화 수준이 높은 순서부터 낮은 순서까지 다음 세 가지입니다.
Terraform 사용. Elastic Stack Terraform provider는 각 리소스를 추적하고 환경별 ID를 자동으로 매핑하므로, 대시보드를 개발 환경에서 프로덕션으로 승격할 때 참조가 일관되게 유지됩니다.
by-value Elasticsearch Query Language (ES|QL) 패널 정의. 가장 이식성이 높은 패널 생성 방법은 대시보드에서 ES|QL을 직접 사용해 시각화를 정의하는 것입니다. ES|QL 쿼리는 쿼리 내에 지정한 인덱스에서 읽어 오므로, 패널에는 데이터 뷰나 라이브러리 객체에 대한 외부 참조가 없습니다. 그 결과 완전히 독립적이고 이식 가능한 대시보드가 만들어집니다..
일치하는 ID 할당. 데이터 뷰나 라이브러리 시각화와 같은 저장된 객체를 참조하는 경우, ID를 자동 생성하는 POST 대신 PUT(업서트)을 사용하여 선택한 ID로 객체를 생성하세요. logs-prod와 같이 사람이 읽을 수 있는 ID를 사용하면 여러 환경에서 쉽게 재사용하고 식별할 수 있습니다.
이러한 이식성 패턴과 코드 기반의 대시보드를 위한 전체 워크플로우에 관한 자세한 안내는 코드 기반의 대시보드 관리 설명서를 참조하세요.
PUT을 사용하여 Dashboards API로 Kibana 대시보드 생성
다음은 POST 대신 PUT을 사용해 대시보드 이름인 service-health-overview를 사용자 지정 ID로 할당하고, 메트릭 패널을 포함한 대시보드를 생성하는 간단한 예입니다. 동일한 로직은 라이브러리에 저장되는 독립형 시각화를 만들 때도 적용됩니다.
PUT kbn:/api/dashboards/service-health-overview
{
"title": "Service health overview",
"description": "Key service metrics — managed via API",
"tags": [
"production",
"sre-team"
],
"panels": [
{
"type": "vis",
"grid": {
"x": 0,
"y": 0,
"w": 12,
"h": 8
},
"config": {
"title": "Error rate (5xx)",
"type": "metric",
"data_source": {
"type": "esql",
"query": "FROM logs-* | WHERE http.response.status_code >= 500 | STATS error_rate=count(*) BY host.name"
},
"metrics": [
{
"type": "primary",
"column": "count"
}
]
}
}
]
}Kibana Dashboards API 로드맵: Maps, Vega 및 독립형 엔드포인트
Elastic은 API 기능 범위를 활발히 확장하고 있습니다. 다음으로는 Maps 및 Vega 패널 지원을 추가하고, 이들 패널의 타입이 지정된 스키마를 제공합니다. 또한 기존 대시보드 패널 지원 범위를 넘어 Discover 세션용 독립형 CRUD 엔드포인트와 Vega, Maps 및 Annotations용 독립형 CRUD 엔드포인트도 구축하고 있습니다. 이 엔드포인트는 대시보드 수명 주기와 분리됩니다.
전체 스키마 정의는 Dashboards API 설명서에서 확인하세요. Terraform 사용자는 Elastic Stack Terraform provider를 통해 정식 출시된 Dashboards API를 사용할 수 있습니다.
참고
핵심 엔드포인트는 기술 미리보기와 비교해 변경되지 않았습니다. 9.4를 대상으로 통합을 구축했다면 9.5에서도 작동합니다. 호환성이 깨지는 변경 사항은 대시보드 목록 표시 및 기간 단위 형식에 영향을 주는 사소한 변경 두 가지뿐이며, 여기에서 설명합니다.




