3.3. Logging 6.1
ClusterLogForwarder カスタムリソース (CR) は、ログの収集と転送の中心的な設定ポイントです。
3.3.1. 入力と出力 リンクのコピーリンクがクリップボードにコピーされました!
入力では、転送するログのソースを指定します。Logging には、クラスターのさまざまな部分からログを選択する次の組み込みの入力タイプが用意されています。
-
application -
receiver -
infrastructure -
audit
namespace または Pod ラベルに基づいてカスタム入力を定義し、ログの選択を微調整することもできます。
出力は、ログが送信される宛先を定義します。各出力タイプには独自の設定オプションセットがあり、動作と認証設定をカスタマイズできます。
3.3.2. レシーバー入力タイプ リンクのコピーリンクがクリップボードにコピーされました!
レシーバー入力タイプにより、Logging システムは外部ソースからのログを受け入れることができます。ログを受信するための 2 つの形式 (http と syslog) がサポートされます。
ReceiverSpec フィールドでレシーバー入力の設定を定義します。
3.3.3. パイプラインとフィルター リンクのコピーリンクがクリップボードにコピーされました!
パイプラインは、入力から出力へのログのフローを決定します。パイプラインは、1 つ以上の入力参照、出力参照、およびオプションのフィルター参照で構成されます。フィルターを使用すると、パイプライン内のログメッセージを変換または削除できます。フィルターは順番に適用されるため、フィルターの順序は重要であり、最初の方のフィルターを使用すると、ログメッセージが後のステージに到達するのを防ぐことができます。
3.3.4. Operator の動作 リンクのコピーリンクがクリップボードにコピーされました!
Cluster Logging Operator は、ClusterLogForwarder リソースの managementState フィールドに基づき、コレクターのデプロイメントと設定を管理します。
-
Managed(デフォルト) に設定すると、仕様で定義された設定に合わせて、Operator がロギングリソースをアクティブに管理します。 -
Unmanagedに設定すると、Operator はアクションを実行せず、ロギングコンポーネントを手動で管理できます。
3.3.5. 検証 リンクのコピーリンクがクリップボードにコピーされました!
ロギングには、スムーズでエラーのない設定エクスペリエンスを確保するために、広範な検証ルールやデフォルト値が含まれます。ClusterLogForwarder リソースは、必須フィールド、フィールド間の依存関係、および入力値の形式の検証チェックを強制します。特定のフィールドにはデフォルト値が提供されるため、一般的なシナリオで明示的な設定を行う必要性が軽減されます。
3.3.6. クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Logging は 2 つのデータモデルをサポートしています。
- ViaQ (一般提供)
- OpenTelemetry (テクノロジープレビュー)
ClusterLogForwarder の lokiStack.dataModel フィールドを設定することにより、要件に基づきこれらのデータモデルのいずれかを選択できます。ViaQ は、ログを LokiStack に転送する際のデフォルトのデータモデルです。
OpenShift Logging の今後のリリースでは、デフォルトのデータモデルが ViaQ から OpenTelemetry に変更されます。
3.3.6.1. ViaQ のクイックスタート リンクのコピーリンクがクリップボードにコピーされました!
デフォルトの ViaQ データモデルを使用するには、次の手順に従います。
前提条件
-
cluster-admin権限を使用して OpenShift Container Platform クラスターにアクセスできる。 -
OpenShift CLI (
oc) がインストールされている。 - サポートされているオブジェクトストアにアクセスできる。たとえば、AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation などです。
手順
-
OperatorHub から
Red Hat OpenShift Logging Operator、Loki Operator、およびCluster Observability Operator (COO)をインストールします。 openshift-loggingnamespace にLokiStackカスタムリソース (CR) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記事前に
logging-loki-s3シークレットが事前に作成されていることを確認します。このシークレットの内容は、使用しているオブジェクトストレージにより異なります。詳細は、シークレットと TLS 設定を参照してください。コレクターのサービスアカウントを作成します。
oc create sa collector -n openshift-logging
$ oc create sa collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow コレクターのサービスアカウントによる
LokiStackCR へのデータ書き込みを許可します。oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ClusterRoleリソースは、Cluster Logging Operato のインストール中に自動的に作成されるため、手動で作成する必要はありません。ログを収集するために、次のコマンドを実行してコレクターのサービスアカウントを使用します。
oc adm policy add-cluster-role-to-user collect-application-logs -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-application-logs -z collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm policy add-cluster-role-to-user collect-audit-logs -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-audit-logs -z collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この例では、コレクターを 3 つのロール (アプリケーション、インフラストラクチャー、監査) すべてにバインドしますが、デフォルトでは、アプリケーションログとインフラストラクチャーログのみが収集されます。監査ログを収集するには、
ClusterLogForwarder設定を更新して監査ログを含めます。環境に必要な特定のログタイプに基づきロールを割り当てます。UIPluginCR を作成して、Observe タブの Log セクションを有効にします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterLogForwarderCR を作成して、ログ転送を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記dataModelフィールドはオプションであり、デフォルトでは未設定 (dataModel: "") になっています。これにより、Cluster Logging Operator (CLO) はデータモデルを自動的に選択できるようになります。現在、このフィールドが設定されていない場合の CLO はデフォルトで ViaQ モデルになりますが、これは今後のリリースで変更される予定です。dataModel: ViaQを指定すると、デフォルトが変更されても設定の互換性が維持されます。
検証
- OpenShift Container Platform Web コンソールの Observe タブの Log セクションにログが表示されていることを確認します。
3.3.6.2. OpenTelemetry のクイックスタート リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry Protocol (OTLP) 出力ログフォワーダーは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
OTLP 取り込みを設定し、OpenTelemetry データモデルを有効にするには、次の手順を実行します。
前提条件
- クラスター管理者のパーミッション。
手順
- OperatorHub から、Red Hat OpenShift Logging Operator、Loki Operator、Cluster Observability Operator (COO) をインストールします。
openshift-loggingnamespace にLokiStackカスタムリソース (CR) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記事前に
logging-loki-s3シークレットが事前に作成されていることを確認します。このシークレットの内容は、使用しているオブジェクトストレージにより異なります。詳細は、「シークレットと TLS 設定」を参照してください。コレクターのサービスアカウントを作成します。
oc create sa collector -n openshift-logging
$ oc create sa collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow コレクターのサービスアカウントによる
LokiStackCR へのデータ書き込みを許可します。oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector
$ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ClusterRoleリソースは、Cluster Logging Operato のインストール中に自動的に作成されるため、手動で作成する必要はありません。コレクターのサービスアカウントによるログ収集を許可します。
oc project openshift-logging
$ oc project openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm policy add-cluster-role-to-user collect-application-logs -z collector
$ oc adm policy add-cluster-role-to-user collect-application-logs -z collectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm policy add-cluster-role-to-user collect-audit-logs -z collector
$ oc adm policy add-cluster-role-to-user collect-audit-logs -z collectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collector
$ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この例では、コレクターを 3 つのロール (アプリケーション、インフラストラクチャー、監査) すべてにバインドします。デフォルトでは、アプリケーションログとインフラストラクチャーログのみが収集されます。監査ログを収集するには、
ClusterLogForwarder設定を更新して監査ログを含めます。環境に必要な特定のログタイプに基づきロールを割り当てます。UIPluginCR を作成して、Observe タブの Log セクションを有効にします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterLogForwarderCR を作成して、ログ転送を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記dataModelがOtelの場合、lokiStack.labelKeysは使用できません。dataModelがOtelの場合に同様の機能を得るには、「OTLP データ取り込み用の LokiStack 設定」を参照してください。
検証
-
OpenShift Web コンソールで Observe
OpenShift Logging LokiStack Writes に移動し、Distributor - Structured Metadata を確認して、OTLP が正常に機能していることを確認します。