属性は、イベントまたはトランザクションのプロパティを決定する情報を含むキーと値のペアです。これらのキーと値のペアは、UIのいくつかの場所で確認するか、NRQLを使用してそのデータをクエリすることで確認できます。New Relicには、それぞれの属性を指定した宛先に正確に送信するようにカスタマイズできる機能があります。
カスタムアトリビュートを収集して、New Relicに追加データを送信することもできます。
属性の宛先フロー
次の図に、エージェントが属性をそれぞれの宛先に送信する方法をどのように決定しているかを示します。
Agent attribute collection: エージェントは、属性を New Relic の宛先に送信するときに、関連するプロパティ設定に基づいて 3 つの異なる決定を行います。 プロパティ名と構文はエージェントによって異なります。 (この図のプロパティは PHP エージェントに固有のものですが、一般的なフローはすべてのエージェントで同じです。 プロパティ名と構文はエージェントによって異なります。)
属性のタイプ
属性は、以下のようなさまざまな方法で収集できます。
Message property attributes:
これらは、キューまたはトピックから受信したメッセージに設定されるプロパティです。
HTTP request attributes:
これらは HTTP リクエストの課題です。
User attributes:
これらは、各エージェントの API を通じてユーザーによって提供される属性です。
Agent attributes:
これらはエージェントによってキャプチャされた属性です。たとえば、
http.statusCode
やhttpResponseMessage
です。
属性の宛先
収集された属性は、以下の場所に表示されます。
Collected attributes | Location |
---|---|
トランザクショントレースは、最も遅い個別のHTTP要求のデータを毎分収集します。これらのトレースは、トランザクション中に収集された属性をレポートします。 | |
トランザクションでエラーが発生すると、トレースされたエラーがAPMにレポートされます。トレースされたエラーには、トランザクション中に収集された属性が含まれます。 | |
APMトランザクションには、トランザクション中に収集された属性が含まれます。 | |
ブラウザモニタリングイベントには、トランザクション中に収集された属性が含まれます。ただし、トランザクションの最後に収集された属性は、 | |
ディストリビューティッド(分散)トレーシングに対して収集されたスパンイベントには、スパン中に収集された属性が含まれます。 Spanイベントへのカスタムユーザー属性の追加をサポートするエージェントは、次のとおりです。 | |
トランザクショントレースの各セグメントには、そのセグメントに対して記録された属性が含まれます。 |
要求属性の表示
要求属性は、APMとダッシュボード内の特定のトランザクショントレース、ブラウザトレース、およびエラーに関連付けられています。個々のトレースまたはエラーを参照する際に、要求とともに記録されている属性を確認できます。カスタムアトリビュートは他のすべての属性とまったく同様にNRQLによってクエリを実行できます。
one.newrelic.com > All capabilities > APM & services > (select an app) > Monitoring > Transactions > (select a transaction) > (select a trace): 以下は、段階トレースのRequest attributesとCustom attributesの Ruby エージェントの例です。 正確な属性は、エージェントとプロパティ設定によって異なります。
制限
ユーザー属性、要求属性、およびメッセージキューのパラメーターは、カウントとサイズによって制限されます。
Parameter | Limitations |
---|---|
トランザクション | 64のユーザー属性に制限 |
属性キー | それぞれ256バイトに制限 キーが256バイトを超えると、属性は記録されなくなります。 |
属性値 | それぞれ256バイトに制限 値が256バイトを超えると、属性値は切り詰められます。 |
エージェント固有の属性
各APMエージェントは、カスタムアトリビュートを収集します。サポートされている属性は、エージェントによって異なります。