第9章 ログの収集および転送


9.1. ログの収集と転送

Red Hat OpenShift Logging Operator は、ClusterLogForwarder リソース仕様に基づいてコレクターをデプロイします。この Operator では、レガシーの Fluentd コレクターと Vector コレクターの 2 つのコレクターオプションがサポートされています。

注記

Fluentd は非推奨となっており、今後のリリースで削除される予定です。Red Hat は、現在のリリースのライフサイクル中にこの機能のバグ修正とサポートを提供しますが、この機能は拡張されなくなりました。Fluentd の代わりに、Vector を使用できます。

9.1.1. ログの収集

ログコレクターは、コンテナーとノードのログを収集するために各 OpenShift Container Platform ノードに Pod をデプロイするデーモンセットです。

デフォルトでは、ログコレクターは以下のソースを使用します。

  • システムおよびインフラストラクチャーのログは、オペレーティングシステム、コンテナーランタイム、および OpenShift Container Platform からの journald ログメッセージによって生成されます。
  • すべてのコンテナーログ用の /var/log/containers/*.log

監査ログを収集するようにログコレクターを設定すると、/var/log/audit/audit.log から取得されます。

ログコレクターはこれらのソースからログを収集し、ロギングの設定に応じて内部または外部に転送します。

9.1.1.1. ログコレクターのタイプ

Vector は、ロギングの Fluentd の代替機能として提供されるログコレクターです。

ClusterLogging カスタムリソース(CR) コレクション 仕様を変更して、クラスターが使用するロギングコレクターのタイプを設定できます。

Vector をコレクターとして設定する ClusterLogging CR の例

apiVersion: logging.openshift.io/v1
kind: ClusterLogging
metadata:
  name: instance
  namespace: openshift-logging
spec:
  collection:
    logs:
      type: vector
      vector: {}
# ...

9.1.1.2. ログ収集の制限

コンテナーランタイムは、プロジェクト、Pod 名、およびコンテナー ID などのログメッセージのソースを特定するための最小限の情報を提供します。この情報だけでは、ログのソースを一意に特定することはできません。ログコレクターがログを処理する前に、指定された名前およびプロジェクトを持つ Pod が削除される場合は、ラベルやアノテーションなどの API サーバーからの情報は利用できない可能性があります。そのため、似たような名前の Pod やプロジェクトからログメッセージを区別したり、ログのソースを追跡できない場合があります。この制限により、ログの収集および正規化は ベストエフォート ベースであると見なされます。

重要

利用可能なコンテナーランタイムは、ログメッセージのソースを特定するための最小限の情報を提供し、個別のログメッセージが一意となる確証はなく、これらのメッセージにより、そのソースを追跡できる訳ではありません。

9.1.1.3. タイプ別のログコレクター機能

表9.1 ログソース
機能FluentdVector

アプリコンテナーのログ

アプリ固有のルーティング

namespace 別のアプリ固有のルーティング

インフラコンテナーログ

インフラジャーナルログ

Kube API 監査ログ

OpenShift API 監査ログ

Open Virtual Network (OVN) 監査ログ

表9.2 認証および認可
機能FluentdVector

Elasticsearch 証明書

Elasticsearch ユーザー名/パスワード

Cloudwatch キー

クラウドウォッチ STS

Kafka 証明書

Kafka のユーザー名/パスワード

Kafka SASL

Loki ベアラートークン

表9.3 正規化と変換
機能FluentdVector

Viaq データモデル - アプリ

Viaq データモデル - インフラ

Viaq データモデル - インフラ (ジャーナル)

Viaq データモデル - Linux 監査

Viaq データモデル - kube-apiserver 監査

Viaq データモデル - OpenShift API 監査

Viaq データモデル - OVN

ログレベルの正規化

JSON 解析

構造化インデックス

複数行エラー検出

マルチコンテナー/分割インデックス

ラベルのフラット化

CLF 静的ラベル

表9.4 チューニング
機能FluentdVector

Fluentd readlinelimit

 

Fluentd バッファー

 

-chunklimitsize

 

- totallimitsize

 

- overflowaction

 

-flushThreadCount

 

- flushmode

 

- flushinterval

 

- retrywait

 

- retrytype

 

- retrymaxinterval

 

- retrytimeout

 
表9.5 制約
機能FluentdVector

メトリクス

ダッシュボード

アラート

表9.6 その他
機能FluentdVector

グローバルプロキシーサポート

x86 サポート

ARM サポート

PowerPC サポート

IBM Z サポート

IPv6 サポート

ログイベントのバッファリング

 

非接続クラスター

9.1.1.4. コレクターの出力

次のコレクターの出力がサポートされています。

表9.7 サポートされている出力
機能FluentdVector

Elasticsearch v6-v8

Fluent 転送

 

Syslog RFC3164

✓ (Logging 5.7+)

Syslog RFC5424

✓ (Logging 5.7+)

Kafka

Cloudwatch

クラウドウォッチ STS

Loki

HTTP

✓ (Logging 5.7+)

Google Cloud Logging

Splunk

 

✓ (Logging 5.6+)

9.1.2. ログ転送

管理者は、収集するログ、その変換方法と転送先を指定する ClusterLogForwarder リソースを作成できます。

ClusterLogForwarder リソースは、コンテナー、インフラストラクチャー、監査ログをクラスター内外の特定のエンドポイントに転送するために使用できます。Transport Layer Security (TLS) がサポートされているため、ログを安全に送信するようにログフォワーダーを設定できます。

管理者は、どのサービスアカウントとユーザーがどの種類のログにアクセスして転送できるかを定義する RBAC アクセス許可を承認することもできます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.