3.3. ログストアの設定


OpenShift Container Platform は Elasticsearch 6 (ES) を使用してログデータを保存し、整理します。

ログストアに加えることのできる変更には、以下が含まれます。

  • Elasticsearch クラスターのストレージ。
  • シャードをクラスター内の複数のデータノードにレプリケートする方法 (完全なレプリケーションからレプリケーションなしまで)。
  • Elasticsearch データへの外部アクセス

Elasticsearch はメモリー集約型アプリケーションです。それぞれの Elasticsearch ノードには、ClusterLogging カスタムリソースで指定しない限り、メモリー要求および制限の両方に 16G のメモリーが必要です。初期設定の OpenShift Container Platform ノードのセットは、Elasticsearch クラスターをサポートするのに十分な大きさではない場合があります。その場合、推奨されるサイズ以上のメモリーを使用して実行できるようにノードを OpenShift Container Platform クラスターに追加する必要があります。

各 Elasticsearch ノードはこれより低い値のメモリー設定でも動作しますが、これは実稼働環境には推奨されません。

3.3.1. 監査ログのログストアへの転送

内部 OpenShift Container Platform Elasticsearch ログストアは監査ログのセキュアなストレージを提供しないため、デフォルトで監査ログは内部 Elasticsearch インスタンスに保存されません。

監査ログを内部ログストアに送信する必要がある場合 (Kibana で監査ログを表示するなど)、ログ転送 API を使用する必要があります。ログ転送 API は現時点ではテクノロジープレビュー機能です。

重要

内部 OpenShift Container Platform Elasticsearch ログストアは、監査ログのセキュアなストレージを提供しません。監査ログを転送するシステムが組織および政府の規制に準拠しており、適切にセキュリティーが保護されていることを確認することが推奨されています。OpenShift Container Platform クラスターロギングはこれらの規制に準拠しません。

手順

ログ転送 API を使用して監査ログを内部 Elasticsearch インスタンスに転送するには、以下を実行します。

  1. ログ転送 API が有効にされていない場合:

    1. openshift-logging プロジェクトで ClusterLogging カスタムリソース (CR) を編集します。

      $ oc edit ClusterLogging instance
    2. clusterlogging.openshift.io/logforwardingtechpreview アノテーションを追加し、enabled に設定します。

      apiVersion: "logging.openshift.io/v1"
      kind: "ClusterLogging"
      metadata:
        annotations:
          clusterlogging.openshift.io/logforwardingtechpreview: enabled 1
        name: "instance"
        namespace: "openshift-logging"
      spec:
      
      ...
      
        collection: 2
          logs:
            type: "fluentd"
            fluentd: {}
      1
      ログ転送 API を有効および無効にします。ログ転送を使用するには、enabled に設定します。
      2
      Fluentd を使用できるように、spec.collection ブロックを ClusterLogging CR で定義する必要があります。
  2. LogForwarding CR YAML ファイルを作成するか、または既存の CR を編集します。

    • すべてのログタイプを内部 Elasticsearch インスタンスに送信するために CR を作成します。変更せずに以下の例を使用できます。

      apiVersion: logging.openshift.io/v1alpha1
      kind: LogForwarding
      metadata:
        name: instance
        namespace: openshift-logging
      spec:
        disableDefaultForwarding: true
        outputs:
          - name: clo-es
            type: elasticsearch
            endpoint: 'elasticsearch.openshift-logging.svc:9200' 1
            secret:
              name: fluentd
        pipelines:
          - name: audit-pipeline 2
            inputSource: logs.audit
            outputRefs:
              - clo-es
          - name: app-pipeline 3
            inputSource: logs.app
            outputRefs:
              - clo-es
          - name: infra-pipeline 4
            inputSource: logs.infra
            outputRefs:
              - clo-es
      1
      endpoint パラメーターは内部 Elasticsearch インスタンスを参照します。
      2
      このパラメーターは、監査ログを指定されたエンドポイントに送信します。
      3
      このパラメーターは、アプリケーションログを指定されたエンドポイントに送信します。
      4
      このパラメーターは、インフラストラクチャーログを指定されたエンドポイントに送信します。
      注記

      アプリケーション、インフラストラクチャーおよび監査の 3 つの種類のログすべてのパイプラインおよび出力を設定する必要があります。ログの種類に対応するパイプラインおよび出力を指定しない場合、それらのログは保存されず、失われます。

    • 既存の LogForwarding CR がある場合、内部 Elasticsearch インスタンスの出力およびパイプラインを監査ログの出力に追加します。以下は例になります。

      apiVersion: "logging.openshift.io/v1alpha1"
      kind: "LogForwarding"
      metadata:
        name: instance
        namespace: openshift-logging
      spec:
        disableDefaultForwarding: true
        outputs:
         - name: elasticsearch 1
           type: "elasticsearch"
           endpoint: elasticsearch.openshift-logging.svc:9200
           secret:
              name: fluentd
         - name: elasticsearch-insecure
           type: "elasticsearch"
           endpoint: elasticsearch-insecure.messaging.svc.cluster.local
           insecure: true
         - name: secureforward-offcluster
           type: "forward"
           endpoint: https://secureforward.offcluster.com:24224
           secret:
              name: secureforward
        pipelines:
         - name: container-logs
           inputSource: logs.app
           outputRefs:
           - secureforward-offcluster
         - name: infra-logs
           inputSource: logs.infra
           outputRefs:
           - elasticsearch-insecure
         - name: audit-logs 2
           inputSource: logs.audit
           outputRefs:
           - elasticsearch
      1
      内部 Elasticsearch インスタンスの出力。
      2
      監査ログを内部 Elasticsearch インスタンスに送信するためのパイプライン。

追加リソース

ログ転送 API の詳細は、Forwarding logs using the Log Forwarding API を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.