2.5. ロギングコレクターの設定


Red Hat OpenShift のロギングは、クラスターからオペレーションとアプリケーションログを収集し、Kubernetes Pod とプロジェクトメタデータでデータを拡充します。ログコレクターに対するサポートされているすべての変更は、ClusterLogForwarder カスタムリソース (CR) の spec.collection スタンザを通じて実行されます。

2.5.1. LogFileMetricExporter リソースの作成

実行中のコンテナーによって生成されたログからメトリクスを生成するには、LogFileMetricExporter カスタムリソース (CR) を作成する必要があります。

LogFileMetricExporter CR を作成しない場合、Red Hat OpenShift Service on AWS Web コンソールのダッシュボードの Produced LogsNo datapoints found というメッセージが表示される場合があります。

前提条件

  • 管理者権限がある。
  • Red Hat OpenShift Logging Operator がインストールされている。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. LogFileMetricExporter CR を YAML ファイルとして作成します。

    LogFileMetricExporter CR の例

    apiVersion: logging.openshift.io/v1alpha1
    kind: LogFileMetricExporter
    metadata:
      name: instance
      namespace: openshift-logging
    spec:
      nodeSelector: {} 
    1
    
      resources: 
    2
    
        limits:
          cpu: 500m
          memory: 256Mi
        requests:
          cpu: 200m
          memory: 128Mi
      tolerations: [] 
    3
    
    # ...
    Copy to Clipboard Toggle word wrap

    1
    オプション: nodeSelector スタンザは、Pod がスケジュールされるノードを定義します。
    2
    resources スタンザは、LogFileMetricExporter CR のリソース要件を定義します。
    3
    オプション: tolerations スタンザは、Pod が受け入れる toleration を定義します。
  2. 次のコマンドを実行して、LogFileMetricExporter CR を適用します。

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

2.5.2. ログコレクター CPU およびメモリー制限の設定

ログコレクターを使用して、CPU とメモリーの制限を調整します。

手順

  • ClusterLogForwarder カスタムリソース (CR) を編集します。

    $ oc -n openshift-logging edit ClusterLogging instance
    Copy to Clipboard Toggle word wrap
    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: instance
      namespace: openshift-logging
    spec:
      collector:
        resources:
          limits: 
    1
    
            memory: 736Mi
          requests:
            cpu: 100m
            memory: 736Mi
    # ...
    Copy to Clipboard Toggle word wrap
    1
    必要に応じて CPU、メモリー制限および要求を指定します。表示される値はデフォルト値です。

2.5.3. 入力レシーバーの設定

Red Hat OpenShift Logging Operator は、クライアントがコレクターに書き込めるように、設定された各入力レシーバー用のサービスをデプロイします。このサービスは、入力レシーバーに指定されたポートを公開します。ログフォワーダー ClusterLogForwarder CR デプロイメントの場合、サービス名は <clusterlogforwarder_resource_name>-<input_name> 形式になります。

2.5.3.1. 監査ログを HTTP サーバーとして受信するようにコレクターを設定する

ClusterLogForwarder カスタムリソース (CR) でレシーバー入力として http を指定することにより、ログコレクターが HTTP 接続をリッスンして監査ログのみを受信するように設定できます。

重要

HTTP レシーバー入力は、次のシナリオでのみサポートされます。

  • Hosted Control Plane にロギングがインストールされます。
  • ログが、Red Hat OpenShift Logging Operator と同じクラスターにインストールされている Red Hat 対応製品から生成された場合。例:

    • OpenShift Virtualization

前提条件

  • 管理者権限がある。
  • OpenShift CLI (oc) がインストールされている。
  • Red Hat OpenShift Logging Operator がインストールされている。
  • ClusterLogForwarder CR が作成されている。

