PHP エージェントを Docker コンテナまたは他のコンテナにインストールして、1 つ以上の PHP アプリケーションを監視できます。これは、 PHP エージェントの要件を満たすコンテナでサポートされています。
注意
PHP エージェントのデーモンは、1 分間にわたる の収穫サイクルの間、定期的に New Relic にデータを送信します。 。コンテナを頻繁に起動したり破棄したりする場合は、デーモンコンテナを十分な時間稼働させ、残っているデータを送信するようにしてください。
コンテナオプション
PHP エージェントが動作するには、PHP エージェント (アプリケーションごとに 1 つ) と、1 つまたは複数のエージェントから送信されたデータを集約して New Relic に送信する デーモン という 2 つのコンポーネントが必要です。このため、コンテナ環境で PHP エージェントを有効にするには 2 つのオプションがあります。
- エージェントとデーモンを別々のコンテナにインストールします。 これは推奨されるセットアップです。
- エージェントとデーモンを同じコンテナにインストールします。 コンテナの数を減らしたい場合に便利かもしれません。
エージェントとデーモンを別々のコンテナにインストール
要件:
- PHPエージェントの要件を満たす
- PHPエージェントバージョン9.2以上
サンプル アプリケーションを確認するには、 New Relic のサポート フォーラムにアクセスしてください。有効期間の短いアプリケーション コンテナーを使用している場合は、PHP エージェントのデーモン用に別のコンテナーを使用することをお勧めします。
注意
エージェントからデーモンに送信されるデータは暗号化されていません。これに対する唯一の例外は、デーモンにデータを送信する前に発生するSQLの難読化です。エージェントとデーモンが異なるホストで実行されている場合は、エージェントとデーモンの間でプライベートネットワーク接続を使用することをお勧めします。
デーモン・コンテナの設定
Dockerを使用している場合は、 Docker Hub からデーモンイメージを引き出すことができます。
- 次のコマンドを実行します:
docker pull newrelic/php-daemon
。 - イメージをカスタマイズするには、 Docker Hub の手順に従ってください。
また、独自のデーモンイメージを構築することもできます。
- デーモンをインストールするには、New RelicのtarファイルダウンロードサイトからPHPエージェントパッケージをダウンロードし、
install_daemon
引数を指定してnewrelic-install
スクリプトを実行します。 --address
および--watchdog-foreground
引数を使用してデーモンを起動します。
--address
引数は、デーモンが接続を受け入れるためのポートを設定します。 --watchdog-foreground
引数は、デーモンがフォアグラウンドで実行されることを保証します。
PHP エージェントコンテナの設定
PHPのエージェントコンテナをDocker用に設定するには、以下の手順に従います。
コンテナでPHPインストールが利用可能であることを確認してください。たとえば、
php:7.1
のような公開されたDockerイメージを使用します。エージェントをインストールするには、New RelicのtarファイルダウンロードサイトからPHPエージェントパッケージをダウンロードし、
install
引数を指定してnewrelic-install
スクリプトを実行します。newrelic.ini
ファイルで、アプリケーション名を設定し、newrelic.appname
およびnewrelic.license
エントリで。newrelic.ini
ファイルでnewrelic.daemon.address
オプションを設定して、エージェントをデーモンにポイントします。このオプションの値がHOST:PORT
であることを確認してください。ここで、HOST
はデーモンが実行されているホストの名前またはIPアドレスであり、PORT
はデーモンがリッスンしているポート番号です。
エージェントとデーモンを同じコンテナにインストール
注意
デフォルトでは、最初のトランザクションにより、エージェントはデーモンの開始とアプリケーション接続の初期化をトリガーします。パフォーマンス上の理由から、エージェントは接続を初期化する前にこれらの操作が完了するのを待ちません。これにより、コンテナーの開始後の最初のいくつかのトランザクションが失われる可能性があります。この損失を防ぐには、 newrelic.ini
ファイルのnewrelic.daemon.start_timeout
}エントリとnewrelic.daemon.app_connect_timeout
エントリの両方を推奨値の5秒と15秒にそれぞれ設定します。
PHPのエージェントとデーモンを同じDockerコンテナにセットアップするには、次のようにします。
コンテナでPHPインストールが利用可能であることを確認してください。例:
php:7.1
のような公開されたDockerイメージを使用できます。エージェントをインストールするには、New RelicのtarファイルダウンロードサイトからPHPエージェントパッケージをダウンロードし、
install
引数を指定してnewrelic-install
スクリプトを実行します。アプリケーション名を設定し、
newrelic.ini
ファイルのnewrelic.license
およびnewrelic.appname
エントリを介して。