1.4. ClusterLogForwarder の構造
CLF には、次の主要コンポーネントを含む spec セクションがあります。
- Inputs
-
転送するログメッセージを選択します。組み込みの入力タイプである
application、infrastructure、およびauditは、クラスターのさまざまな部分からログを転送します。カスタム入力を定義することもできます。 - 出力
- ログを転送する宛先を定義します。各出力には、一意の名前とタイプ固有の設定があります。
- Pipelines
- ログが入力からフィルターを経由して出力されるまでのパスを定義します。パイプラインには一意の名前があり、入力名、出力名、フィルター名のリストで構成されます。
- Filters
- パイプライン内のログメッセージを変換または破棄します。ユーザーは、特定のログフィールドに一致するフィルターを定義し、メッセージを破棄または変更できます。フィルターはパイプラインで指定された順序で適用されます。
1.4.1. Inputs リンクのコピーリンクがクリップボードにコピーされました!
入力は spec.inputs の下の配列で設定されます。組み込みの入力タイプは 3 つあります。
- application
- インフラストラクチャー namespace 内のログを除く、すべてのアプリケーションコンテナーからログを選択します。
- infrastructure
次の namespace で実行されているノードおよびインフラストラクチャーコンポーネントからログを選択します。
-
default -
kube -
openshift -
kube-またはopenshift-接頭辞を含む
-
- audit
- OpenShift API サーバー監査ログ、Kubernetes API サーバー監査ログ、ovn 監査ログ、および auditd からのノード監査ログからログを選択します。
ユーザーは、特定の namespace からログを選択するか、または Pod ラベルを使用してログを選択する application のカスタム入力を定義できます。
1.4.2. 出力 リンクのコピーリンクがクリップボードにコピーされました!
出力は spec.outputs の下の配列で設定されます。各出力には一意の名前とタイプが必要です。サポートされているタイプは次のとおりです。
- azureMonitor
- ログを Azure Monitor に転送します。
- cloudwatch
- ログを AWS CloudWatch に転送します。
- elasticsearch
- ログを外部の Elasticsearch インスタンスに転送します。
- googleCloudLogging
- ログを Google Cloud Logging に転送します。
- http
- ログを汎用 HTTP エンドポイントに転送します。
- kafka
- ログを Kafka ブローカーに転送します。
- loki
- ログを Loki ロギングバックエンドに転送します。
- lokistack
- ログを、OpenShift Container Platform 認証インテグレーションによる Loki と Web プロキシーのロギングがサポートされている組み合わせに転送します。LokiStack のプロキシーは、OpenShift Container Platform 認証を使用してマルチテナンシーを適用します。
- otlp
- OpenTelemetry プロトコルを使用してログを転送します。
- splunk
- ログを Splunk に転送します。
- syslog
- ログを外部の syslog サーバーに転送します。
各出力タイプには独自の設定フィールドがあります。
1.4.3. OTLP 出力の設定 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、OpenTelemetry Protocol (OTLP) 出力を使用してログを収集し、OTLP レシーバーに転送できます。OTLP 出力は、OpenTelemetry Observability フレームワーク で定義された仕様を使用して、HTTP を介して JSON エンコーディングでデータを送信します。
OpenTelemetry Protocol (OTLP) 出力ログフォワーダーは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
手順
OTLP を使用した転送を有効にするには、次のアノテーションを追加して
ClusterLogForwarderカスタムリソース (CR) を作成または編集します。ClusterLogForwarderCR の例apiVersion: observability.openshift.io/v1 kind: ClusterLogForwarder metadata: annotations: observability.openshift.io/tech-preview-otlp-output: "enabled"1 name: clf-otlp spec: serviceAccount: name: <service_account_name> outputs: - name: otlp type: otlp otlp: tuning: compression: gzip deliveryMode: AtLeastOnce maxRetryDuration: 20 maxWrite: 10M minRetryDuration: 5 url: <otlp_url>2 pipelines: - inputRefs: - application - infrastructure - audit name: otlp-logs outputRefs: - otlp
OTLP 出力では OpenTelemetry データモデルが使用されますが、これは他の出力タイプで使用される ViaQ データモデルとは異なります。これは、OpenTelemetry Observability フレームワークで定義された OpenTelemetry Semantic Conventions を使用することで OTLP に準拠しています。
1.4.4. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
パイプラインは spec.pipelines の下の配列で設定されます。各パイプラインには一意の名前があり、次の要素で構成される必要があります。
- inputRefs
- このパイプラインにログを転送する入力の名前。
- outputRefs
- ログを送信する出力の名前。
- filterRefs
- (オプション) 適用するフィルターの名前。
filterRefs は順番に適用されるため、順序が重要です。以前のフィルターは、後のフィルターで処理されないメッセージを破棄する可能性があります。
1.4.5. Filters リンクのコピーリンクがクリップボードにコピーされました!
フィルターは spec.filters の下の配列で設定されます。構造化フィールドの値に基づいて受信ログメッセージを照合し、変更または削除できます。