手順

  1. ClusterLogForwarder CR を変更して、http レシーバー入力の設定を追加します。

    ClusterLogForwarder CR の例

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
    # ...
    spec:
      inputs:
      - name: http-receiver 
    1
    
        type: receiver
        receiver:
          type: http 
    2
    
          port: 8443 
    3
    
          http:
            format: kubeAPIAudit 
    4
    
      outputs:
      - name: default-lokistack
        lokiStack:
          authentication:
            token:
              from: serviceAccount
          target:
            name: logging-loki
            namespace: openshift-logging
        tls:
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
        type: lokiStack
    # ...
      pipelines: 
    5
    
        - name: http-pipeline
          inputRefs:
            - http-receiver
          outputRefs:
            - <output_name>
    # ...
    Copy to Clipboard Toggle word wrap

    1
    入力レシーバーの名前を指定します。
    2
    入力レシーバー型を http に指定します。
    3
    オプション: 入力レシーバーがリッスンするポートを指定します。これは、1024 から 65535 までの値とします。デフォルト値は 8443 です。
    4
    現在、HTTP 入力レシーバーでは kube-apiserver Webhook 形式のみがサポートされています。
    5
    入力レシーバーのパイプラインを設定します。
  2. 次のコマンドを実行して、ClusterLogForwarder CR に変更を適用します。

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、コレクターが <clusterlogforwarder_resource_name>-<input_name> 形式の名前を持つサービスでリッスンしていることを確認します。

    $ oc get svc
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)            AGE
    collector                 ClusterIP   172.30.85.239    <none>        24231/TCP          3m6s
    collector-http-receiver   ClusterIP   172.30.205.160   <none>        8443/TCP           3m6s
    Copy to Clipboard Toggle word wrap

    この出力例では、サービス名は collector-http-receiver です。

  2. 次のコマンドを実行して、認証局 (CA) 証明書ファイルを抽出します。

    $ oc extract cm/openshift-service-ca.crt -n <namespace>
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して、curl コマンドを使用してログを送信します。

    $ curl --cacert <openshift_service_ca.crt> https://collector-http-receiver.<namespace>.svc:8443 -XPOST -d '{"<prefix>":"<msessage>"}'
    Copy to Clipboard Toggle word wrap

    <openshift_service_ca.crt> は、抽出した CA 証明書ファイルに置き換えます。

    注記

    検証手順に従うことによってのみ、クラスター内でログを転送できます。

2.5.3.2. コレクターを syslog サーバーとして接続をリッスンするように設定する

ClusterLogForwarder カスタムリソース (CR) で syslog をレシーバー入力として指定することで、ジャーナル形式のインフラストラクチャーログを収集するようにログコレクターを設定できます。

重要

syslog レシーバー入力は、次のシナリオでのみサポートされます。

  • Hosted Control Plane にロギングがインストールされます。
  • ログが、Red Hat OpenShift Logging Operator と同じクラスターにインストールされている Red Hat 対応製品から生成された場合。例:

    • Red Hat OpenStack Services on OpenShift (RHOSO)
    • OpenShift Virtualization

前提条件

  • 管理者権限がある。
  • OpenShift CLI (oc) がインストールされている。
  • Red Hat OpenShift Logging Operator がインストールされている。
  • ClusterLogForwarder CR が作成されている。

手順

  1. 次のコマンドを実行して、collect-infrastructure-logs クラスターのロールをサービスアカウントに付与します。

    バインドコマンドの例

    $ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z logcollector
    Copy to Clipboard Toggle word wrap

  2. ClusterLogForwarder CR を変更して、syslog レシーバー入力の設定を追加します。

    ClusterLogForwarder CR の例

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
    # ...
    spec:
      serviceAccount:
        name: <service_account_name>
      inputs:
        - name: syslog-receiver 
    1
    
          type: receiver
          receiver:
            type: syslog 
    2
    
            port: 10514 
    3
    
      outputs:
      - name: default-lokistack
        lokiStack:
          authentication:
            token:
              from: serviceAccount
          target:
            name: logging-loki
            namespace: openshift-logging
        tls:
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
        type: lokiStack
    # ...
      pipelines: 
    4
    
        - name: syslog-pipeline
          inputRefs:
            - syslog-receiver
          outputRefs:
            - <output_name>
    # ...
    Copy to Clipboard Toggle word wrap

    1
    入力レシーバーの名前を指定します。
    2
    入力レシーバー型を syslog に指定します。
    3
    オプション: 入力レシーバーがリッスンするポートを指定します。これは、1024 から 65535 までの値とします。
    4
    入力レシーバーのパイプラインを設定します。
  3. 次のコマンドを実行して、ClusterLogForwarder CR に変更を適用します。

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

検証

  • 次のコマンドを実行して、コレクターが <clusterlogforwarder_resource_name>-<input_name> 形式の名前を持つサービスでリッスンしていることを確認します。

    $ oc get svc
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)            AGE
    collector                   ClusterIP   172.30.85.239    <none>        24231/TCP          33m
    collector-syslog-receiver   ClusterIP   172.30.216.142   <none>        10514/TCP          2m20s
    Copy to Clipboard Toggle word wrap

    この出力例では、サービス名は collector-syslog-receiver です。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat