• ログイン

New Relicエンティティの詳細

New Relicオブザーバビリティは、エンティティのコンセプトを中心に構築されています。このドキュメントでは、エンティティの定義方法、エンティティを使用して何ができるか、エンティティまたはエンティティのグループを作成する方法について説明します。

エンティティとは?

New Relicでは、エンティティを意図的に幅広いコンセプトとして捉えています。エンティティとは、a) データをNew Relicに報告するもの、または当社がアクセスできるデータを含むあらゆるもの、b) 一意のエンティティIDで識別されたものです。ほとんどのエンティティでは、IDは属性entityGuidで示されます。

エンティティは、アプリケーション、ホスト、データベースサービスなどの基本的なデータを報告するコンポーネントを指しますが、これらのコンポーネントのより大きなグループを指すこともあります。たとえば、データセンターを監視するには、このようなホストをNew Relicに集計し、ワークロード(エンティティのカスタムグループ)にすることができます。このワークロード自体もまたエンティティです。

また、エンティティ間の関係も非常に重要です。当社の背後にある関係マッピングは、エンティティがどのように接続されているか、どのように相互に影響するかを理解するのに役立ちます。これにより、お持ちのデータが既存のエンティティとどのように関連しているか、または他のエンティティとどのように関連しているかを設定できます。

当社の目標は、お客様のビジネス上重要なエンティティに関する実用的な情報を提供することであり、監視対象の膨大なリストから膨大な量のデータを提供するものではないため、エンティティとその関係に焦点を当てることは重要です。エンティティレベルでより多くの洞察を得ることにより、複雑な最新のシステム監視とトラブルシューティングを改善できます。

エンティティとエンティティデータの検索と探索

ヒント

新規エンティティタイプを作成し、データソースをモニタリングできます。エンティティの統合の詳細を参照してください。

エンティティデータの検索と理解に役立つヒント:

  • エンティティのentityGuidentityName、およびその他のメタデータを検索するには:New Relic Explorerで監視対象のエンティティのリストから、エンティティの

    アイコンをクリックし、See metadata and tagsをクリックします。

  • ほとんどのエンティティでは、そのGUIDは属性entityGuidとしてレポートされます。ワークロードでは、workloadGuidです。NRQLクエリを実行して、そのGUIDでエンティティを検索できます。

  • エンティティ間の接続を表示するには、いくつかのオプションがあります。

  • エンティティをグループ化するには、エンティティのグループ化を参照してください。

  • エンティティの定義と関係をカスタマイズします。

  • エンティティタイプに関する技術的な詳細については、GitHubレポを参照してください。エンティティタイプのdefinitionファイルには、次のような情報が表示されます。

    • domain:たとえば、APM、またはInfra
    • type:たとえば、ApplicationまたはAWSECSCONTAINERINSTANCE
    • デフォルトのタグ
    • entityExpirationTime:そのエンティティからのデータがUIで存続する期間。これはデータベースのデータ保持期間とは異なります。

エンティティをグループ化および整理する

エンティティをグループ化して、組織でビジネス上重要な関係を反映させることができます。たとえば、特定のチームまたは部署、あるいは特定のサービスに関連したすべてのエンティティをグループ化できます。あるいは、複数のホストをまとめて、そのグループ化をデータセンターに反映させることもできます。

エンティティをグループ化するには、以下を参照してください。

エンティティ合成によるエンティティデータのカスタマイズ

New Relicがサポートしていないソースからのテレメトリをすぐに利用できる場合は、そのマッピングを提案できます。承認されると、New Relicが受信するテレメトリのうち、定義ファイルと一致するものがエンティティに合成されます。

詳細について:

  • 予約属性およびエンティティの関係の定義方法については、このドキュメントを参照してください。
  • 既存のエンティティタイプの変更や新規エンティティタイプの作成方法については、エンティティ合成に関する当社のGitHubレポを参照してください。

合成されたエンティティの予約済み属性

これらの属性は、受信するテレメトリから合成することを意図しています。これらは、影響や結果を把握していない限り、設定しないでください

属性

説明

entity.guid

通常、この属性フィールドをテレメトリデータに設定しないでください。New Relicでは、データポイントに関連付けられたエンティティの一意の識別子を格納するためにこのフィールドを取り込んだデータに追加する場合があります。すでに存在するentity.guid属性がテレメトリーに付随している場合、New Relicでは値を変更しません。ただし、UIでエンティティが見つからない場合や、テレメトリが予期されるエンティティに関連付けられていない場合など、定義されていない動作が引き起こされる可能性があります。

この属性を渡す1つのユースケースは、取り込んだテレメトリを、New Relicによってすでに作成されたエンティティに関連付ける方法です。entity.guid属性が送信されると、その値によってNew Relicのエンティティ識別システム(エンティティ合成定義など)が上書きされ、代わりにその属性がデータとして使用されます。

entity.name

