Logging Architecture
아키텍처 개요
ZCP는 모든 등록된 데이터 플레인 클러스터에서 로그를 수집하고 이를 컨트롤 플레인 클러스터 내의 OpenSearch에 중앙 집중식으로 저장합니다. 이 플랫폼은 OpenSearch Dashboards를 통해 클러스터 전체 로그 쿼리를 가능하게 하며, 프로젝트별 로그 시각화를 위한 역할 기반 접근을 제공합니다.
로깅 서비스는 Fluent Bit, Fluentd, OpenSearch, OpenSearch Dashboards의 네 가지 주요 구성 요소로 구성되어 있으며, 데이터 플레인 클러스터와 컨트롤 플레인 클러스터 모두에 배포됩니다:
- Fluent Bit는 데이터 플레인 클러스터의 모든 worker nodes에서 DaemonSet으로 실행되며, 각 node에서 로그를 수집합니다.
- Fluentd은 수집된 로그를 처리하고 OpenSearch로 전달합니다.
컨트롤 플레인 클러스터에서는 OpenSearch가 세 개의 전용 worker nodes에 배포되어 높은 가용성과 효율적인 로그 저장을 보장합니다. 이 node는 데이터 플레인 클러스터 내의 Fluent Bit 및 Fluentd에서 전송된 로그를 저장하고 관리합니다. 컨트롤 플레인 클러스터의 추가 Fluentd 인스턴스는 클러스터 간 로그 파이프라인을 구성하고 로그의 전처리 및 후처리를 수행합니다.
로그 쿼리 및 시각화
OpenSearch에 저장된 로그는 OpenSearch Dashboards를 사용하여 쿼리하고 시각화할 수 있습니다.
모든 데이터 플레인 클러스터의 로그를 중앙에서 관리하기 위해 OpenSearch이 활용됩니다. 이 구현은 다음을 지원합니다:
- OIDC authentication을 통한 안전한 접근.
- Index Policy management을 통한 로그 보존 및 생애 주기 관리.
- Role and permission management을 통한 보안 준수.
구성 요소 및 역할
컨트롤 플레인 구성 요소
Component | Roles |
---|---|
OpenSearch Dashboards | OpenSearch에 저장된 데이터의 시각화 |
OpenSearch | 수집된 로그를 저장하고 이를 위한 검색 및 분석 엔진 제공 |
Fluentd | 사용자 애플리케이션 컨테이너와 각 node에서 실행되는 모든 시스템 구성 요소의 로그를 수집 |
데이터 플레인 구성 요소
Component | Roles |
---|---|
Fluentd | fluent-bit에 의해 수집된 로그의 초기 처리 및 컨트롤 플레인으로의 전달 |
Fluent Bit | 사용자 애플리케이션 컨테이너와 각 node에서 실행되는 모든 시스템 구성 요소의 로그를 수집 |