Nerdpack がまだ開発中で、他の人と共有する準備ができていない場合は、ローカルで提供します。 自分のマシンのリソースを使用しますが、公開された場合と同じように、New Relic プラットフォームで Nerdpack が表示されます。
CLIを更新する
コマンドを実行する前に、CLI の最新バージョンがインストールされていることを確認してください。
$nr1 update
Nerdpackを地元で提供する
Nerdpack のルート フォルダーで、 nerdpack:serve
コマンドを実行します。
$nr1 nerdpack:serve
Nerdpack が正常に提供された場合は、次のような成功出力が表示されます。
✔ Server ready! Test it at: https://one.newrelic.com/?nerdpacks=local↩ Server will reload automatically if you modify any file!
Nerdpack がローカルで提供されている間、サーバーはファイルが変更されたことを検出すると、Nerdpack を自動的に再読み込みします。 これにはメタデータ ファイルnr1.json
またはスタイル ファイルstyles.css
は含まれません。 これらのファイルを更新する場合は、 CTRL+C
を使用してローカル サーバーを停止し、 nr1 nerdpack:serve
を使用して再起動する必要があります。
https://one.newrelic.com/?nerdpacks=localにアクセスしてください。 New Relic では、ローカルで提供される Nerdpacks を読み込むために?nerdpacks=local
クエリ文字列が必要です。
one.newrelic.com > All capabilities > Appsに移動します。 New Relic アプリケーションを作成する場合でも、カスタム視覚化を作成する場合でも、プロジェクトはAppsにあります。
ランチャーと Nerdlet を備えた Nerdpack を提供している場合、ローカル アプリはYour apps:の下にあります。 視覚化を含む Nerdpack を提供する場合は、 Favorite apps > Custom Visualizationsに進みます。
ヒント
Custom Visualizations [カスタム視覚化]がお気に入りになっていない場合は、 Your apps [アプリ]の下にあります。
Custom Visualizations [カスタム視覚化]から、視覚化が表示されます。 アプリまたは視覚化のどちらに対して Nerdpack を提供する場合でも、UI タイルに</> Local
インジケーターが表示されます。 これを使用して、公開された Nerdpack とローカルで提供される Nerdpack を区別します。
Nerdpack をローカルで提供することを停止する準備ができたら、サーバーが実行されているターミナルにCTRL+C
と入力します。
ローカルNerdpackへのアクセスに関する問題を解決する
Nerdpack をローカルで提供すると、問題が発生する場合があります。 コードにバグがあるため、Nerdpack を提供できない可能性があります。 あるいは、Nerdpack を正常に提供できたとしても、New Relic で見つけることができない場合があります。 これらの問題を解決するための一般的な解決策をいくつか検討してください。
アプリケーションをデバッグする
Nerdpack をローカルで提供しようとするときは、 nr1
コマンドの出力を注意深く読んでください。 次のような成功出力が返される場合があります:
✔ Server ready! Test it at: https://one.newrelic.com/?nerdpacks=local↩ Server will reload automatically if you modify any file!
ただし、出力には Nerdpack のエラーが表示される場合があります。 より詳細な出力を表示するのにも役立つ場合があります。 詳細なコンテンツを表示するには、 --verbose
コマンドを使用します。
$nr1 nerdpack:serve --verbose
ローカルで提供されているNerdpacks を表示
New Relic で Nerdpack が見つからない場合は、 ?nerdpacks=local
クエリ文字列を使用していることを確認してください。 そうでない場合、New Relic はローカルで提供される Nerdpack をプラットフォームに読み込みません。
ローカルプロファイルを確認する
nr1
を使用すると、デフォルトの New Relic プロファイルを設定できます。 このプロファイルは、コマンドの--profile
オプションで特に指定しない限り、すべてのコマンドに使用されます。 nr1 nerdpack:serve
を使用して Nerdpack を提供する場合、ローカルで提供しているのと同じプロファイルで New Relic にサインインする必要があります。
したがって、 New Relicで Nerdpack が見つからず、正しいクエリ文字列を使用している場合は、ローカル プロファイルとbrowserで使用しているプロファイルを比較して、同じであることを確認してください。
プロキシbrowserアクセスする
通常、アプリケーション コードが New Relic にどのようにロードされるかを知る必要はありません。 しかし、その仕組みを理解することで、ローカル サーバーの問題を解決するのに役立ちます。
nr1 nerdpack:serve
を実行すると、コードは nr-local.net サブドメインを使用してローカル マシンによって提供されます。 このドメインは 127.0.0.1 を指しており、9973 を含むさまざまなポートを使用して接続します。
Nerdpack をプラットフォームにロードするために、それがローカルで提供されているか、 Instant of the のサード パーティカタログに公開されているかに関係なく、 New Relic <IFRAME>
と別のドメイン (nr-ext.net
のサブドメイン) を使用し、コードをサンドボックス化するために同じドメイン ポリシーに依存します。
したがって、 New Relicで Nerdpack が見つからない場合、正しいクエリ文字列を使用しており、正しいプロファイルを使用している場合は、ネットワーク アドミニストレーターが次のアクセスを有効にする必要がある可能性があります。
- nr-local.netのサブドメイン、 または、少なくとも、
<UserId>.nr-local.net
の形をした任意のドメインに、<UserId>
プラットフォームにログインしたユーザーに固有の 32 進数の文字識別子です。[0-9a-f]{32}
を使って区別することができます。 nr-ext.net
の任意のサブドメイン、または少なくとも<NerdpackUuid>.g <NerdpackGid>.nr-ext.net
の形をした任意のドメイン。ここで、<NerdpackUuid>
パッケージに割り当てられた UUID であり、<NerdpackGid>
はゼロまたは正の整数です。0|[1-9]\d+
を使って区別することができます。
参考文献
詳細については、 nr1 nerdpack:serve
ドキュメントをお読みください。 または、 nr1
ヘルプ ページを参照してください:
$nr1 nerdpack:serve --help