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)で集めます。