2026年5月26日

2026年5月26日

New RelicでAPMモニタリングを設定する方法(PHPエージェント・Ubuntu)

New Relic APM(Application Performance Monitoring)は、アプリケーションの中で何に時間がかかっているかを記録するサービスです。PHP で動くサイトなら、ページごとの応答時間、遅いトランザクション、時間のかかった SQL、外部 API の呼び出し、PHP のエラーなどを画面で確認できます。

APM はアプリケーションの言語ごとに「エージェント」を入れて使います。この記事では、WordPress を含む PHP アプリケーションを Ubuntu で動かしている場合を例に、PHP エージェントの導入から確認までを説明します。手順は2026年11月時点の New Relic 公式ドキュメントに沿い、Ubuntu 24.04・PHP 8.3 にエージェント 12.12.0.41 を入れて、設定ファイルの場所と PHP への読み込みを確認しています。

APM と infrastructure agent の違い

種類 入れるもの 分かること
APM 言語ごとのエージェント(PHP なら newrelic-php5 パッケージ) ページ・処理ごとの時間、遅い SQL、外部呼び出し、アプリのエラー
Infrastructure newrelic-infra パッケージ CPU・メモリ・ディスク・ネットワーク・プロセスなどサーバー全体の状態

古い解説にある newrelic-sysmond は旧来のサーバー監視用のデーモンで、APM のエージェントではありません。サーバーの状態を見たい場合は、後半で説明する infrastructure agent を使います。また、newrelic-admin generate-config は Python エージェントのコマンド、newrelic.yml は Ruby や Java などのエージェントの設定ファイルで、PHP では使いません。

料金の目安

2026年11月時点の公式料金ページでは、無料プランで毎月 100GB までのデータ取り込みと、フル機能のユーザー1人が使えます。無料プランで 100GB を超えると、その月はデータの取り込みが止まり、プラットフォームにアクセスできなくなります(翌月または有料プランへの切り替えで戻ります)。有料プランの条件は New Relic の料金ページ で確認してください。

対応環境(2026年11月時点)

  • PHP 7.2〜8.5(PHP 8.3 はエージェント 10.15.0.4 以降が必要)。スレッドセーフ版(ZTS)の PHP には対応していません。
  • Apache の mod_php、または PHP-FPM(FastCGI)で動く Web サーバー(Nginx など)
  • apt でのインストールは x86_64 の Ubuntu・Debian が対象です。ARM64(aarch64)のサーバーでは tar ファイルからのインストールになります。
  • WordPress は 6.0 以降が対応フレームワークとして挙げられています。

ステップ1:ライセンスキーを確認する

エージェントは、New Relic の ライセンスキー(API キーの画面で種類が「INGEST - LICENSE」のもの)でアカウントを識別します。New Relic にログインし、ユーザーメニューまたは Administration の「API keys」で確認します。ユーザーキー(User key)は別物なので注意してください。

ライセンスキーはデータの送信に使われる秘密の値です。リポジトリやチャットに貼らないでください。

ステップ2:PHP エージェントを入れる

New Relic の apt リポジトリを登録して、newrelic-php5 パッケージを入れます(パッケージ名に 5 が付いていますが、PHP 8 系にも対応したパッケージです)。

# 署名鍵を登録する
wget -O- https://download.newrelic.com/NEWRELIC_APT_2DAD550E.public | sudo gpg --import --batch --no-default-keyring --keyring /usr/share/keyrings/download.newrelic.com-newrelic.gpg

# リポジトリを追加する
echo 'deb [signed-by=/usr/share/keyrings/download.newrelic.com-newrelic.gpg] http://apt.newrelic.com/debian/ newrelic non-free' | sudo tee /etc/apt/sources.list.d/newrelic.list

# インストールする
sudo apt-get update
sudo apt-get install newrelic-php5

インストール中に、アプリケーション名とライセンスキーを尋ねる画面が出ます。ここで入力した値が設定ファイルに書き込まれます。

画面を出さずに入れたい場合(構築スクリプトなど)は、先に debconf に値を渡しておきます。

echo newrelic-php5 newrelic-php5/application-name string "My WordPress" | sudo debconf-set-selections
echo newrelic-php5 newrelic-php5/license-key string "ライセンスキー" | sudo debconf-set-selections
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install newrelic-php5

Ubuntu の標準の PHP なら、エージェントは自動で PHP に組み込まれます。PHP を独自に入れている環境で「Please run newrelic-install as root to complete installation.」と表示された場合は、sudo newrelic-install install を実行してください。

ステップ3:設定ファイルを確認する

