3.6. OpenTelemetry データモデル


このドキュメントでは、Logging 6.1 における Red Hat OpenShift Logging の OpenTelemetry サポートのプロトコルおよびセマンティック規約について概説します。

重要

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

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

3.6.1. 転送および取り込みプロトコル

Red Hat OpenShift Logging は、OTLP 仕様 を使用してログを収集し、OpenTelemetry エンドポイントに転送します。OTLP はテレメトリーデータをエンコード、転送、配信します。ログストリームを取り込むための OTLP エンドポイントを提供する Loki ストレージをデプロイすることもできます。このドキュメントでは、さまざまな OpenShift クラスターソースから収集されたログのセマンティック規約を定義します。

3.6.2. セマンティック規約

このソリューションのログコレクターは、次のログストリームを収集します。

  • コンテナーログ
  • クラスターノードジャーナルログ
  • クラスターノード監査ログ
  • Kubernetes および OpenShift API サーバーログ
  • OpenShift Virtual Network (OVN) ログ

これらのストリームは、OpenTelemetry セマンティック属性によって定義されたセマンティック規約に従って転送できます。OpenTelemetry のセマンティック規約では、リソースを属性によって識別される、テレメトリーを生成するエンティティーのイミュータブルな表現と定義しています。たとえばコンテナー内で実行されているプロセスには、container_namecluster_idpod_namenamespace などの属性が含まれ、場合によっては deployment または app_name も含まれます。これらの属性はリソースオブジェクトの下にグループ化されており、繰り返しを減らし、テレメトリーデータとしてのログ送信を最適化するのに役立ちます。

ログには、リソース属性に加え、計装ライブラリーに固有のスコープ属性と、各ログエントリーに固有のログ属性も含まれる場合があります。これらの属性は、各ログエントリーに関するより詳細な情報を提供し、ストレージ内のログをクエリーする際のフィルタリング機能を強化します。

次のセクションでは、一般的に転送される属性を定義しています。

3.6.2.1. ログエントリー構造

すべてのログストリームには、次の ログデータ フィールドが含まれます。

適用可能ソース 列は、各フィールドに適用するログソースを示しています。

  • all: このフィールドは、すべてのログに存在します。
  • container: このフィールドは、アプリケーションとインフラストラクチャーの両方の Kubernetes コンテナーログに存在します。
  • audit: このフィールドは、Kubernetes ログ、OpenShift API ログ、OVN ログに存在します。
  • auditd: このフィールドは、ノード監査ログに存在します。
  • journal: このフィールドは、ノードジャーナルログに存在します。
名前適用可能ソースコメント

body

all

 

observedTimeUnixNano

all

 

timeUnixNano

all

 

severityText

container、journal

 

attributes

all

(オプション) ストリーム固有の属性を転送する場合に存在します

3.6.2.2. 属性

次の表に示すとおり、ログエントリーにはソースに基づくリソース属性、スコープ属性、ログ属性のセットが含まれます。

場所 列は属性のタイプを示しています。

  • resource: リソース属性を示します
  • scope: スコープ属性を示します
  • log: ログ属性を示します

ストレージ 列は、属性がデフォルトの openshift-logging モードを使用して LokiStack に保存されているか、および保存場所を示しています。

  • stream label:

    • 特定のラベルに基づく効率的なフィルタリングとクエリーを可能にします。
    • Loki Operator が設定でこの属性を強制する場合は、required としてラベル付けできます。
  • structured metadata:

    • キーと値のペアの詳細なフィルタリングと保存を可能にします。
    • JSON 解析を使用することなく、合理化されたクエリーに直接ラベルを使用できるようになります。

OTLP を使用すると、ユーザーは JSON 解析を使用するのではなく、ラベルで直接クエリーをフィルタリングできるため、クエリーの速度と効率が向上します。

名前場所適用可能ソースストレージ (LokiStack)コメント

log_source

resource

all

required stream label

(非推奨) 互換性属性。openshift.log.source と同じ情報が含まれます。

