OpenTelemetry からのすべてのデータはリソースに関連付けられています。 リソースは、リソース属性としてテレメトリを生成するエンティティの表現です。 リソース属性は、リソースを New Relic のエンティティの概念に適合させるために使用されます。
受信されたデータは、エンティティ合成と呼ばれるプロセスを通じてエンティティに関連付けられます。このプロセスでは、存在するリソース属性が、データが関連付けられるエンティティのタイプを決定するルールと照合されます。 OpenTelemetry から取得されるデータの場合、エンティティ合成ルールは OpenTelemetryリソースのセマンティック規則を尊重するように設計されています。
リソース セマンティック規則は、さまざまな種類のエンティティを記述するためのさまざまな規則の集合を定義します。 たとえば、サービス規則とホスト規則は、それぞれサービスまたはホスト インスタンスを記述するリソース属性を定義します。
サポートされているエンティティタイプ
New Relicここでは、OpenTelemetry インストゥルメンテーションを使用するときにサポートされる オブジェクト タイプについて説明します。サポートされている各エンティティ タイプには次のものが含まれます。
- エンティティ合成に必要なリソース属性。
- New Relic UI の特定の側面を制御する推奨属性。
- 存在する場合、 エンティティ タグとなる属性。
サービス
サービス エンティティは、サービス インスタンスを記述する OpenTelemetry リソースのセマンティック規則に従って合成されます。
OpenTelemetry を使用してサービス エンティティを監視する方法については、ドキュメントと例を参照してください。
必要な属性
service.name
: UI に表示されるサービス名はこの値から取得されます。
推奨属性
service.instance.id
: 同じサービスの複数のインスタンス間のファセットを有効にします。telemetry.sdk.language
: この値が存在する場合、Java アプリケーションの JVM ランタイム ページなど、ランタイム固有の UI の表示が制御されます。
エンティティタグ
service.namespace
telemetry.sdk.language
(言語タグとして追加)telemetry.sdk.version
k8s.cluster.name
k8s.namespace.name
k8s.deployment.name
ホスト
ホスト エンティティは、ホストを記述する OpenTelemetry リソースのセマンティック規則に従って合成されます。
詳細については、インフラストラクチャ モニタリングのコレクターのホスト監視の例を参照してください。
必要な属性
エンティティタグ
cloud.provider
cloud.account.id
cloud.region
cloud.availability_zone
cloud.platform
host.id
host.name
host.type
host.arch
host.image.name
host.image.id
host.image.version
Redisインスタンス
Redisインスタンスは、コレクターRedisレシーバーから出力されたデータを使用して合成されます。 残念ながら、現時点では、 Redisインスタンスの意味規則、またはRedisレシーバーが発行するメトリクス内のプロパティを識別する規則はありません。 したがって、ユーザーは以下に説明する属性を手動で含める必要があります。
詳細についてはRedis 、インフラストラクチャモニタリングのコレクター の 例を参照してください。
必要な属性
server.address
: UI に表示される Redis インスタンス名はこの値から取得されます。server.port
エンティティタグ
redis.version
redis.role
host.type
cloud.provider
cloud.account.id
cloud.region
instrumenation.name
server.address
server.port
サポートされているエンティティ関係
New Relic OpenTelemetryインストゥルメンテーションからソースされたエンティティ間のリレーションシップをサポートします。 これらの関係は、適切な関係基準が満たされると自動的に合成されます。 以下は現在サポートされている関係とその必要な基準です。
ホストへのサービス
サービスとホスト エンティティの関係では、サービスにhost.id
リソース属性が含まれ、それが実行されているホストのhost.id
と一致する必要があります。
Amazon CloudWatch Metric Streams
AWSでホストされているインフラストラクチャは、New Relic とAmazon CloudWatch Metric Streamsの統合を使用して監視できます。 これはインフラストラクチャを監視するための OpenTelemetry ソリューションではありません。 ただし、New RelicOpenTelemetry は、Amazon を使用して、 インストゥルメントされたサービスとインフラストラクチャ モニターの間の多数の関係をサポートしています。CloudWatch Metric Streams
重要
以下に説明する関係は、OpenTelemetry のセマンティック規則を活用しています。 これらの規則の多くはまだ安定しておらず、進化し続けています。 以下のフレームワーク用のテレメトリーを生成するインストゥルメンテーションは、成熟度および意味上の規則への準拠のレベルが異なります。 そのため、使用するインストゥルメンテーションは、これらの関係が機能するために必要なプロパティを生成しない可能性があります。 OpenTelemetryのセマンティック規約に関するインストゥルメンテーションの成熟度に関する質問がある場合は、使用しているインストゥルメンテーションのメンテナーにお問い合わせください。
ElastiCache (Memcached)
Elasticache の AmazonCloudWatch Metric Streams インテグレーションは、New Relic で ElastiCache エンティティを生成します。これらのエンティティには次のエンティティ タグが含まれます。
aws.elasticache.configurationEndpointAddress
またはaws.elasticache.endpointAddress
aws.elasticache.configurationEndpointPort
またはaws.elasticache.endpointPort
サービスが Memcached にOpenTelemetry使用する場合、関係を生成するには次のプロパティを発行する必要があります。
db.system
: この属性の値はmemcached
である必要があります。net.peer.name
: この属性は、ElastiCache エンティティの対応するエンドポイント タグと一致する必要があります。net.peer.port
: この属性は、ElastiCache エンティティの対応するポート タグと一致する必要があります。
Amazon MQ (アクティブMQ)
Amazon MQ の AmazonCloudWatch Metric Streams 統合は、New Relic で Amazon MQ エンティティを生成します。これらのエンティティには次のエンティティ タグが含まれます。
aws.mq.endpoint
サービスで ActiveMQ のOpenTelemetryインストゥルメンテーションを使用する場合、関係を生成するには次のプロパティが必要です。
messaging.system
: この属性の値はactivemq
である必要があります。server.address
: この属性は、Amazon MQ エンティティの対応するエンドポイント タグと一致する必要があります。span.kind
: この関係は、span.kind
がproducer
またはconsumer
であるスパン データから生成されます。
Amazon マネージド Kafka (MSK)
MSK 用の AmazonCloudWatch Metric Streams 統合は、 で MSK エンティティを生成します。New Relicこれらのエンティティには次のエンティティ タグが含まれます。
aws.clusterName
またはaws.kafka.ClusterName
aws.awsRegion
またはaws.region
aws.topic
またはaws.kafka.Topic
サービスで MSK のOpenTelemetryを使用する場合、生成される関係には次のプロパティが必要です。
messaging.destination.name
: サービスがメッセージを生成または消費する MSK トピック。server.address
: この属性は、MSK エンティティの対応するエンドポイント タグと一致する必要があります。span.kind
: この関係は、span.kind
がproducer
またはconsumer
であるスパン データから生成されます。
エンティティにカスタムタグを追加する
タグを使用して、UI 内のエンティティを整理およびフィルターできます。タグは、監視対象のアプリやホストなどのさまざまなデータ セットに追加されるキーと値のペア (例: team: operations
です。アカウント ID など、特定の重要な属性はタグとして自動的に使用可能になります。独自のカスタム タグをUI に直接追加するか、以下のいずれかの方法を使用して追加することもできます。
tags
で始まるリソース属性を追加すると、New Relic のエンティティにタグが付けられます。 たとえば、属性tags.mytag=myvalue
を追加すると、エンティティ タグmytag=myvalue
が生成されます。