第2章 Red Hat OpenShift Logging について
クラスター管理者は、OpenShift Logging をデプロイし、ノードシステムの監査ログ、アプリケーションコンテナーログ、およびインフラストラクチャーログなどの OpenShift Container Platform クラスターからのすべてのログを集計できます。OpenShift Logging はクラスター全体でこれらのログを集計し、それらをデフォルトのログストアに保存します。Kibana Web コンソールを使用して、ログデータを可視化 できます。
OpenShift Logging は以下のタイプのログを集計します。
-
application
: クラスターで実行される、インフラストラクチャーコンテナーアプリケーションを除くユーザーアプリケーションによって生成されるコンテナーログ。 -
infrastructure
: ジャーナルログなどの、クラスターで実行されるインフラストラクチャーコンポーネントおよび OpenShift Container Platform ノードで生成されるログ。インフラストラクチャーコンポーネントは、openshift*
、kube*
、またはdefault
プロジェクトで実行される Pod です。 -
audit
: ノード監査システム (auditd) で生成されるログ (/var/log/audit/audit.log ファイルに保存される)、および Kubernetes apiserver および OpenShift apiserver の監査ログ。
内部 OpenShift Container Platform Elasticsearch ログストアは監査ログのセキュアなストレージを提供しないため、デフォルトで監査ログは内部 Elasticsearch インスタンスに保存されません。監査ログをデフォルトの内部 Elasticsearch ログストアに送信する必要がある場合 (Kibana で監査ログを表示するなど)、監査ログのログストアへの転送 で説明されているようにログ転送 API を使用する必要があります。
2.1. OpenShift Container Platform ロギングの共通用語集
この用語集は、OpenShift Container Platform Logging コンテンツで使用される一般的な用語を定義します。
- アノテーション
- アノテーションを使用して、メタデータをオブジェクトに添付できます。
- Cluster Logging Operator (CLO)
- Cluster Logging Operator は、アプリケーション、インフラストラクチャー、および監査ログの収集と転送を制御するための一連の API を提供します。
- カスタムリソース (CR)
-
CR は Kubernetes API のエクステンションです。OpenShift Container Platform Logging およびログ転送を設定するために、
ClusterLogging
およびClusterLogForwarder
カスタムリソースをカスタマイズできます。 - イベントルーター
- イベントルーターは、OpenShift Container Platform イベントを監視する Pod です。OpenShift Container Platform Logging を使用してログを収集します。
- Fluentd
- Fluentd は、各 OpenShift Container Platform ノードに常駐するログコレクターです。アプリケーション、インフラストラクチャー、および監査ログを収集し、それらをさまざまな出力に転送します。
- ガベージコレクション
- ガベージコレクションは、終了したコンテナーや実行中の Pod によって参照されていないイメージなどのクラスターリソースをクリーンアップするプロセスです。
- Elasticsearch
- Elasticsearch は、分散検索および分析エンジンです。OpenShift Container Platform は、OpenShift Container Platform Logging のデフォルトのログストアとして ELasticsearch を使用します。
- Elasticsearch Operator
- Elasticsearch Operator は、OpenShift Container Platform 上で Elasticsearch クラスターを実行するために使用されます。Elasticsearch Operator は、Elasticsearch クラスター操作のセルフサービスを提供し、OpenShift Container Platform Logging により使用されます。
- インデックス化
- インデックス作成は、データをすばやく見つけてアクセスするために使用されるデータ構造手法です。インデックスを作成すると、クエリーの処理時に必要なディスクアクセスの量が最小限に抑えられるため、パフォーマンスが最適化されます。
- JSON ロギング
- OpenShift Container Platform Logging Log Forwarding API を使用すると、JSON ログを解析して構造化されたオブジェクトにし、それらを OpenShift Container Platform Logging が管理する Elasticsearch またはログ転送 API でサポートされるその他のサードパーティーシステムに転送できます。
- Kibana
- Kibana は、ヒストグラム、折れ線グラフ、円グラフを使用して Elasticsearch データを照会、検出、視覚化するためのブラウザーベースのコンソールインターフェイスです。
- Kubernetes API サーバー
- Kubernetes API サーバーは、API オブジェクトのデータを検証して設定します。
- ラベル
- ラベルは、Pod などのオブジェクトのサブセットを整理および選択するために使用できるキーと値のペアです。
- ロギング
- OpenShift Container Platform Logging を使用すると、クラスター全体でアプリケーション、インフラストラクチャー、および監査ログを集約できます。また、ログをデフォルトのログストアに保存したり、サードパーティーのシステムに転送したり、デフォルトのログストアに保存されているログを照会して視覚化したりすることもできます。
- ロギングコレクター
- ロギングコレクターは、クラスターからログを収集してフォーマットし、ログストアまたはサードパーティーシステムに転送します。
- ログストア
- ログストアは、集約されたログを格納するために使用されます。デフォルトの Elasticsearch ログストアを使用するか、またはログを外部ログストアに転送することができます。デフォルトのログストアは、短期の保存について最適化され、テストされています。
- ログビジュアライザー
- ログビジュアライザーは、ログ、グラフ、チャート、その他のメトリックなどの情報を表示するために使用できるユーザーインターフェイス (UI) コンポーネントです。現在の実装は Kibana です。
- node
- ノードは、OpenShift Container Platform クラスター内のワーカーマシンです。ノードは、仮想マシン (VM) または物理マシンのいずれかです。
- Operator
- Operator は、OpenShift Container Platform クラスターで Kubernetes アプリケーションをパッケージ化、デプロイ、および管理するための推奨される方法。Operator は、人間による操作に関する知識を取り入れて、簡単にパッケージ化してお客様と共有できるソフトウェアにエンコードします。
- Pod
- Pod は、Kubernetes における最小の論理単位です。Pod は 1 つ以上のコンテナーで設定され、ワーカーノードで実行されます。
- ロールベースアクセス制御 (RBAC)
- RBAC は、クラスターユーザーとワークロードが、ロールを実行するために必要なリソースにのみアクセスできるようにするための重要なセキュリティーコントロールです。
- shards
- Elasticsearch は、Fluentd からのログデータをデータストアまたはインデックスに編成し、各インデックスをシャードと呼ばれる複数の部分に分割します。
- taint
- テイントは、Pod が適切なノードに確実にスケジュールされるようにします。ノードに 1 つ以上のテイントを適用できます。
- 容認
- Pod に容認を適用できます。Tolerations を使用すると、スケジューラーは、テイントが一致する Pod をスケジュールできます。
- Web コンソール
- OpenShift Container Platform を管理するためのユーザーインターフェイス (UI)。