4.2. OpenTelemetry のクイックスタート
OpenTelemetry Protocol (OTLP) 出力ログフォワーダーは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
OTLP 取り込みを設定し、OpenTelemetry データモデルを有効にするには、次の手順を実行します。
前提条件
- クラスター管理者のパーミッション。
手順
- OperatorHub から、Red Hat OpenShift Logging Operator、Loki Operator、Cluster Observability Operator (COO) をインストールします。
openshift-loggingnamespace に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 設定」を参照してください。コレクターのサービスアカウントを作成します。
$ oc create sa collector -n openshift-loggingコレクターのサービスアカウントによる
LokiStackCR へのデータ書き込みを許可します。$ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z collector注記ClusterRoleリソースは、Cluster Logging Operator のインストール中に自動的に作成されるため、手動で作成する必要はありません。コレクターのサービスアカウントによるログ収集を許可します。
$ 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設定を更新して監査ログを含めます。環境に必要な特定のログタイプに基づきロールを割り当てます。UIPluginCR を作成して、Observe タブの Log セクションを有効にします。apiVersion: observability.openshift.io/v1alpha1 kind: UIPlugin metadata: name: logging spec: type: Logging logging: lokiStack: name: logging-lokiClusterLogForwarderCR を作成して、ログ転送を設定します。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: lokiStack2 lokiStack: target: name: logging-loki namespace: openshift-logging dataModel: Otel3 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注記dataModelがOtelの場合、lokiStack.labelKeysは使用できません。dataModelがOtelの場合に同様の機能を得るには、「OTLP データ取り込み用の LokiStack 設定」を参照してください。
検証
-
OpenShift Web コンソールで Observe
OpenShift Logging LokiStack Writes に移動し、Distributor - Structured Metadata を確認して、OTLP が正常に機能していることを確認します。