/* Pipeline Control cloudルールとゲートウェイ ルールは、同一のNRQL定義を使用している場合でも、互いに異なる動作をする場合があります。 テレメトリーデータがNew Relicによって受信されると、そのデータはcloudルールによって評価され、NRDB に保存される前に、複数の変換と強化が行われます。 ただし、ゲートウェイ ルールは、データが New Relic によって変換および強化される前に、独自のインフラストラクチャで実行されます。データ スキーマと忠実度のこの違いにより、ゲートウェイ ルールが期待どおりに機能しない可能性があります。ゲートウェイ ルールを作成するときは、NRQL 定義を作成しながらこのドキュメントを参照して、ゲートウェイで異なる動作をする属性を変換または削除するようにしてください。これは、属性の名前が異なるか、属性がまったく存在しないことが原因である可能性があります。このドキュメントを使用して、ゲートウェイ ルール NRQL 定義で識別するために使用している属性を検索します。属性の名前が変更された場合は、元の属性の代わりに、名前が変更された属性を NRQL で使用します。属性が利用できない場合は、ゲートウェイ ルールの代わりにcloudルールを使用することを検討してください。 効果的なデータ処理を確実に行うには、次の操作を実行します。 - テーブルにリストされている削除できない属性をすべて保持します。- テーブル内のサンプル クエリを使用して、重要な属性の整合性を損なうことなくレコードを管理します。*/
データフローの概要
データソース
データはさまざまなソースから New Relic ゲートウェイに入ります。
- APMエージェント
- インフラストラクチャー・エージェント
- メトリクスAPI
データ形式
この受信データは、多数の属性を持つ複雑で多重ネストされた 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、トランザクションサブタイプ、トランザクションタイプ |
|
マイカスタムイベント | はい | appId、appName、containerId、entityGuid、host、realAgentId |
|
エラートレース | はい | aggregateFacet、appId、appName、applicationIds、count、エンティティ.guid、 エンティティGuid、エラークラス、メッセージ、パス、例外クラス、フィンガープリント、ID、メッセージ、realAgentId、ストレージ ID、タイムスタンプ、トランザクション名、トランザクション UiName |
|
TransactionError | はい | aggregateFacet、appId、appName、containerId、エンティティ.guid、 エンティティGuid、ホスト、realAgentId、トランザクションUiName |
|
ログ | はい | エンティティ.guids、メッセージID、newrelic.logPattern、newrelic.log.batchIndex、 ニューレリックソース |
|
メトリック | いいえ | appId、appName、エンティティ.guid、 エンティティGuid、言語、メトリック名、メトリックタイムスライス名、newrelic.timeslice.value、スコープ、タイムスタンプ | 該当なし |
スパン | はい | アプリID、アプリ名、コンテナID、期間.ms、エンティティ.guid、エンティティ名、entityGuid、ホストID、process.id、 リアルエージェントID、トレースID |
|
SQLトレース | いいえ | アプリケーションID、呼び出し回数、データベースメトリック名、エンティティ.guid、id、maxCallTime、minCallTime、パス、realAgentId、sql、sqlId、storageId、タイムスタンプ、totalCallTime、uri | 該当なし |
トランザクショントレース | いいえ | ストレージID、URI、パス、エージェント実行ID、アプリケーションID、期間、エンティティ.guid、guid、id、protocolVersion、realAgentId、タイムスタンプ | 該当なし |
メーター | はい | newrelic.source (メトリックAPI)、メトリック名:
|
|
メトリクス/要約 | はい | newrelic.source (メトリックAPI)、メトリック名:
|
|
メトリックス/カウント | はい | newrelic.source (メトリックAPI)、メトリック名:
|
|
SystemSample | はい | なし |
|
StorageSample | はい | エンティティとマウントポイント |
|
NetworkSample | はい | エンティティとインターフェース |
|
ProcessSample | はい | エンティティとPid |
|
ContainerSample | はい | エンティティGuid、エンティティタイプ、エンティティId |
|