3.2. Logging 6.1


context: logging-6x-6.1

ClusterLogForwarder カスタムリソース (CR) は、ログの収集と転送の中心的な設定ポイントです。

3.2.1. 入力と出力

入力では、転送するログのソースを指定します。Logging には、クラスターのさまざまな部分からログを選択するための入力タイプ (applicationreceiverinfrastructureaudit) が組み込まれています。namespace または Pod ラベルに基づいてカスタム入力を定義し、ログの選択を微調整することもできます。

出力は、ログが送信される宛先を定義します。各出力タイプには独自の設定オプションセットがあり、動作と認証設定をカスタマイズできます。

3.2.2. レシーバー入力タイプ

レシーバー入力タイプにより、Logging システムは外部ソースからのログを受け入れることができます。ログを受信するための 2 つの形式 (httpsyslog) がサポートされます。

ReceiverSpec は、レシーバー入力の設定を定義します。

3.2.3. パイプラインとフィルター

パイプラインは、入力から出力へのログのフローを決定します。パイプラインは、1 つ以上の入力参照、出力参照、およびオプションのフィルター参照で構成されます。フィルターを使用して、パイプライン内のログメッセージを変換または削除できます。フィルターは順番に適用されるため、フィルターの順序は重要であり、最初の方のフィルターを使用すると、ログメッセージが後のステージに到達するのを防ぐことができます。

3.2.4. Operator の動作

Cluster Logging Operator は、ClusterLogForwarder リソースの managementState フィールドに基づき、コレクターのデプロイメントと設定を管理します。

  • Managed (デフォルト) に設定すると、Operator は仕様で定義された設定に一致するように、ロギングリソースをアクティブに管理します。
  • Unmanaged に設定すると、Operator はアクションを実行せず、ロギングコンポーネントを手動で管理できます。

3.2.5. 検証

ロギングには、スムーズでエラーのない設定エクスペリエンスを確保するために、広範な検証ルールやデフォルト値が含まれます。ClusterLogForwarder リソースは、必須フィールド、フィールド間の依存関係、および入力値の形式の検証チェックを強制します。特定のフィールドにはデフォルト値が提供されるため、一般的なシナリオで明示的な設定を行う必要性が軽減されます。

3.2.6. クイックスタート

OpenShift Logging は 2 つのデータモデルをサポートしています。

  • ViaQ (一般提供)
  • OpenTelemetry (テクノロジープレビュー)

ClusterLogForwarderlokiStack.dataModel フィールドを設定することにより、要件に基づきこれらのデータモデルのいずれかを選択できます。ViaQ は、ログを LokiStack に転送する際のデフォルトのデータモデルです。

注記

OpenShift Logging の今後のリリースでは、デフォルトのデータモデルが ViaQ から OpenTelemetry に変更されます。

3.2.6.1. ViaQ のクイックスタート

デフォルトの ViaQ データモデルを使用するには、次の手順に従います。

前提条件

  • クラスター管理者のパーミッション。

手順

  1. OperatorHub から、Red Hat OpenShift Logging Operator、Loki Operator、Cluster Observability Operator (COO) をインストールします。
  2. openshift-logging namespace に LokiStack カスタムリソース (CR) を作成します。

    apiVersion: loki.grafana.com/v1
    kind: LokiStack
    metadata:
      name: logging-loki
      namespace: openshift-logging
    spec:
      managementState: Managed
      size: 1x.extra-small
      storage:
        schemas:
        - effectiveDate: '2024-10-01'
          version: v13
        secret:
          name: logging-loki-s3
          type: s3
      storageClassName: gp3-csi
      tenants:
        mode: openshift-logging
    注記

    事前に logging-loki-s3 シークレットが事前に作成されていることを確認します。このシークレットの内容は、使用しているオブジェクトストレージにより異なります。詳細は、シークレットと TLS 設定を参照してください。

  3. コレクターのサービスアカウントを作成します。

    $ oc create sa collector -n openshift-logging
  4. コレクターのサービスアカウントによる LokiStack CR へのデータ書き込みを許可します。

    $ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector
    注記

    ClusterRole リソースは、Cluster Logging Operato のインストール中に自動的に作成されるため、手動で作成する必要はありません。

  5. コレクターのサービスアカウントによるログ収集を許可します。

    $ oc project openshift-logging
    $ oc adm policy add-cluster-role-to-user collect-application-logs -z collector
    $ oc adm policy add-cluster-role-to-user collect-audit-logs -z collector
    $ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collector
    注記

    この例では、コレクターを 3 つのロール (アプリケーション、インフラストラクチャー、監査) すべてにバインドしますが、デフォルトでは、アプリケーションログとインフラストラクチャーログのみが収集されます。監査ログを収集するには、ClusterLogForwarder 設定を更新して監査ログを含めます。環境に必要な特定のログタイプに基づきロールを割り当てます。

  6. Observe タブの Log セクションを有効にするには、UIPlugin CR を作成します。

    apiVersion: observability.openshift.io/v1alpha1
    kind: UIPlugin
    metadata:
      name: logging
    spec:
      type: Logging
      logging:
        lokiStack:
          name: logging-loki
  7. ログ転送を設定するには、ClusterLogForwarder CR を作成します。

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: collector
      namespace: openshift-logging
    spec:
      serviceAccount:
        name: collector
      outputs:
      - name: default-lokistack
        type: lokiStack
        lokiStack:
          authentication:
            token:
              from: serviceAccount
          target:
            name: logging-loki
            namespace: openshift-logging
        tls:
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
      pipelines:
      - name: default-logstore
        inputRefs:
        - application
        - infrastructure
        outputRefs:
        - default-lokistack
    注記

    dataModel フィールドはオプションであり、デフォルトでは未設定 (dataModel: "") になっています。これにより、Cluster Logging Operator (CLO) はデータモデルを自動的に選択できるようになります。現在、このフィールドが設定されていない場合の CLO はデフォルトで ViaQ モデルになりますが、これは今後のリリースで変更される予定です。dataModel: ViaQ を指定すると、デフォルトが変更されても設定の互換性が維持されます。

