• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Rubyエージェントによるデプロイメントの記録

New Relic Ruby エージェント では、 REST API または Ruby エージェントとともに配布される Capistrano レシピ (バージョン 2.x および 3.x) を使用して、アプリケーションのデプロイメントに関する情報を送信することができます。その後、 New Relic UI でデプロイを確認することができます。デフォルトでは、すべてのデプロイメント情報が本番環境に記録されます。また、 rails_env 変数を、ステージングなどの他の環境用にカスタマイズすることもできます。

アプリケーション名の設定

アプリケーション名を割り当てるには

  1. Ruby エージェントの最新版 をダウンロードしてください。
  2. app_name newrelic.yml ファイルの中の 意味のある名前 に設定してください。

これにより、指定された環境のインスタンスに、New Relic のユーザー インターフェイスでデータを参照する際に app_name で指定されたラベルが割り当てられます。デプロイメントのアップロードスクリプトは、このラベルを使用してアプリとデプロイメントを関連付けます。

コマンドラインでの記録

Rubyのエージェントをgemとしてインストールした場合は、 newrelic 実行ファイルを使用して、デプロイメントを直接記録することができます。

newrelic deployments

お使いの環境によっては、実行する必要があります。

$bundle exec newrelic deployment

newrelic でいくつかのオプション値を使用することができます。 説明文 は短いテキストです。

deployments [OPTIONS] [description]
OPTIONS:
-a, --appname=name Set the application name.
Default is app_name setting in newrelic.yml
-e, --environment=name Override the (RAILS|RUBY)_ENV setting
-u, --user=USER Specify the user deploying.
-r, --revision=REV Specify the revision being deployed
-c, --changes Read in a change log from the standard input
-h Print this help

-c オプションを使用する場合は、変更ログをスクリプトにパイプすることができます。 -c オプションを使用する際にパイピングしない場合は、 control-D を選択してファイルの終わり(EOF)を知らせます。

Capistrano 3.xでの記録

New Relic の Ruby エージェントには、アプリのデプロイメントを記録できる Capistrano レシピが含まれています。アプリ名 を割り当てた後、エージェントと通信するために Capistrano ファイルを編集します。

    • Capfileの先頭に以下の行を追加します。

      require 'new_relic/recipes'
    • deploy.rb ファイルの中で、インクルードしてください。

      after "deploy:updated", "newrelic:notice_deployment"

Capistrano 2.xでの記録 [#capistrano2]

Capistrano 2.x のデプロイメントを New Relic エージェントで記録することができます。

    • CapistranoにNew Relicのレシピを読み込むように指示します。

    • deploy.rb ファイルに以下のフックを追加します。

      # Notify New Relic of deployments.
      # This goes out even if the deploy fails, sadly.
      after "deploy", "newrelic:notice_deployment"
      after "deploy:migrations", "newrelic:notice_deployment"
      after "deploy:cold", "newrelic:notice_deployment"

次に cap deploy を実行すると、エージェントは New Relic にデプロイを通知し、すべての時系列チャートにデプロイイベントが表示されます。

Capistranoの構成をカスタマイズする [#customizing]

Capistrano がリモートのビルドマシンでデプロイメント通知レシピを実行している場合、ビルドマシン ****には New Relic のライセンスキー が必要です。有効な newrelic.yml ファイルをビルドマシンにコピーするか(Capistrano Before Hook を使用する場合もあります)、Capistrano の設定で set :newrelic_license_key, 'YOUR_LICENSE_KEY' を呼び出します。

Capistranoの変数を使用して、いくつかのデプロイメント情報をカスタマイズできます。定義されている場合、これらはデフォルトを上書きします。これらは、Capistrano 2と3の両方に適用されます。

カピストラーノ2と3の変数

説明

newrelic_appname

デプロイメントが表示されるアプリです。デフォルトでは、 newrelic.yml ファイルの rails_env の定義に基づいています。

この値をコマンドラインから設定した場合、アプリケーション名は1つしか指定できません。 newrelic.yml でこの値を設定した場合、最初のアプリケーション名のみが使用されます。

newrelic_changelog

Capistrano のコマンドが発行されたローカル作業ディレクトリから svn/git log コマンドを実行することで決定される変更ログです。

newrelic_desc

デプロイメントと共に表示される説明テキスト。デフォルトは空です。

newrelic_license_key

使用する New Relic ライセンスキー 。デフォルトでは、これは newrelic.yml ファイル内の、指定された rails_env の定義に基づいています。これは ****あなたの REST API キー と同じものではありません。

newrelic_revision

デプロイ時に記録されたリビジョン。 推奨: Subversion を使用している場合は、リビジョンに加えてタグやブランチ名を含めることを検討してください。

newrelic_user

配置に関連付けるユーザーです。

Capistranoの設定を上書きする

Capistranoのどのバージョンでも、 deploy.rb の設定を上書きすることができます。

set :newrelic_user, "username"

Capistrano 2.xで設定を上書きするには、以下の方法があります。コマンドラインから

cap production deploy -Snewrelic_desc="Deploying beta Krakatau release"

この例では、配置の変更ログに表示される内容を入力します。

set(:newrelic_changelog) do
Capistrano::CLI.ui.ask "Enter a summary of changes: "
end

ステージングへのデプロイ

デフォルトでは、 newrelic_rpm gemには、本番環境のすべてのデプロイメントを記録するCapistranoのタスクが付属しています。別のステージング・アプリケーションがある場合は、 rails_env 変数の設定を変更して、ステージング・デプロイメントが本番アプリではなくステージング・アプリに記録されるようにすることができます。

ステージング環境へのデプロイメントを確認するには、Capistranoまたはコマンドラインを使用します。

ステージングへのデプロイ

コメント

キャプストラノマルチステージ

Capistrano のマルチステージを使用している場合は、以下の行を config/deploy/staging.rb に追加してください。

set :rails_env, "staging"

Capistrano 2.x

Capistrano 2.xを使用している場合は、コマンドラインからこの情報を追加してください。

cap -s rails_env=staging deployment_task_name
Copyright © 2022 New Relic株式会社。