This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.10.3.3. ログ転送 API を使用したログ転送の設定
ログ転送を設定するには、クラスターロギングの ClusterLogging カスタムリソース (CR) を編集して、clusterlogging.openshift.io/logforwardingtechpreview: enabled アノテーションを追加し、`LogForwarding` を作成して出力、パイプラインを指定し、ログ転送を有効にします。
ログ転送を有効にする場合、次の 3 つのソースタイプのすべててのパイプラインを定義する必要があります (logs.app、logs.infra、および logs.audit)。未定義のソースタイプのログはすべてドロップされます。たとえば、logs.app および log-audit タイプのパイプラインを指定するものの、logs.infra タイプのパイプラインを指定していない場合、logs.infra ログがドロップされます。
手順
API を使用してログ転送を設定するには、以下を実行します。
以下のようなログ転送 CR YAML ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ログ転送 CR の名前は
instanceである必要があります。 - 2
- ログ転送 CR の namespace は
openshift-loggingである必要があります。 - 3
trueに設定されると、デフォルトのログ転送動作が無効になります。- 4
- 1 つ以上のエンドポイントを追加するには、以下を実行します。
-
elasticsearchまたはforwardのいずれかの出力タイプを指定します。 - 出力の名前を入力します。
-
サーバー名、FQDN、または IP アドレスのいずれかのエンドポイントを入力します。CIDR アノテーションを使用するクラスター全体のプロキシーが有効になっている場合、エンドポイントは IP アドレスではなくサーバー名または FQDN である必要があります。内部 OpenShift Container Platform Elasticsearch インスタンスの場合は、
elasticsearch.openshift-logging.svc:9200を指定します。 -
オプション: TLS 通信のエンドポイントに必要なシークレットの名前を入力します。シークレットは
openshift-loggingプロジェクトに存在する必要があります。 -
エンドポイントがシークレットを使用しない場合に
insecure: trueを指定します (これにより、非セキュアな通信が発生します)。
-
- 5
- 1 つ以上のパイプラインを追加します。
- パイプラインの名前を入力します。
-
ソースタイプ (
logs.app、logs.infra、またはlogs.audit) を指定します。 CR に設定された 1 つ以上の出力の名前を指定します。
注記disableDefaultForwarding: trueを設定する場合、アプリケーション、インフラストラクチャーおよび監査の 3 つの種類のログすべてのパイプラインおよび出力を設定する必要があります。ログの種類に対応するパイプラインおよび出力を指定しない場合、それらのログは保存されず、失われます。
CR オブジェクトを作成します。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.10.3.3.1. ログ転送カスタムリソースのサンプル リンクのコピーリンクがクリップボードにコピーされました!
通常のログ転送設定は以下の例のようになります。
以下のログ転送カスタムリソースは、すべてのログをセキュアな Elasticsearch ログストアに送信します。
Elasticsearch ログストアに転送するカスタムリソースのサンプル
以下のログ転送カスタムリソースは、Fluentd forward プロトコルを使用してすべてのログをセキュアな Fluentd インスタンスに送信します。
forward プロトコルを使用するためのサンプルカスタムリソース