newrelic

New Relicのデプロイメント分析を使ってみた

はじめに

アプリケーションのデプロイメントの際、パフォーマンスがどの程度変化したのか確認したり履歴を記録したい場合があるかと思います。New Relicにはデプロイメント前後の変化を簡単に確認できる便利な機能があったので使ってみました。

使い方

1. New Relicにログイン

デプロイメント分析は、New Relic APMで対象のアプリケーション選択後、
左メニューにある「EVENTS」-> [Deployments]を選択すると確認することができます。

選択すると、最初は素っ気無い説明が表示され、言語によって使用方法の記述が
異なっていたり一見ハードルが高そうに見えます。が、実際はこれからご紹介する、REST APIを用いた方法を使用すればWeb画面だけで簡単に使用できますのでご安心を。

image.png

※注意点としては、このデプロイメント分析は有償のPRO機能なので、無償のLITEユーザはトライアル期間中に確認してみてください。

2. 確認したいアプリケーションIDの確認

まずデプロイメント分析したいアプリケーションIDを調べる必要があります。
アプリケーション名は、NewRelic APMの画面やAgetの設定ファイルから確認できますが、アプリケーションIDは、対象のアプリケーション名を選択した後に

APMでアプリケーション名を選択
image.png

ブラウザーURLに表示される以下赤線で囲まれた8桁の数字て確認することができます。

URLでアプリケーションIDを確認
image.png

https://rpm.newrelic.com/accounts/xxxxxxx/applications/12345678であれば、12345678が、アプリケーションIDになります。

3. API Exploreにログイン

デプロイメント分析するには、先ほど調べたアプリケーションIDをREST APIでPOSTする必要があります。いきなりハードルがあがりましたが安心してください。New RelicにはWebGUIでREST APIを実行できるAPI Exploreが用意されています。

New Relicにログインしてなければログイン

New Relic API Explore
image.png

ログインいたら、自分のAPI Keyを選択してください。

image.png

4. REST APIでデプロイメント

アプリケーションデプロイメントを作成するため、左メニューから[Application Deployments] -> [POST Create]を選択してください

image.png

後は必要に応じてパラメータ箇所を設定し、"Send Request"で完了です

Name 説明
API key API Exploreにログイン時に選択したAPI Keyが自動で入力されます
application_id 「2. 確認したいアプリケーションIDの確認」で調べたアプリケーションIDを入力します
deployment JSON Paylodに含めるパラメータを設定します。Revesionのみ必需項目でその他はオプションになります

image.png

5. デプロイメント分析の確認

先ほどまで殺風景だった「EVENTS」-> [Deployments]を見ると、REST APIでデプロイメントした数だけ記録されています。

image.png

各デプロイメント分析結果を見ると、各グラフ毎にデプロイした時間隊が灰色の縦棒で表示されるため、これでデプロイ前後の変化を簡単に確認することができました。

image.png

このデプロイメント分析では、Overviewにて下記グラフの比較と

  • Response time and throughput
  • CPU utilization
  • Apdex score
  • Physical memory utilization
  • Error rate
  • Database

Change reportでの比較が可能となります。

image.png

6. その他

今回はREST APIでのデプロイメント分析を紹介しましたが、言語によっては、CLI,Script,Capistrano, PowerShellなを使用することができます。ご興味ある方は、Record deploymentsのドキュメントもご参考ください。

最後に

デプロイメント前後だけでなく、以前紹介したStackStormと組み合わせる事で、様々なイベントをトリガーにしてパフォーマンスの変化を確認することが出来そうですね。