検証

  • OpenShift Web コンソールの Observe タブの Log セクションにログが表示されていることを確認します。

3.2.6.2. OpenTelemetry のクイックスタート

重要

OpenTelemetry Protocol (OTLP) 出力ログフォワーダーは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

OTLP 取り込みを設定し、OpenTelemetry データモデルを有効にするには、次の手順を実行します。

前提条件

  • クラスター管理者のパーミッション。

手順

  1. OperatorHub から、Red Hat OpenShift Logging Operator、Loki Operator、Cluster Observability Operator (COO) をインストールします。
  2. openshift-logging namespace に LokiStack カスタムリソース (CR) を作成します。

    apiVersion: loki.grafana.com/v1
    kind: LokiStack
    metadata:
      name: logging-loki
      namespace: openshift-logging
    spec:
      managementState: Managed
      size: 1x.extra-small
      storage:
        schemas:
        - effectiveDate: '2024-10-01'
          version: v13
        secret:
          name: logging-loki-s3
          type: s3
      storageClassName: gp3-csi
      tenants:
        mode: openshift-logging
    注記

    事前に logging-loki-s3 シークレットが事前に作成されていることを確認します。このシークレットの内容は、使用しているオブジェクトストレージにより異なります。詳細は、「シークレットと TLS 設定」を参照してください。

  3. コレクターのサービスアカウントを作成します。

    $ oc create sa collector -n openshift-logging
  4. コレクターのサービスアカウントによる LokiStack CR へのデータ書き込みを許可します。

    $ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector
    注記

    ClusterRole リソースは、Cluster Logging Operato のインストール中に自動的に作成されるため、手動で作成する必要はありません。

  5. コレクターのサービスアカウントによるログ収集を許可します。

    $ oc project openshift-logging
    $ oc adm policy add-cluster-role-to-user collect-application-logs -z collector
    $ oc adm policy add-cluster-role-to-user collect-audit-logs -z collector
    $ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z collector
    注記

    この例では、コレクターを 3 つのロール (アプリケーション、インフラストラクチャー、監査) すべてにバインドします。デフォルトでは、アプリケーションログとインフラストラクチャーログのみが収集されます。監査ログを収集するには、ClusterLogForwarder 設定を更新して監査ログを含めます。環境に必要な特定のログタイプに基づきロールを割り当てます。

  6. Observe タブの Log セクションを有効にするには、UIPlugin CR を作成します。

    apiVersion: observability.openshift.io/v1alpha1
    kind: UIPlugin
    metadata:
      name: logging
    spec:
      type: Logging
      logging:
        lokiStack:
          name: logging-loki
  7. ログ転送を設定するには、ClusterLogForwarder CR を作成します。

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: collector
      namespace: openshift-logging
      annotations:
        observability.openshift.io/tech-preview-otlp-output: "enabled" 1
    spec:
      serviceAccount:
        name: collector
      outputs:
      - name: loki-otlp
        type: lokiStack 2
        lokiStack:
          target:
            name: logging-loki
            namespace: openshift-logging
          dataModel: Otel 3
          authentication:
            token:
              from: serviceAccount
        tls:
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
      pipelines:
      - name: my-pipeline
        inputRefs:
        - application
        - infrastructure
        outputRefs:
        - loki-otlp
    1
    アノテーションを使用して、テクノロジープレビュー機能である Otel データモデルを有効にします。
    2
    出力タイプを lokiStack として定義します。
    3
    OpenTelemetry データモデルを指定します。
    注記

    dataModelOtel の場合、lokiStack.labelKeys は使用できません。dataModelOtel の場合に同様の機能を得るには、「OTLP データ取り込み用の LokiStack 設定」を参照してください。

検証

  • OpenShift Web コンソールで Observe OpenShift Logging LokiStack Writes に移動し、Distributor - Structured Metadata を確認して、OTLP が正常に機能していることを確認します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.