2.2. Logging 5.9.6
ClusterLogForwarder
カスタムリソース(CR)は、ログの収集および転送の中央設定ポイントです。
2.2.1. 入力および出力
入力は転送されるログのソースを指定します。ロギングでは、アプリケーション
、インフラストラクチャー
、および 監査
という組み込み入力タイプが提供され、クラスターの各種の部分からログを選択できます。namespace または Pod ラベルに基づいてカスタム入力を定義し、ログ選択を微調整することもできます。
出力は、ログの送信先となる宛先を定義します。各出力タイプには独自の設定オプションセットがあり、動作および認証設定をカスタマイズできます。
2.2.2. 受信者入力タイプ
receiver 入力タイプを使用すると、Logging システムは外部ソースからのログを受け入れることができます。ログを受信するための 2 つの形式( http
と syslog
)をサポートします。
ReceiverSpec
は、レシーバー入力の設定を定義します。
2.2.3. パイプラインとフィルター
pipelines は、入力から出力へのログのフローを決定します。パイプラインは、1 つ以上の入力 refs、出力 ref、およびオプションのフィルター ref で設定されます。フィルターは、パイプライン内でログメッセージを変換またはドロップするために使用できます。フィルターの順序は重要ですが、以前のフィルターを使用すると、ログメッセージが後のステージに到達するのを防ぐことができます。
2.2.4. Operator の動作
Cluster Logging Operator は、managementState
フィールドに基づいてコレクターのデプロイメントおよび設定を管理します。
-
Managed
(デフォルト)に設定すると、Operator は、仕様で定義された設定に一致するようにロギングリソースをアクティブに管理します。 -
Unmanaged
に設定すると、Operator はアクションを実行せず、ロギングコンポーネントを手動で管理できます。
2.2.5. 検証
ロギングには、スムーズでエラーのない設定エクスペリエンスを確保するために、広範な検証ルールやデフォルト値が含まれます。ClusterLogForwarder
リソースは、必須フィールド、フィールド間の依存関係、および入力値の形式の検証チェックを強制します。一部のフィールドにデフォルト値が提供されるため、一般的なシナリオで明示的な設定が不要になります。
2.2.5.1. クイックスタート
前提条件
- クラスター管理者のパーミッション。
手順
-
OperatorHub から
OpenShift Logging
およびLoki
Operator をインストールします。 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: '2022-06-01' version: v13 secret: name: logging-loki-s3 type: s3 storageClassName: gp3-csi tenants: mode: openshift-logging
コレクターのサービスアカウントを作成します。
$ oc create sa collector -n openshift-logging
コレクターの
ClusterRole
を作成します。apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: logging-collector-logs-writer rules: - apiGroups: - loki.grafana.com resourceNames: - logs resources: - application - audit - infrastructure verbs: - create
ClusterRole
をサービスアカウントにバインドします。$ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector
- Cluster Observability Operator をインストールします。
UIPlugin
を作成して、Observe タブの Log セクションを有効にします。apiVersion: observability.openshift.io/v1alpha1 kind: UIPlugin metadata: name: logging spec: type: Logging logging: lokiStack: name: logging-loki
ロールを collector サービスアカウントに追加します。
$ 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
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: target: name: logging-loki namespace: openshift-logging authentication: token: from: serviceAccount tls: ca: key: service-ca.crt configMapName: openshift-service-ca.crt pipelines: - name: default-logstore inputRefs: - application - infrastructure outputRefs: - default-lokistack
- ログが OpenShift Web コンソールの Observe タブの Log セクションに表示されることを確認します。