ユーザーが Nerdlet にアクセスする方法の 1 つは、ランチャーを作成することです。 ランチャーは、New Relic のApps [アプリ]ページから Nerdlet を開きます。 アカウント内のエンティティから Nerdlet へのアクセスを提供することもできます。
このガイドでは、Nerdlet をエンティティに接続する方法を学習します。
あなたが始める前に
まだ行っていない場合:
- New Relic アカウントにサインアップする
- New Relic One CLIをインストールして設定する
ナードパックを作成する
CLI を更新します:
$nr1 update
CLI を使用して Nerdpack を作成します。
$nr1 create --type nerdpack --name entity-nerdlet
この結果、 entity-nerdlet
と呼ばれる Nerdpack が作成されます。これは、 entity-nerdlet-launcher
と呼ばれるランチャーと、 entity-nerdlet-nerdlet
と呼ばれる Nerdlet で構成されます。
Nerdpack を提供します:
$cd entity-nerdlet$nr1 nerdpack:serve
https://one.newrelic.com/?nerdpacks=localにアクセスし、 Appsに移動します。
?nerdpacks=local
ローカルで提供される Nerdpacks を New Relic に読み込むには、これが必要です。
Your appsの下でランチャーをクリックして、New Relic アプリケーションを表示します。
Nerdletをエンティティに添付する
ランチャーから Nerdlet にアクセスする方法を説明しました。 次に、エンティティから Nerdlet にアクセスします。
Nerdpack のルートディレクトリ内から、 nerdlets/entity-nerdlet-nerdlet/nr1.json
を開きます。 これは Nerdlet のメタデータ ファイルです。 このファイルを使用して、Nerdlet をエンティティに添付します。
entities
配列を持つcontext
オブジェクトを追加します。
{ "schemaType": "NERDLET", "id": "entity-nerdlet-nerdlet", "displayName": "EntityNerdletNerdlet", "description": "", "context": { "entities": [] }}
これは、エンティティ コンテキストの配列で Nerdlet を表示することを New Relic に伝えます。
エンティティ コンテキストを追加します。
{ "schemaType": "NERDLET", "id": "entity-nerdlet-nerdlet", "displayName": "EntityNerdletNerdlet", "description": "", "context": { "entities": [ { "domain": "APM", "type": "APPLICATION" } ] }}
ここで、Nerdlet をAPMドメイン内のすべてのアプリケーションエンティティに接続しました。
APMに移動します。
Nerdpack をローカルで提供しているため、 ?nerdpacks=local
クエリ文字列を指定する必要があることに注意してください。
任意のアプリケーションを選択してください。
下にスクロールして、アプリケーションに添付された Nerdlet を確認します。
このメニュー オプションをクリックすると、ランチャーと同じように Nerdlet が表示されます。
設定する entities
Nerdlet のnr1.json
ファイル内のcontext.entities
キーは、Nerdlet をアタッチするエンティティを指定します。
エンティティを指定する domain
domain
を次のいずれかの値として指定して、Nerdlet を特定のエンティティ ドメインにアタッチします。
APM
:アプリケーションパフォーマンス監視BROWSER
:ブラウザINFRA
: インフラモニタリングMOBILE
:モバイル監視SYNTH
: 外形監視
たとえば、Nerdlet をAPM
ドメイン内のすべてのエンティティにアタッチします。
{ "context": { "entities": [{ "domain": "APM" }] }}
ドメイン内のエンティティを除くすべてのエンティティに Nerdlet をアタッチします。
{ "context": { "entities": [{ "domain": "!APM" }] }}
複数のドメイン内のすべてのエンティティに Nerdlet をアタッチします。
{ "context": { "entities": [{ "domain": "APM" }, { "domain": "BROWSER" }] }}
エンティティを指定する type
type
を次のいずれかの値として指定して、Nerdlet を特定のエンティティ タイプにアタッチします。
APPLICATION
HOST
MONITOR
たとえば、Nerdlet をAPPLICATION
タイプのエンティティすべてにアタッチします。
{ "context": { "entities": [{ "type": "APPLICATION" }] }}
指定されたタイプを除くすべてのエンティティに Nerdlet をアタッチします。
{ "context": { "entities": [{ "type": "!APPLICATION" }] }}
型の配列のいずれかに一致する型を持つすべてのエンティティに Nerdlet をアタッチします。
{ "context": { "entities": [{ "type": "APPLICATION" }, { "type": "MONITOR" }] }}
エンティティを指定 tags
指定されたタグを持つエンティティに Nerdlet を添付します。
たとえば、特定の GUID を持つエンティティに Nerdlet をアタッチします。
{ "context": { "entities": [ { "tags": [ { "key": "guid", "values": ["<SOME ENTITY GUID>"] } ] } ] }}
特定のaccountId
を持ち、 Python プログラミング言語を使用するすべてのエンティティに Nerdlet をアタッチします。
{ "context": { "entities": [ { "tags": [ { "key": "accountId", "values": ["<SOME ACCOUNT ID>"] }, { "key": "language", "values": ["python"] } ] } ] }}
フィルターを組み合わせる
Nerdlet を追加するエンティティをフィルタリングするときに、 domain
、 type
、 tags
を組み合わせることができます。
{ "context": { "entities": [ { "domain": "APM", "type": "APPLICATION", "tags": [ { "key": "language", "values": ["python"] } ] }, { "domain": "SYNTH", "type": "MONITOR" }, { "domain": "BROWSER" } ] }}
この例では、Nerdlet を次の場所に添付しました。
- メタデータタグが
python
言語を指定しているすべてのAPMアプリケーション - そしてすべての外形監視モニター
- そしてすべてのBrowserエンティティ