본문으로 건너뛰기

Log Lifecycle

Cloud ZCP는 애플리케이션과 플랫폼 자체를 모니터링하고 관리하기 위한 포괄적인 로깅 기능을 제공합니다. 로깅 시스템은 OpenSearch 스택(OpenSearch, Fluentd, OpenSearch DashBoards)을 기반으로 합니다. 로그 라이프사이클을 이해하는 것은 로그가 수집되고, 처리되고, 저장되고, 쿼리되고, 시간이 지남에 따라 관리되는 방식을 포함합니다.

플랫폼은 Application LogsAudit Logs를 포함한 여러 유형의 로그를 관리합니다.

Log Collection

Cloud ZCP에서의 로그 수집은 플랫폼 전반에 걸쳐 다양한 소스에서 로그를 수집하는 것을 포함합니다:

  • Application Logs: Fluent-bit 구성 요소는 실행 중인 컨테이너에서 로그 수집을 위해 데이터 평면 클러스터의 각 노드에 데몬셋으로 설치됩니다. Fluent-bit은 사용자 애플리케이션 컨테이너와 각 노드에서 실행 중인 모든 시스템 구성 요소의 로그를 수집합니다.
  • Audit Logs: 감사 로그는 콘솔, 쿠버네티스 및 키클락의 세 가지 유형의 로그를 관리합니다. 이러한 로그를 수집하기 위한 설정을 구성할 수 있습니다. 쿠버네티스 로그의 경우, 관리 클러스터를 선택하고 각 클러스터에 대해 개별적으로 설정을 구성해야 합니다.

Log Processing

수집된 로그는 저장 전에 처리를 거칩니다:

  • Data Plane Processing: FluentD는 데이터 평면 클러스터에 설치되어 수집된 로그를 제어 평면 클러스터로 처리하고 전송합니다. 이 FluentD는 초기 처리를 수행합니다.
  • Control Plane Processing: 제어 평면 클러스터에 추가 FluentD가 배포되어 데이터 평면 클러스터와 제어 평면 클러스터 간의 로그 파이프라인을 구성합니다. 이 FluentD는 데이터 평면의 FluentD에서 전달된 로그의 2차 처리를 수행한 후 Opensearch에 저장됩니다.
  • Integrated Management: OpenSearch는 컨테이너 관리 서비스에 등록된 모든 데이터 플레인 클러스터의 로그를 통합적으로 관리하는 데 적용됩니다.

로그 저장소

처리된 로그는 저장 및 관리를 위해 중앙 집중화됩니다:

  • Centralized Storage: 모든 로그는 제어 플레인 클러스터의 Opensearch 중앙 저장소에 저장됩니다.
  • Deployment: Opensearch는 제어 플레인 클러스터 내에서 로깅 전용으로 배치된 세 개의 작업 노드에 배포되어 고가용성을 제공합니다.
  • Integrated Management: OpenSearch는 컨테이너 관리 서비스에 등록된 모든 데이터 플레인 클러스터의 로그를 통합적으로 관리하는 데 적용됩니다.
  • Indexing Strategy: 로그 저장소 인덱스는 created per project입니다. 데이터 플레인에서 Fluent-bit로 전송된 로그는 형식 [Realm].[Project-Name].[Cluster-Name]-%Y.%m.%d로 인덱싱됩니다. 이 인덱싱 형식은 각 프로젝트의 로그를 별도의 인덱스에 격리하고 저장할 수 있도록 지원하며, 다중 프로젝트 로그 데이터에 대한 보안 기능을 지원합니다.

로그 쿼리 및 시각화

저장된 로그에 접근하고 분석하는 것은 주로 OpenSearch 대시보드를 통해 이루어지며, 이는 ZCP 콘솔의 Logging 메뉴를 통해 접근할 수 있습니다.

  • Discover: 이는 로그를 쿼리하고 보는 주요 화면입니다. 검색어 또는 필터를 사용하여 지정된 시간 범위 내에서 로그를 좁힐 수 있습니다.
  • Dashboard: 여러 시각화 및 정보 패널을 동시에 볼 수 있습니다.
  • Visualize: 로그 데이터에서 다양한 시각화(차트, 테이블, 메트릭 등)를 생성할 수 있습니다.
  • Dev Tools: OpenSearch Rest API를 호출할 수 있는 인터페이스를 제공합니다.
  • Audit Log Viewing: 수집된 감사 로그를 볼 수 있습니다. 이벤트 소스(콘솔, 키클록, 쿠버네티스) 및 날짜 범위로 이러한 로그를 필터링할 수 있습니다. 개별 항목에 대해 페이로드 정보(수집 중에 활성화된 경우)를 포함한 자세한 감사 로그를 볼 수 있습니다.

로그 관리 및 보존

로그 데이터의 양과 보존 관리는 매우 중요합니다.

인덱스 관리

OpenSearch 대시보드는 인덱스를 관리하기 위한 메뉴가 있는 Index Management 화면을 제공합니다. 인덱스를 관리하는 정책(인덱스 정책)을 생성, 수정 및 삭제할 수 있습니다. 저장된 인덱스를 보고 정책을 적용할 수도 있습니다.

스택 관리

Stack Management: Stack Management 화면에는 OpenSearch 대시보드의 설정을 관리하기 위한 메뉴가 포함되어 있습니다. Index Patterns도 포함됩니다.

인덱스 패턴은 OpenSearch 대시보드에서 검색할 대상 인덱스를 지정합니다. 로그 인덱스 형식 [Realm].[Project-Name].[Cluster-Name]-%Y.%m.%d에 따라 인덱스 패턴을 생성할 수 있습니다.

감사 로그 보존 정책

보존 정책은 상태 관리 정책에서 생성됩니다. 관리자만 OpenSearch 대시보드에서 이를 보고 관리할 수 있습니다.

시스템은 두 가지 상태를 정의합니다: hotdelete. 인덱스는 10일 동안 hot 상태를 유지한 후 delete 상태로 전환되며, 이때 삭제 작업이 트리거됩니다.

보안 및 권한:

OpenSearch는 보안 로그 관리 및 역할과 권한 관리를 위해 Index Policy을 지원합니다. OpenSearch 대시보드 보안 메뉴는 다중 클러스터에서 로그 데이터를 관리하고 권한을 부여하기 위해 인증, 접근 제어, 역할, 사용자, 권한 및 테넌트를 설정할 수 있도록 합니다. 프로젝트 단위로 분류된 테넌트는 로그 데이터와 저장된 객체에 대한 접근을 안전하게 공유하는 데 중요합니다.