この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

ゲートウェイにおけるデータ処理の理解

/* Pipeline Control cloudルールとゲートウェイ ルールは、同一のNRQL定義を使用している場合でも、互いに異なる動作をする場合があります。 テレメトリーデータがNew Relicによって受信されると、そのデータはcloudルールによって評価され、NRDB に保存される前に、複数の変換と強化が行われます。 ただし、ゲートウェイ ルールは、データが New Relic によって変換および強化される前に、独自のインフラストラクチャで実行されます。データ スキーマと忠実度のこの違いにより、ゲートウェイ ルールが期待どおりに機能しない可能性があります。ゲートウェイ ルールを作成するときは、NRQL 定義を作成しながらこのドキュメントを参照して、ゲートウェイで異なる動作をする属性を変換または削除するようにしてください。これは、属性の名前が異なるか、属性がまったく存在しないことが原因である可能性があります。このドキュメントを使用して、ゲートウェイ ルール NRQL 定義で識別するために使用している属性を検索します。属性の名前が変更された場合は、元の属性の代わりに、名前が変更された属性を NRQL で使用します。属性が利用できない場合は、ゲートウェイ ルールの代わりにcloudルールを使用することを検討してください。 効果的なデータ処理を確実に行うには、次の操作を実行します。 - テーブルにリストされている削除できない属性をすべて保持します。- テーブル内のサンプル クエリを使用して、重要な属性の整合性を損なうことなくレコードを管理します。*/

データフローの概要

データソース

データはさまざまなソースから New Relic ゲートウェイに入ります。

データ形式

この受信データは、多数の属性を持つ複雑で多重ネストされた JSON として構造化されています。

処理段階

  • ゲートウェイ処理:初期データ処理はここで独自のインフラストラクチャ内で行われます。
  • エンリッチメント:ゲートウェイの後、追加の属性が追加され、一部の属性名が変更されます。
  • クラウド ルール処理: New Relic の環境で名前変更/強化された属性を持つデータを処理します。
  • 最終保存:データは最終的に New Relic データベース (NRDB) に保存されます。

ゲートウェイ ルールのNRQL記述に関する考慮事項

名前が変更された属性

エンリッチメント プロセス中 (ゲートウェイ後、 cloudルール前) に名前が変更される属性を使用している場合でも、心配する必要はありません。 New Relicこの処理を自動的に処理するため、 NRQL支払いはゲートウェイ レベルとcloudルール レベルの両方で正しく機能します。

追加された属性

一部の属性は、エンリッチメント プロセス中 (ゲートウェイの後、 cloudルールの前) にのみ追加されます。 これらの属性:

  • ****NRQLドロップcloud ルールの で使用 可能
  • ゲートウェイ ドロップ ルールの NRQL クエリでは使用できません(その時点では存在しないため)

ベストプラクティス

ゲートウェイ ルールを作成する場合、一部の属性はゲートウェイ レベルでは使用できない場合があることに注意してください。エンリッチメント中にのみ追加される属性を使用する必要がある場合は、ゲートウェイ ルールではなくcloudルールの使用を検討してください。

データ型と属性の処理

次の表にリストを示します。

  • NRQL を使用してドロップ ルールを作成できるデータ タイプ
  • ドロップルールがサポートされていないデータタイプ
  • ゲートウェイレベルでは利用できない属性
  • サポートされている各データ型のサンプルクエリ

データ型

ドロップルールはサポートされていますか?

ゲートウェイで利用できない属性

サンプルNRQLクエリ

トランザクション

はい

appId、appName、containerId、エンティティ.guid、 エンティティGuid、ホスト、realAgentId、トランザクションサブタイプ、トランザクションタイプ

DELETE priority FROM Transaction WHERE guid = 'c2906c2e8b9f11ff'

マイカスタムイベント

はい

appId、appName、containerId、entityGuid、host、realAgentId

DELETE myString FROM my_event_type WHERE myFloat = 0.603

エラートレース

はい

aggregateFacet、appId、appName、applicationIds、count、エンティティ.guid、 エンティティGuid、エラークラス、メッセージ、パス、例外クラス、フィンガープリント、ID、メッセージ、realAgentId、ストレージ ID、タイムスタンプ、トランザクション名、トランザクション UiName

DELETE FROM ErrorTrace WHERE traceId = 'b366efe772fa6d1c8e0852558026c40e'

TransactionError

はい

aggregateFacet、appId、appName、containerId、エンティティ.guid、 エンティティGuid、ホスト、realAgentId、トランザクションUiName

DELETE FROM TransactionError WHERE error.message = 'my expected error message'

ログ

はい

エンティティ.guids、メッセージID、newrelic.logPattern、newrelic.log.batchIndex、 ニューレリックソース

DELETE message FROM Log WHERE span.id = '8b583de97341d094'

メトリック

いいえ

appId、appName、エンティティ.guid、 エンティティGuid、言語、メトリック名、メトリックタイムスライス名、newrelic.timeslice.value、スコープ、タイムスタンプ

該当なし

スパン

はい

アプリID、アプリ名、コンテナID、期間.ms、エンティティ.guid、エンティティ名、entityGuid、ホストID、process.id、 リアルエージェントID、トレースID

DELETE FROM Span WHERE name = 'WebTransaction/Go/GET /log'

SQLトレース

いいえ

アプリケーションID、呼び出し回数、データベースメトリック名、エンティティ.guid、id、maxCallTime、minCallTime、パス、realAgentId、sql、sqlId、storageId、タイムスタンプ、totalCallTime、uri

該当なし

トランザクショントレース

いいえ

ストレージID、URI、パス、エージェント実行ID、アプリケーションID、期間、エンティティ.guid、guid、id、protocolVersion、realAgentId、タイムスタンプ

該当なし

メーター

はい

newrelic.source (メトリックAPI)、メトリック名:

{type, count, latest, max, min, sum}

DELETE FROM Metric WHERE metricName = 'redis_aof_rewrite_in_progress' AND value < 100

メトリクス/要約

はい

newrelic.source (メトリックAPI)、メトリック名:

{type, count, max, min, sum}

DELETE FROM Metric WHERE scrapedTargetKind = 'user_provided'

メトリックス/カウント

はい

newrelic.source (メトリックAPI)、メトリック名:

{type, count}

DELETE FROM Metric WHERE instrumentation.name = 'nri-prometheus'

SystemSample

はい

なし

DELETE agentName FROM SystemSample WHERE entityKey = 'vagrant'

StorageSample

はい

エンティティとマウントポイント

DELETE FROM StorageSample WHERE inodesUsed = 161604

NetworkSample

はい

エンティティとインターフェース

DELETE instanceType,inodesTotal NetworkSample WHERE entityKey = 'vagrant'

ProcessSample

はい

エンティティとPid

DELETE FROM ProcessSample WHERE entityKey = 'vagrant'

ContainerSample

はい

エンティティGuid、エンティティタイプ、エンティティId

DELETE FROM ContainerSample WHERE agentName='ContainerSampleAgent'