Log Lifecycle
Cloud ZCPは、アプリケーションとプラットフォーム自体を監視および管理するための包括的なログ機能を提供します。ログシステムはOpenSearchスタック(OpenSearch、Fluentd、OpenSearch DashBoards)に基づいています。ログライフサイクルを理解することは、ログがどのように収集され、処理され、保存され、クエリされ、時間の経過とともに管理されるかを含みます。
プラットフォームは、Application LogsやAudit Logsを含むいくつかの種類のログを管理します。
Log Collection
Cloud ZCPにおけるログ収集は、プラットフォーム全体のさまざまなソースからログを収集することを含みます:
- Application Logs: Fluent-bitコンポーネントは、実行中のコンテナからのログ収集のために、データプレーンクラスターの各ノードにデーモンセットとしてインストールされています。Fluent-bitは、ユーザーアプリケーションコンテナおよび各ノードで実行されているすべてのシステムコンポーネントからログを収集します。
- Audit Logs: 監査ログは、コンソール、Kubernetes、およびKeycloakの3種類のログを管理します。これらのログを収集するための設定を構成できます。Kubernetesログの場合、管理されたクラスターを選択し、各クラスターの設定を個別に構成する必要があります。
Log Processing
収集された後、ログは保存前に処理されます:
- Data Plane Processing: FluentDはデータプレーンクラスターにインストールされ、収集されたログをコントロールプレーンクラスターに処理して送信します。このFluentDは、予備処理を行います。
- Control Plane Processing: 追加のFluentDがコントロールプレーンクラスターに展開され、データプレーンクラスターとコントロールプレーンクラスター間のログパイプラインを整理します。このFluentDは、データプレーンのFluentDから渡されたログの二次処理を行い、Opensearchに保存される前に処理します。
- Integrated Management: OpenSearchは、コンテナ管理サービスに登録されたすべてのデータプレーンクラスターのログを統合的に管理するために適用されます。
ログストレージ
処理されたログは、ストレージと管理のために集中化されています:
- Centralized Storage: すべてのログは、コントロールプレーンクラスターのOpensearch中央ストレージに保存されます。
- Deployment: Opensearchは、コントロールプレーンクラスター内のログ専用の3つのワーカーノードに展開され、高可用性を提供します。
- Integrated Management: OpenSearchは、コンテナ管理サービスに登録されたすべてのデータプレーンクラスターのログを統合的に管理するために適用されます。
- Indexing Strategy: ログストレージインデックスはcreated per projectです。データプレーンからFluent-bitによって送信されたログは、
[Realm].[Project-Name].[Cluster-Name]-%Y.%m.%d
形式でインデックス化されます。このインデックス形式は、各プロジェクトのログを別々のインデックスに隔離して保存することをサポートし、マルチプロジェクトログデータのセキュリティ機能をサポートします。
ログのクエリと可視化
保存されたログへのアクセスと分析は、主にOpenSearch Dashboardsを通じて行われ、ZCPコンソールのLoggingメニューからアクセスします。
- Discover: これは、ログをクエリし、表示するためのメイン画面です。指定された時間範囲内でログを絞り込むために、検索用語やフィルターを使用できます。
- Dashboard: 複数の可視化と情報パネルを同時に表示することができます。
- Visualize: ログデータからさまざまな可視化(チャート、テーブル、メトリクスなど)を作成することを可能にします。
- Dev Tools: OpenSearch Rest APIを呼び出すためのインターフェースを提供します。
- Audit Log Viewing: 収集された監査ログを表示できます。これらのログは、イベントソース(コンソール、Keycloak、Kubernetes)や日付範囲でフィルタリングできます。ペイロード情報を含む詳細な監査ログ(収集時に有効にされている場合)は、個々のエントリについて表示できます。
ログ管理と保持
ログデータの量と保持を管理することは重要です。
インデックス管理
OpenSearch Dashboardsは、インデックスを管理するためのメニューを持つIndex Management画面を提供します。インデックスを管理するポリシー(インデックスポリシー)を作成、変更、削除できます。また、保存されたインデックスを表示し、それにポリシーを適用することもできます。
スタック管理
Stack Management: Stack Management画面には、OpenSearch Dashboardの設定を管理するためのメニューが含まれています。Index Patternsも含まれています。
インデックスパターンは、OpenSearch Dashboardsで検索するためのターゲットインデックスを指定します。ログインデックス形式[Realm].[Project-Name].[Cluster-Name]-%Y.%m.%d
に基づいてインデックスパターンを作成できます。
監査ログ保持ポリシー
保持ポリシーは、状態管理ポリシーから作成されます。管理者のみがOpenSearch Dashboardsからそれらを表示および管理できます。
システムは、hot
とdelete
の2つの状態を定義します。インデックスはhot
状態のまま10日間保持され、その後delete
状態に移行し、削除アクションがトリガーされます。
セキュリティと権限:
OpenSearch は、ログ管理およびセキュリティのためのロールと権限管理のために Index Policy をサポートしています。OpenSearch ダッシュボードのセキュリティメニューでは、認証、アクセス制御、ロール、ユーザー、権限、およびテナントの設定を行い、マルチクラスター内のログデータを管理および承認することができます。プロジェクト単位で分類されたテナントは、ログデータや保存されたオブジェクトへのアクセスを安全に共有するために重要です。