New Relicオブザーバビリティは、entities のコンセプトを中心に構築されています。このドキュメントでは、エンティティの定義方法、エンティティを使用して何ができるか、エンティティまたはエンティティのグループを作成する方法について説明します。
ヒント
New Relicプラットフォームの入門ツアーをご希望ですか? プラットフォームを理解するを参照してください。
エンティティとは?
New Relicでは、entityを意図的に幅広いコンセプトとして捉えています。エンティティとは、a) データをNew Relicに報告するもの、または当社がアクセスできるデータを含むあらゆるもの、b) 一意のエンティティIDで識別されたものです。ほとんどのエンティティでは、IDは属性entityGuid
で示されます。
エンティティは、アプリケーション、ホスト、データベースサービスなどの基本的なデータを報告するコンポーネントを指しますが、これらのコンポーネントのより大きなグループを指すこともあります。たとえば、データセンターを監視するには、このようなホストをNew Relicに集計し、ワークロード(エンティティのカスタムグループ)にすることができます。このワークロード自体もまたエンティティです。独自のエンティティを作成する機能があります。
また、エンティティ間の関係も非常に重要です。当社の背後にある関係マッピングは、エンティティがどのように接続されているか、どのように相互に影響するかを理解するのに役立ちます。これにより、お持ちのデータが既存のエンティティとどのように関連しているか、または他のエンティティとどのように関連しているかを設定できます。
当社の目標は、practical information about your business-important entitiesを提供することであり、監視対象のサービスやシステムの膨大なリストから膨大な量のデータを提供するのではなく、エンティティとその関係に焦点を当てることが重要です。エンティティレベルでより多くの洞察を得ることにより、複雑な最新のシステム監視とトラブルシューティングを改善できます。
one.newrelic.com:New Relicを開くと、All entities ページが表示され、監視対象のエンティティの概要が表示されます。このページから、エンティティのメタデータを表示したり、エンティティをクリックしてパフォーマンスの詳細を確認したりできます。
エンティティのフィルタリングと探索
エンティティフィルターバーは、メインエンティティリストビュー、APM、UI、Infrastructure UIなどを含む、多くのNew Relic UIページで使用できます。フィルターバーを使用してエンティティを検索し、役立つフィルターを保存する方法については、エンティティのフィルターを参照してください。
エンティティの詳細
UIでエンティティのGUID、およびその他のメタデータを検索するには:エンティティのリストから、エンティティのアイコンをクリックし、See metadata & tags をクリックします。
すべてのエンティティにはNew Relic固有のID番号があり、属性entityGuid
として報告されます。GUIDを使用してエンティティのNRQLクエリを実行できます。
エンティティ間の関係に関する詳細
監視対象エンティティ間の関係を理解するためのオプションをいくつか示します。
- UIでエンティティを表示する場合は、Related entities UIを使用します。
- サービスマップを使用すると、接続を視覚的に表示できます。
- ディストリビューティッド(分散)トレーシングを使用して、エンティティがトランザクション内でどのように相互呼び出しを行うかを確認します。
- NerdGraph APIを使用して、関係情報を表示します。
エンティティに関する技術的な詳細
エンティティタイプに関する技術的な詳細については、エンティティタイプのGitHubリポジトリを参照してください。たとえば、APMが監視するエンティティの詳細については、APMアプリケーションを参照してください。
各エンティティには、データのレポート方法を管理する複数のファイルが含まれています。たとえば、golden_metrics
ファイルには通常、UIエクスペリエンスで強調表示される、最も重要なメトリクスに関する情報が含まれています。これは、APM監視対象エンティティのgolden_metrics.yml
ファイルです。
エンティティのdefinition
ファイルには、次のような情報が含まれています。
domain
:たとえば、APM
、またはInfra
。type
:たとえば、Application
またはAWSECSCONTAINERINSTANCE
。- デフォルトのタグ。
entityExpirationTime
:詳細については、エンティティの有効期限を参照してください。
エンティティの有効期限
エンティティタイプに応じて存続期間が異なり、各エンティティタイプのdefinition
ファイルに設定されているentityExpirationTime
によって決定されます。エンティティがデータの報告を停止すると、この有効期限によりそのエンティティのレコードがNew Relicに存在する期間が制御されます。
New Relicは膨大な数のエンティティを監視しますが、それらのエンティティの多く(Kubernetesコンテナなど)は存続期間が短くなります。これらの理由から、データの報告を停止したエンティティレコードを、定期的に削除する必要があります。
この有効期限はエンティティ自体のレコードに関連し、テレメトリーデータには関連しません。別の言い方をすれば、監視対象のエンティティによって報告されたテレメトリーデータは、データ保持設定に応じてNRDBで検索でき、NRQLを介して利用できます。しかし、エンティティ自体のレコードは、有効期限が切れると、New Relicには存在しなくなります。
エンティティの有効期限のオプションは次のとおりです。
FOUR_HOURS
DAILY
(24時間)EIGHT_DAYS
:definition
ファイルに期限が定義されていない場合はデフォルト値が適用されます。QUARTERLY
(3か月)MANUAL
:この設定は、作成と削除が手動で制御されているエンティティ(ワークロードやダッシュボードなど)にのみ適用されます。
エンティティをグループ化および整理する
エンティティをグループ化して、組織でビジネス上重要な関係を反映させることができます。たとえば、特定のチームまたは部署、あるいは特定のサービスに関連したすべてのエンティティをグループ化できます。あるいは、複数のホストをまとめて、そのグループ化をデータセンターに反映させることもできます。
エンティティをグループ化するには、以下を参照してください。
- エンティティにタグを付けます。
- ワークロードを作成し、ビジネス上重要なエンティティのセットをグループ化できます。
- エンティティを作成し、エンティティデータをカスタマイズ
エンティティ合成による独自のエンティティの作成と管理
New Relicがサポートしていないソースからのテレメトリをすぐに利用できる場合は、そのマッピングを提案できます。承認されると、New Relicが受信するテレメトリのうち、定義ファイルと一致するものがエンティティに合成されます。
詳細について:
- 予約属性およびエンティティの関係の定義方法については、このドキュメントを参照してください。
- 既存のエンティティタイプの変更や新規エンティティタイプの作成方法については、エンティティ合成に関する当社のGitHubレポを参照してください。
合成されたエンティティの予約済み属性
これらの属性は、受信するテレメトリから合成することを意図しています。これらは、影響や結果を把握していない限り、設定しないでください。
属性 | 説明 |
---|---|
| 通常、この属性フィールドをテレメトリデータに設定しないでください。New Relicでは、データポイントに関連付けられたエンティティの一意の識別子を格納するためにこのフィールドを取り込んだデータに追加する場合があります。すでに存在する この属性を渡す1つのユースケースは、取り込んだテレメトリーを、すでに監視しているエンティティに関連付けることです。 |
| この属性は、エンティティ識別システムによって選択されたエンティティ名を上書きしようとしない限り、取り込んだテレメトリーデータに配置しないでください。すでにデータ上に存在する値は変更しませんが、属性をデータに追加する場合があります。したがって、UIでエンティティが見つからない場合や、テレメトリが予期されるエンティティに関連付けられていない場合など、無効な値または予期しない値が原因で、定義されていない動作が引き起こされる可能性があります。 取り込んだテレメトリにこのフィールドが存在する場合、その値を使用して、データポイントに関連付けられたエンティティに名前が付けられます。この名前は、エンティティ識別システムによって選択された名前の代わりに使用されます(エンティティ合成定義など)。多くのエンティティは識別の一部として名前を使用しているため、このフィールドを変更すると、新しいエンティティが生成される可能性があります。 |
| この属性は、エンティティタイプを区別する必要がある特定のレガシーケースを除き、取り込んだテレメトリデータには配置しないでください。このフィールドを渡すと、特に、このフィールドに認識できない値が送信される場合、エンティティの検出と干渉する可能性があります。 New Relicでは、この値がデータにすでに存在している場合、この値を変更しませんが、クエリ時にこのフィールドがテレメトリの明確なフィルタリングを提供する保証はありません。既存のエンティティ定義にはすでに重複した値があるため、テレメトリークエリをフィルタリングするためにその他のフィールドを優先して このフィールドはNew Relicによって使用されます。つまり、UIでエンティティが見つからない場合や、テレメトリが予期されるエンティティに関連付けられていない場合など、無効な値または予期しない値が原因で、定義されていない動作が引き起こされる可能性があります。 |
既存のエンティティタイプの変更や新規エンティティタイプの作成方法については、エンティティ合成に関する当社のGitHubレポを参照してください。
インストゥルメントされていないエンティティ
テレメトリーを使用して、現在インストゥルメントされていないが、アプリケーションで使用されているエンティティを検出できます。たとえば、インストゥルメントされたエンティティの1つが、Amazon RDSデータベースを呼び出している可能性があります。これは現在New Relicでインストゥルメントされていないため、監視やアラートなどのツールを提供できません。
その場合、当社は、インストゥルメントされたエンティティとの関係とともに、いわゆる「インストゥルメントされていないエンティティ」を作成します。インストゥルメントされたエンティティのサービスマップに表示されます。エンティティをクリックするだけで表示される、インストゥルメント化する明確な指示を提供します。
エンティティ関係
エンティティ間の接続は、テレメトリーから推測可能なものに基づき、New Relicが自動的に作成します。たとえば、HTTPを使用して通信する2つのサービスがNew Relicでインストゥルメントされる場合、それらの間で「呼び出し/呼び出され」関係を推定します。
エンティティエクスプローラー、Navigator、Lookoutビューでエンティティを表示すると、右側のペインに各Related entitiesを表示できます。現在のエンティティに直接接続しているさまざまなエンティティを表示するものです。スタックのすべての接続された部分を通じて、これらの関連エンティティの重要なメトリクスを迅速に表示し、1つのエンティティから別のエンティティに移動できます。
ヒント
NerdGraph APIを使用して、エンティティの関係をさらに詳しく説明します。
エンティティ関係のタイプ
さまざまな方法でエンティティを相互に関連付けることができます。以下のコラプサーは、サポート対象のエンティティ関係を示しています。可能な関係を理解したら、自動作成された関係のリストを参照するか、カスタムエンティティ関係を作成するかどうかを検討します。
どの関係が自動作成されますか?
自動関係は、エンティティによって報告されているテレメトリーに基づいて作成されます。これらの関係には、生存時間(TTL)があります。つまり、関係の作成に使用されるメトリクスが一定期間内に報告されない場合、自動的に削除されます。関係のデフォルトのTTLは75分です。TTLは関係のタイプに応じて10分から最大3日間まで変動します。
エンティティ間で自動作成される関係は次のとおりです。
カスタムエンティティ関係の作成
関係が自動的に検知されない場合は、NerdGraph APIを使用して手動で作成するか、New Relic UIで Related entitiesのAdd/edit related entitiesリンクを使用して作成できます。現在、サービスエンティティ間の呼び出し/呼び出され関係のみ、手作業で作成できます。
ヒント
手作業で関係を管理するには、エンティティ関係で変更および削除機能がある必要があります。関係の編集ボタンが表示されない場合は、アカウント管理者に連絡してください。