この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

Open Telemetry の概念

これはOpen Telemetry の最も重要な概念の要約であり、始めるのに十分な内容です。より詳細な紹介については、https://opentelemetry.io/docs/concepts/[Open Telemetryのドキュメント]を参照してください。

シグナル

Open Telemetryは3つのテレメトリ信号を認識しています:

  • トレース

  • Metrics

  • ログ

現在、SUSE Observabilityはトレースとメトリクスをサポートしており、ログは将来のバージョンでサポートされる予定です。Kubernetesのログについては、代わりにSUSE Observabilityエージェントを使用することが可能です。

トレース

トレースにより、アプリケーション内でリクエストの経路を可視化できます。トレースは1つ以上のスパンで構成され、これらが連なってツリーを形成します。1つのトレースは単一のサービス内で完結する場合もありますが、複数のサービスにまたがる場合もあります。各スパンはリクエストの処理における操作を表し、次のものを持っています:

  • 名前

  • 開始時刻と終了時刻。これにより、期間を算出することができます。

  • status

  • 属性

  • リソース属性(リソースを参照)

  • イベント

スパン属性は、スパンに対するメタデータを提供するために使用されます。例えば、注文を行う操作のスパンは`orderId`を属性として持つことができ、HTTP操作のスパンはHTTPメソッドとURLを属性として持つことができます。

スパンイベントは、スパンの処理中に重要な出来事が発生した時点を表すために使用されます。たとえば、スパンが失敗した場合、`exception`または`error`のイベントで、エラーメッセージ、スタックトレース、およびエラー発生の正確な時点を記録することができます。

Metrics

メトリクスは、実行時に取得された測定値であり、それによりメトリクスイベントが生成されます。メトリクスはアプリケーションのパフォーマンスと可用性の重要な指標であり、障害やパフォーマンスの問題を警告するためにしばしば使用されます。メトリクスには:

  • 名前

  • タイムスタンプ

  • 種類(カウンター、ゲージ、ヒストグラムなど)

  • 属性

  • リソース属性(リソースを参照)

属性はメトリックのメタデータを提供します。

リソース

リソースはテレメトリデータを生成するエンティティです。リソース属性はリソースのメタデータを提供します。例えば、Kubernetesクラスター内のポッド内で稼働しているコンテナのプロセスは、これらすべてのエンティティに対するリソース属性を持つことができます。

リソース属性は、SDKによって自動的に割り当てられることがよくあります。ただし、`service.name`および`service.namespace`属性を常に明示的に設定することをお勧めします。最初のものはサービスの論理名であり、設定されていない場合、SDKが`unknown_service`という値を自動的に設定するため、後でSUSE Observabilityでデータを利用するのが非常に困難になります。ネームスペースはサービスを整理する便利な方法であり、特に複数の場所で同じサービスが実行されている場合に役立ちます。

セマンティック規約

Open Telemetryは、操作とデータのための一般的な名前を定義しており、これをセマンティック規約と呼びます。セマンティック規約は、言語、ライブラリ、コードベース全体でデータの処理を標準化するための命名スキームに従います。すべての信号とリソース属性に対するセマンティック規約があります。これらは、https://opentelemetry.io/docs/specs/semconv/attributes-registry/[Open Telemetryウェブサイト]上の多くの異なるプラットフォームと操作のために定義されています。SDKはセマンティック規約を利用してこれらの属性を割り当て、SUSE Observabilityもまた規約を尊重し、例えばKubernetesリソースの認識に依存しています。