Ubuntu 24.04・PHP 8.3 では、設定ファイルは次の場所に作られ、PHP-FPM と CLI の両方の conf.d からリンクされます。

ファイル 内容
/etc/php/8.3/mods-available/newrelic.ini エージェントの設定本体
/etc/php/8.3/fpm/conf.d/20-newrelic.ini 上のファイルへのリンク(PHP-FPM 用)
/etc/php/8.3/cli/conf.d/20-newrelic.ini 上のファイルへのリンク(コマンドライン用)
/var/log/newrelic/php_agent.log エージェントのログ
/var/log/newrelic/newrelic-daemon.log データを送信するデーモンのログ

8.3 の部分は使っている PHP のバージョンに置き換えてください。主な設定は次の2行です。

newrelic.license = "ライセンスキー"
newrelic.appname = "My WordPress"

newrelic.appname は New Relic の画面に表示されるアプリケーション名です。初期値は「PHP Application」なので、複数のサイトを監視するなら、サイトごとに分かる名前にします。

ステップ4:PHP を再起動して反映する

設定は PHP の再起動で読み込まれます。使っている構成に合わせて実行します。

# PHP-FPM の場合(Nginx や Apache + PHP-FPM)
sudo systemctl restart php8.3-fpm

# Apache の mod_php の場合
sudo systemctl restart apache2

PHP にエージェントが読み込まれたかは、次のように確かめます。

php -m | grep newrelic
php-fpm8.3 -m | grep newrelic

newrelic と表示されれば読み込まれています。

ステップ5:画面で確認する

サイトにアクセスがあると、数分で New Relic の「APM & Services」に newrelic.appname で付けた名前のアプリケーションが表示されます。アクセスがない間はデータが送られないので、確認のときは自分で何ページか開いてください。

主に見る画面は次のとおりです。

画面 分かること
Summary 応答時間、スループット、エラー率の推移
Transactions 処理(URL やコントローラー)ごとの時間。遅い順に並べて原因の処理を探す
Databases 時間のかかっている SQL とテーブル
External services 外部 API など、サーバーの外への呼び出しにかかった時間
Errors PHP のエラーと発生したトランザクション

WordPress は自動で検出され、初期設定(newrelic.framework.wordpress.hooks.options = "plugin_callbacks")ではプラグインとテーマがフックに登録した処理の時間も記録されます。どのプラグインが遅さの原因かを絞り込む手がかりになります。

うまくいかないとき

症状 確認すること
アプリケーションが画面に出てこない php -m と php-fpm8.3 -m に newrelic があるか。PHP-FPM(または Apache)を再起動したか。サイトにアクセスがあったか
php -m には出るが送信されない /var/log/newrelic/newrelic-daemon.log にライセンスキーの誤りや接続エラーが出ていないか。サーバーから外向きの HTTPS が許可されているか
アプリ名が「PHP Application」のまま newrelic.ini の newrelic.appname を変えて PHP を再起動する
使っている PHP に読み込まれない 別の PHP を使っていないか確認し、sudo newrelic-install install を実行する

サーバー全体の状態も見たい場合(infrastructure agent)

CPU やメモリ、ディスクなどのサーバーの状態は、infrastructure agent で集めます。Ubuntu 24.04 では次の手順です(New Relic の画面のガイド付きインストールでも入れられます)。

# ライセンスキーを設定ファイルに書く
echo "license_key: ライセンスキー" | sudo tee -a /etc/newrelic-infra.yml

# 署名鍵とリポジトリを登録する(noble は Ubuntu 24.04 のコード名)
curl -fsSL https://download.newrelic.com/infrastructure_agent/gpg/newrelic-infra.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/newrelic-infra.gpg
echo "deb https://download.newrelic.com/infrastructure_agent/linux/apt/ noble main" | sudo tee -a /etc/apt/sources.list.d/newrelic-infra.list

# インストールして状態を確認する
sudo apt-get update
sudo apt-get install newrelic-infra -y
sudo systemctl status newrelic-infra

Ubuntu 22.04 では noble を jammy にします。/etc/newrelic-infra.yml にはライセンスキーが入るので、ほかのユーザーから読めないようにしておくと安全です。

同じようにサーバーを監視するサービスとして、Datadogでサーバーを監視する方法 も参考にしてください。

まとめ

  • PHP の APM は newrelic-php5 パッケージで入れ、newrelic.ini の newrelic.license と newrelic.appname を設定し、PHP-FPM か Apache を再起動します。
  • php -m | grep newrelic で読み込みを確認し、アクセスを発生させてから「APM & Services」で表示を確かめます。
  • サーバーの CPU・メモリなどは APM ではなく infrastructure agent(newrelic-infra)で集めます。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