Golden metrics golden tagsは、そのエンティティにとって最も重要であると考えられるエンティティに関する情報です。 この情報を使用して、New Relic 全体のエンティティの簡単な概要を表示します。 この公開リポジトリでは、ゴールデンメトリックスとタグの標準的な定義を閲覧したり、貢献したりすることができます。
このドキュメントでは、 NerdGraph を使用して、エンティティのカスタムメトリクスを照会する方法を説明します。
ヒント
NerdGraph APIを使用してエンティティを照会する方法の詳細については、 our tutorial を参照してください。
ゴールデンメトリクスの取得
特定のGUIDまたはGUIDのリストのゴールデンメトリックをフェッチする場合、提供されたクエリは既にフィルタリングされています。結果のクエリは、クエリビルダーでそのまま実行できます。結果のメトリックは、 TIMESERIES
または単一の値のいずれかになります。
これは、GUID ENTITY_GUID
を使用したAWSDynamoDBテーブルエンティティの1つのゴールデンメトリッククエリの例です。
SELECT average(provider.getSuccessfulRequestLatency.Average)FROM DatastoreSampleWHERE entityGuid IN ('ENTITY_GUID') AND provider='DynamoDbTable'TIMESERIES
NerdGraphを使って、特定のエンティティのゴールデンメトリクスを照会することができます(例)。
{ actor { entity(guid: "ENTITY_GUID") { goldenMetrics { metrics { query title } } } }}
ゴールデンタグの取得
ゴールデンタグは、 guid
によって要求されたか、 entityType
によって要求されたかにかかわらず、常に同じ方法で表されます。エンティティに関して最も重要と見なされるタグキーのリストを常に受け取ります。
{ actor { entity(guid: "ENTITY_GUID") { goldenTags { tags { key } } } }}
ゴールデンメトリクスとゴールデンタグのカスタマイズ
環境の特性に応じてゴールデンメトリクスやゴールデンタグを変更したい場合は、アカウントまたはワークロードの2つの異なるコンテキストで上書きすることができます。
アカウント全体で特定のエンティティタイプのゴールデンメトリクスやゴールデンタグを上書きする
この場合、新しいゴールデンメトリックまたは新しいゴールデンタグがすべてのNew Relicに適用され、指定されたエンティティタイプのデフォルトとして新しいメトリックとタグが変換されます。
そのためには、NerdGraphのミューテーションを使って、特定のエンティティのゴールデンメトリクスをオーバーライドすることができます。
mutation { entityGoldenMetricsOverride( context: { account: ACCOUNT_TO_OVERRIDE_GOLDEN_METRICS } domainType: { domain: DOMAIN, type: TYPE } metrics: [ { eventId: EVENT_ID select: NRDB_QUERY_SELECT from: NRDB_QUERY_EVENT where: NRDB_QUERY_WHERE title: TITLE_OF_THE_METRIC facet: FACET name: NAME_OF_THE_METRIC } ] ) { errors { message type } metrics { context { account guid } domainType { domain type } metrics { definition { eventId facet from select where } name query title } } }}
どこ:
domainType
:上書きする指標のエンティティタイプ。context
:ゴールデンメトリックをフェッチするコンテキスト。この場合、上書きするアカウントを設定する必要があります。metrics
:新しいNRDBクエリはゴールデンメトリックとして表示されます。eventId
:メトリックでエンティティをフィルタリングするために使用されるフィールド。イベントでエンティティGUIDがどのように定義されているか。select
: NRDB クエリのSELECT
句。 このフィールドはrequired
です。
from
:NRDBクエリのFROM
句。where
: エンティティ タイプ フィールドを識別するための補完的なWHERE
句。facet
:FACET
へのフィールド。title
:ゴールデンメトリックのタイトル。このフィールドはオプションです。name
: ゴールデンメトリクスの名前。 このフィールドはrequired
です。
メトリック入力オブジェクトは、セクションに分割されたNRDBクエリの部分を定義します。これらのセクションの1つは、ゴールデンメトリックとして使用するNRDBイベント内のGUIDを定義するフィールドを識別するために使用されるeventId,
です。例えば:
SELECT average(provider.getSuccessfulRequestLatency.Average)FROM DatastoreSampleWHERE entityGuid IN ('EntityGuid') AND provider='DynamoDbTable'FACET entityName TIMESERIES
それは次のように定義されています。
{ eventId: "entityGuid", from: "DatastoreSample", where: "provider='DynamoDbTable'", facet: "entityName", select: "average(provider.getSuccessfulRequestLatency.Average)", name: GetItem latency (ms), title: GetItem latency (ms)}
結果のオブジェクトでわかるように、 where
句にはプロバイダーフィールドのみが含まれます。システムは、デフォルトでeventId
フィールドを含むwhere句を追加します。
このNerdGraphの突然変異を利用して、ゴールデンタグにも同じことができます。
mutation { entityGoldenTagsOverride( context: { account: ACCOUNT_ID } domainType: { domain: "APM", type: "APPLICATION" } tags: [{ key: "applicationName" }, { key: "environment" }] ) { errors { message type } tags { context { account } domainType { domain type } tags { key } } }}
ワークロード内の特定のエンティティタイプからのゴールデンメトリクスの上書き
New Relic のワークロード では、エンティティのグループに関するヘルスとパフォーマンスのデータを集約して表示します。ワークロード内の各エンティティタイプについて表示される時系列チャートは、ワークロードアカウントのゴールデンメトリクスによって定義されます。
特定のワークロードにおける特定のエンティティタイプについて、どの時系列を表示するかをさらにカスタマイズしたい場合は、以下の変異でアカウントのゴールデンメトリクスを上書きします。
mutation { entityGoldenMetricsOverride( context: { guid: WORKLOAD_TO_OVERRIDE_GOLDEN METRICS } domainType: { domain: DOMAIN, type: TYPE } metrics: [ { eventId: EVENT_ID select: NRDB_QUERY_SELECT from: NRDB_QUERY_EVENT where: NRDB_QUERY_WHERE title: TITLE_OF_THE_METRIC facet: FACET name: NAME_OF_THE_METRIC } ] ) { errors { message type } metrics { context { account guid } domainType { domain type } metrics { definition { eventId facet from select where } name query title } } }}
各フィールドの詳細については、上記を参照してください。この場合、 context
はワークロードのGUIDです。
カスタムゴールデンメトリクスとゴールデンタグの取得
前のセクションで定義したクエリは、常にデフォルトのゴールデン・メトリクスとゴールデン・タグを返します。カスタムのゴールデンメトリクスやゴールデンタグを取得したい場合は、例えば、クエリで定義したコンテキストを送信する必要があります。
{ actor { entity(guid: INFRA_AWSDYNAMODBTABLE_GUID) { goldenMetrics( context: { account: ACCOUNT_ID, guid: WORKLOAD_ENTITY_GUID } ) { metrics { title query name } } } }}
金色のタグに
{ actor { entity(guid: INFRA_AWSDYNAMODBTABLE_GUID) { goldenTags(context: { account: ACCOUNT_ID, guid: WORKLOAD_ENTITY_GUID }) { tags { key } } } }}
メトリクスやタグがワークロード内のコンテキストを持っている場合は、両方のコンテキストを同時に送信して問い合わせを行うことができます。APIは、リクエストで定義したコンテキストに基づいて、最も具体的なゴールデンメトリックまたはゴールデンタグを返します。優先順位は、ワークロードとアカウントです。
カスタムメトリクスとゴールデンタグのリセット
カスタマイズしたゴールデンメトリクスが自分にとって意味のないものになった場合、New Relic が定義したデフォルト値に戻すことができます。コンテキストパラメーターに、目的のアカウントまたはワークロードの guid を設定します (guid パラメーター内)。
アカウントのゴールデンメトリクスを復元するには、次のクエリを実行します。
mutation { entityGoldenMetricsReset( context: { guid: ACCOUNT_TO_OVERRIDE_GOLDEN_METRICS } domainType: { domain: DOMAIN, type: TYPE } ) { errors { message type } metrics { context { account guid } domainType { domain type } metrics { definition { eventId facet from select where } name query title } } }}
どこ:
domainType
:上書きする指標のエンティティタイプ。context
:ゴールデンメトリックをフェッチするコンテキスト。この場合、リセットするアカウントを設定する必要があります。
ワークロードのゴールデンメトリクスを復元するには、次のクエリを実行します。
mutation { entityGoldenMetricsReset( context: { guid: GUID_TO_OVERRIDE_GOLDEN_METRICS } domainType: { domain: DOMAIN, type: TYPE } ) { errors { message type } metrics { context { account guid } domainType { domain type } metrics { definition { eventId facet from select where } name query title } } }}
カスタムゴールデンタグにも同様のことができます。
mutation { entityGoldenTagsReset( context: { guid: WORKLOAD_ENTITY_GUID } domainType: { domain: "APM", type: "APPLICATION" } ) { errors { message type } tags { context { account guid } domainType { domain type } tags { key } } }}
想定されたエラー
これらの変異はすべて、操作の結果またはエラーのリストで答えることができます。
これらはすべて、あなたが受け取ることのできる予想されるエラーです。
INVALID_CONTEXT
:コンテキストが無効です。コンテキストは、アカウントまたはワークロードのGUIDの1つのみにすることができます。両方を使用するか、他の概念を使用するか、ワークロードに属していないGUIDを使用すると、このエラーが発生します。INVALID_DOMAIN_TYPE
:ドメインタイプが無効です。LIMIT_EXCEEDED
:メトリックの最大量は9です。この制限を超えると、このエラーが発生します。NOT_AUTHORIZED
:ユーザーには、このアクションを実行するための権限がありません。