この属性は、New Relicのエンティティ識別システムによって選択されたエンティティ名を上書きしようとしない限り、取り込んだテレメトリデータに配置しないでください。New Relicでは、すでにデータ上に存在する値は変更しませんが、データに属性を追加する場合があります。したがって、UIでエンティティが見つからない場合や、テレメトリが予期されるエンティティに関連付けられていない場合など、無効な値または予期しない値が原因で、定義されていない動作が引き起こされる可能性があります。

取り込んだテレメトリにこのフィールドが存在する場合、その値を使用して、データポイントに関連付けられたエンティティに名前が付けられます。この名前は、New Relicのエンティティ識別システムによって選択された名前の代わりに使用されます(エンティティ合成定義など)。多くのエンティティは識別の一部として名前を使用しているため、このフィールドを変更すると、新しいエンティティが生成される可能性があります。

entity.type

この属性は、エンティティタイプを区別する必要がある特定のレガシーケースを除き、取り込んだテレメトリデータには配置しないでください。このフィールドを渡すと、特に、このフィールドに認識できない値が送信される場合、エンティティの検出と干渉する可能性があります。

New Relicでは、この値がデータにすでに存在している場合、この値を変更しませんが、クエリ時にこのフィールドがテレメトリの明確なフィルタリングを提供する保証はありません。既存のエンティティ定義にはすでに重複した値があるため、テレメトリークエリをフィルタリングするためにその他のフィールドを優先してentity.typeを避けることをお勧めします。

このフィールドはNew Relicによって使用されます。つまり、UIでエンティティが見つからない場合や、テレメトリが予期されるエンティティに関連付けられていない場合など、無効な値または予期しない値が原因で、定義されていない動作が引き起こされる可能性があります。

既存のエンティティタイプの変更や新規エンティティタイプの作成方法については、エンティティ合成に関する当社のGitHubレポを参照してください。

エンティティ間の接続は、テレメトリーから推測可能なものに基づき、New Relicが自動的に作成します。たとえば、HTTPを使用して通信する2つのサービスがNew Relicでインストゥルメントされる場合、それらの間で「呼び出し/呼び出され」関係を推定します。

New Relicエクスプローラー、Navigator、Lookoutのいずれかで特定のエンティティを表示する場合は、エンティティの簡単な概要で関連エンティティを表示できます。現在のエンティティに直接接続しているさまざまなエンティティを表示するものです。スタックのすべての接続された部分を通じて、これらの関連エンティティの重要なメトリクスを迅速に表示し、1つのエンティティから別のエンティティに移動できます。

ヒント

NerdGraph APIを使用して、エンティティの関係の詳細を把握してください。

関係が自動的に検知されない場合、関連エンティティにある「関連エンティティを追加/編集」リンクを使用して、手作業で作成できます。

重要

現在、サービスエンティティ間の呼び出し/呼び出され関係のみ、手作業で作成できます。

ヒント

手作業で関係を管理するには、エンティティ関係で変更および削除機能がある必要があります。関係の編集ボタンが表示されない場合は、アカウント管理者に連絡してください。

作成される関係

エンティティ間で作成される関係は次のとおりです。

関係の手動作成

GraphQL APIであるNerdGraphを使用して、追加の関係を作成できます。

関係は、ミューテーションentityRelationshipUserDefinedCreateOrReplaceを使用して作成または置換できます。その名前が示すように、指定したタイプの2つのエンティティ間に関係を作成できます。2つのエンティティ間に関係がすでに存在する場合、更新された指定値(作成時刻と作成者ユーザーID)が再度追加されます。

mutation {
entityRelationshipUserDefinedCreateOrReplace(
sourceEntityGuid: "{SourceEntityGuid}"
targetEntityGuid: "{TargetEntityGuid}"
type: BUILT_FROM
) {
errors {
message
type
}
}
}

ミューテーションentityRelationshipUserDefinedDeleteを使用して関係を削除します。sourcetargetは必須ですが、typeは必須ではありません。ミューテーションがtypeなしで実行される場合、2つのエンティティ間のすべての関係は削除されます。

mutation {
entityRelationshipUserDefinedDelete(
sourceEntityGuid: "{SourceEntityGuid}"
targetEntityGuid: "{TargetEntityGuid}"
type: BUILT_FROM
) {
errors {
message
type
}
}
}

関係の取得については、関係APIのチュートリアルを参照してください。

考慮事項

  • 2つのエンティティは、関係タイプごとに1つずつ、複数の関係を持つことができます。
  • 同じ信頼できるアカウントに属している場合、2つのエンティティは関係を保持できます。
  • 各エンティティに対して、最大2000の関係を手動で定義できます。制限に達すると、APIはLIMIT_EXCEEDEDエラーを返します。
  • 2つのエンティティ(ソース/ターゲット)のいずれにもアクセスできない場合、各ミューテーションは失敗する可能性があります。

関係タイプは、2つのエンティティがどのように関係しているかについての追加情報を提供します。サポートされている関係タイプは次のとおりです。

Copyright © 2023 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.