log_type

resource

all

required stream label

(非推奨) 互換性属性。openshift.log.type と同じ情報が含まれます。

kubernetes.container_name

resource

container

stream label

(非推奨) 互換性属性。k8s.container.name と同じ情報が含まれます。

kubernetes.host

resource

all

stream label

(非推奨) 互換性属性。k8s.node.name と同じ情報が含まれます。

kubernetes.namespace_name

resource

container

required stream label

(非推奨) 互換性属性。k8s.namespace.name と同じ情報が含まれます。

kubernetes.pod_name

resource

container

stream label

(非推奨) 互換性属性。k8s.pod.name と同じ情報が含まれます。

openshift.cluster_id

resource

all

 

(非推奨) 互換性属性。openshift.cluster.uid と同じ情報が含まれます。

level

log

container、journal

 

(非推奨) 互換性属性。severityText と同じ情報が含まれます。

openshift.cluster.uid

resource

all

required stream label

 

openshift.log.source

resource

all

required stream label

 

openshift.log.type

resource

all

required stream label

 

openshift.labels.*

resource

all

structured metadata

 

k8s.node.name

resource

all

stream label

 

k8s.namespace.name

resource

container

required stream label

 

k8s.container.name

resource

container

stream label

 

k8s.pod.labels.*

resource

container

structured metadata

 

k8s.pod.name

resource

container

stream label

 

k8s.pod.uid

resource

container

structured metadata

 

k8s.cronjob.name

resource

container

stream label

Pod 作成者に基づき条件付きで転送されます

k8s.daemonset.name

resource

container

stream label

Pod 作成者に基づき条件付きで転送されます

k8s.deployment.name

resource

container

stream label

Pod 作成者に基づき条件付きで転送されます

k8s.job.name

resource

container

stream label

Pod 作成者に基づき条件付きで転送されます

k8s.replicaset.name

resource

container

structured metadata

Pod 作成者に基づき条件付きで転送されます

k8s.statefulset.name

resource

container

stream label

Pod 作成者に基づき条件付きで転送されます

log.iostream

log

container

structured metadata

 

k8s.audit.event.level

log

audit

structured metadata

 

k8s.audit.event.stage

log

audit

structured metadata

 

k8s.audit.event.user_agent

log

audit

structured metadata

 

k8s.audit.event.request.uri

log

audit

structured metadata

 

k8s.audit.event.response.code

log

audit

structured metadata

 

k8s.audit.event.annotation.*

log

audit

structured metadata

 

k8s.audit.event.object_ref.resource

log

audit

structured metadata

 

k8s.audit.event.object_ref.name

log

audit

structured metadata

 

k8s.audit.event.object_ref.namespace

log

audit

structured metadata

 

k8s.audit.event.object_ref.api_group

log

audit

structured metadata

 

k8s.audit.event.object_ref.api_version

log

audit

structured metadata

 

k8s.user.username

log

audit

structured metadata

 

k8s.user.groups

log

audit

structured metadata

 

process.executable.name

resource

journal

structured metadata

 

process.executable.path

resource

journal

structured metadata

 

process.command_line

resource

journal

structured metadata

 

process.pid

resource

journal

structured metadata

 

service.name

resource

journal

stream label

 

systemd.t.*

log

journal

structured metadata

 

systemd.u.*

log

journal

structured metadata

 
注記

互換性属性 としてマークされた属性は、ViaQ データモデルとの最小限の下位互換性をサポートします。これらは非推奨の属性であり、UI 機能の継続を保証するための互換性レイヤーとして機能します。これらの属性は、Logging UI が今後のリリースにおける OpenTelemetry 対応機能を完全にサポートするまで引き続きサポートされます。

Loki は、ストレージへの保存時に属性名を変更します。名前は小文字になり、セット内のすべての文字 (./-) はアンダースコア (_) に置き換えられます。たとえば、k8s.namespace.namek8s_namespace_name になります。

3.6.3. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.