NRflexheroimage

概要


本ブログでは、ファーストステップガイドとして New Relic APM エージェントのインストール方法をご紹介いたします。
APM を導入をすることにしたが具体的な導入方法がよくわからない方、実施前に導入作業の流れなどをご確認されたい方はご参照ください。
本内容をご確認いただき、まずはテスト環境やステージング環境にて導入テストをお試しください。
また、New Relic アカウントをお持ちでない場合は これからはじめるNew Relicライフ! 無料でアカウントを開設しよう! をご覧ください。

New Relic APM ( application performance monitoring ) とは


アプリケーションが稼働するサーバに 言語別の APM エージェントをインストールすることでアプリのパフォーマンスデータを収集します。
対応言語は、.NET, Golang, Java, Node.js, PHP, Python, Ruby で、各言語の代表的なフレームワークをサポートしています。
APM エージェントは、アプリケーションプロセス内で稼働し、トランザクションの内部処理を追跡 (トレース) します。自社で開発したアプリケーションに組み込むことはもちろん、既存の OSS などの実行環境に導入して、アプリケーションのソースコードに手を入れることなくパフォーマンスデータを収集することも可能です。
また、APM エージェントは収集したデータを NRDB に送信するので、アウトバウンド通信を制限されている場合は New Relic platform との通信を許可する必要があります。

導入の流れ


New Relic APM では、複数の言語およびそのフレームワークに対応しております。
各言語でインストール方法に多少の違いがありますが、どの言語でもおおよそ以下の流れとなります。

  1. システム要件を確認 (ドキュメントに言語ごとに記載がございます)
  2. New Relic platform の インストールランチャページの案内に沿ってサーバに APM エージェントをインストール
  3. 必要に応じて、追加設定を実施
    (言語やフレームワークによってはアプリ側で変数調整が必要な場合があります)
  4. アプリケーションを再起動し、トランザクションを発生させる
  5. New Relic platform にて収集されたデータを確認

またデータ収集されないなど問題があった場合はドキュメントの言語ごとのトラブルシューティングを確認します。

インストールの実施例

ここでは Ruby on Rails アプリに対し、APM Ruby エージェントのインストールを具体例としてご紹介いたします。
Rails の場合は特に追加設定などありませんので New Relic platform のインストールランチャページに従って導入を行います。

また、冗長化されている場合は全サーバで導入を行う必要があります。まずは 1台目にてエラーなく実施できるかを確認いただき、2台目以降も同じ手順で実施します。

Rails アプリに APM エージェントをインストール

本操作で表示されるインストールランチャページ上の操作は導入コマンドや config ファイルの表示のみとなりますので、コンソール上での操作はやり直すことが可能です。
実際に APM エージェントをサーバサイドでインストールする操作が影響を及ぼすものとなります。インストール後にやり直しをされる場合などは、ドキュメントのアンインストール方法をご参照の上、実施ください。

step 1: インストールランチャページへ

New Relic platform にログインし、APM & Services ページに遷移します。
APM が導入されていない場合は 下記のように導入を促す内容が表示されます。
中央の "Add an app or service" か 右上の "+Add data" からインストールランチャページに遷移します。

step 2: 対象を選択

Add Data ページに遷移後、"Application monitoring” を選択し、Data sources で ”Ruby" を選択します。

step 3: アプリ名を入力

本ブログでは "FirstStepRails" と入力します。(皆様のアプリ名を入力ください)
ここで入力した名前は、後続で表示される config ファイルに利用され、今後 New Relic platform 上で表示される名前となります。また、config を編集することで名前の変更が可能です。
名前入力後、"Save" ボタンで次に進みます。

step 4: APM エージェントをインストール

アプリケーションが稼働するサーバにて APM エージェントをインストールするためのコマンドが表示されます。表示されたコマンドにてインストールを実施します。

Ruby の場合は Bundler を利用している場合、していない場合で、gem インストールコマンドが異なるので各環境に合わせて選択します。

FirstStepRails アプリでは Bundler を利用しているので、"Yes, I'm using Bundler" を選択。
表示されたインストールコマンドをサーバサイドで実行します。

  1. Rails アプリが稼働しているサーバの Gemfile に追記
  2. bundle install コマンドを実行し、アプリ環境に gem をインストール

各アプリの開発または運用方針に合わせて bundle config など実施ください。
インストール後は、下部の "Continue" を押下し、次に進みます。

 

step 5: APM 用の config 作成と再起動

Ruby APM エージェント用の config ファイルをサーバに配置します。

先ほど入力したアプリ名とユーザライセンスが記載された newrelic.yml ファイルが自動作成されます。
"Download" ボタンで取得し、サーバに転送、アプリケーションの config/ ディレクトリ配下に配置します。
または、config 内容をコピーし newrelic.yml ファイルを手動で作成し、ペーストいただいても構いません。
ファイルのオーナーやパーミッションは、アプリ用の config ファイルと合わせます。

newrelic.yml を配置したら、アプリケーションのリスタートを実施します。
(各アプリケーションに合わせたリスタートを実施ください)
リスタート後から アプリケーションのパフォーマンス情報が New Relic に収集されます。

また、APM エージェントのログがデフォルトの場合は info レベルで下記ファイルに出力されます。
{アプリパス}/log/newrelic_agent.log

この操作で APM エージェントインストールの実作業は完了となります。
残りのステップでは、連携エージェントのインストールやデータ受信確認となります。 

step 6: 連携エージェントのインストール

APM エージェントの他に logs, infrastructure エージェントのインストールコマンドが表示されます。
APM エージェントと合わせて連携エージェントを導入することで、サーバのパフォーマンス情報も収集することができるので、未導入の場合はインストールを推奨いたしますが、APM エージェントのみを導入したい場合は不要で問題ありません。別途、導入することは可能です。
詳細は ファーストステップガイド インフラエージェント編にてご紹介いたします。
ここでは、APM導入に焦点を当てておりますので、導入せず "Skip" を選択します。

step 7: データ受信確認

最後にデータ受信確認をブラウザから行うことができます。"Test connection" を押下し、APM のインストールが問題ない場合は Status が installed と表示されます。
データ受信が確認できない場合は Failed と表示されます。
APM エージェントのログやドキュメントのトラブルシューティングなどを参考に状況の確認を実施ください。
アプリケーションによっては、実際にアプリケーションのトランザクション (アクセスなど) が発生しないとデータを取得しないものあるので、アクセスなどでトランザクションを発生させてください。

確認後、中央部の "See your data"  を押下し、 APM & Services の個別ページに遷移します。

step 8: APM ページでのデータ

収集されたデータを確認することができます。以降はトランザクションが発生するとパフォーマンスデータが逐次取集され、反映されます。
また、当ページは APM & Services > "導入したアプリ名" にて表示することができます。

おわりに

New Relic APM エージェントを Ruby アプリに導入する例にご紹介いたしました。
サポート対象言語やフレームワークでは、同様の流れでランチャインストールページにてインストール方法が表示されます。
皆様のアプリに APM エージェントの導入を行い、New Relic APM をご活用ください。