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

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

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

問題を作成する

Dockerなどのコンテナ環境PHPエージェントのインストール

PHPエージェント をDockerコンテナなどにインストールして、1つまたは複数のPHPアプリケーションを監視することができます。これは、 PHP エージェントの要件 を満たすコンテナでサポートされています。

注意

PHP エージェントのデーモンは、1 分間にわたる の収穫サイクルの間、定期的に New Relic にデータを送信します。 。コンテナを頻繁に起動したり破棄したりする場合は、デーモンコンテナを十分な時間稼働させ、残っているデータを送信するようにしてください。

コンテナオプション

PHP エージェントが動作するには、PHP エージェント (アプリケーションごとに 1 つ) と、1 つまたは複数のエージェントから送信されたデータを集約して New Relic に送信する デーモン という 2 つのコンポーネントが必要です。このため、コンテナ環境で PHP エージェントを有効にするには 2 つのオプションがあります。

エージェントとデーモンを別々のコンテナにインストール

要件:

アプリケーションの例を見るには、 New Relic's Explorers Hub にアクセスしてください。短時間動作のアプリケーションコンテナを使用する場合は、 PHP エージェントのデーモン用に別のコンテナを使用することをお勧めします。

注意

エージェントからデーモンに送信されるデータは暗号化されていません。これに対する唯一の例外は、デーモンにデータを送信する前に発生するSQLの難読化です。エージェントとデーモンが異なるホストで実行されている場合は、エージェントとデーモンの間でプライベートネットワーク接続を使用することをお勧めします。

デーモン・コンテナの設定

Dockerを使用している場合は、 Docker Hub からデーモンイメージを引き出すことができます。

  1. 以下のコマンドを実行してください。 docker pull newrelic/php-daemon.
  2. イメージをカスタマイズするには、 Docker Hub の手順に従ってください。

また、独自のデーモンイメージを構築することもできます。

  1. デーモンをインストールするには、New Relic の tar ファイルダウンロードサイト から PHP エージェントパッケージをダウンロードし、 newrelic-install スクリプトを install_daemon 引数を指定して実行します。
  2. --address--watchdog-foreground の引数を使って、デーモンを起動します。

--address 引数は、デーモンが接続を受け付けるポートを設定します。 --watchdog-foreground 引数は、デーモンがフォアグラウンドで実行されるようにします。

PHP エージェントコンテナの設定

PHPのエージェントコンテナをDocker用に設定するには、以下の手順に従います。

  1. コンテナ内にPHPがインストールされていることを確認します。例えば、 php:7.1 のような公開されたDockerイメージを使用します。
  2. エージェントをインストールするには、New Relic の tar ファイルダウンロードサイト から PHP エージェントパッケージをダウンロードし、 newrelic-install スクリプトを install という引数を付けて実行します。
  3. newrelic.ini ファイルで、 newrelic.appnamenewrelic.license のエントリで、アプリケーション名と ライセンスキー を設定します。
  4. newrelic.ini ファイルで newrelic.daemon.address オプションを設定して、エージェントをデーモンに向けます。このオプションの値がHOST:PORT であることを確認してください。ここで HOST はデーモンが動作しているホストの名前または IP アドレスで、PORT はデーモンがリッスンしているポート番号です。

エージェントとデーモンを同じコンテナにインストール

注意

デフォルトでは、最初のトランザクションにより、エージェントはデーモンの起動とアプリケーション接続の初期化を行います。パフォーマンス上の理由から、エージェントはこれらの操作が完了するのを待たずに接続を初期化します。このため、コンテナの起動後、最初の数件のトランザクションが失われることがあります。この損失を防ぐには、 newrelic.daemon.start_timeoutnewrelic.daemon.app_connect_timeout の両方のエントリを、 newrelic.ini ファイルの中で、それぞれ5sと15sという当社の(推奨)[https://discuss.newrelic.com/t/php-troubleshooting-framework-configuration/119980]の値に設定してください。

PHPのエージェントとデーモンを同じDockerコンテナにセットアップするには、次のようにします。

  1. コンテナ内にPHPがインストールされていることを確認します。例: php:7.1 のような公開されたDockerイメージを使用する場合。
  2. エージェントをインストールするには、New Relic の tar ファイルダウンロードサイト から PHP エージェントパッケージをダウンロードし、 newrelic-install スクリプトを install という引数を付けて実行します。
  3. newrelic.ini ファイルの newrelic.licensenewrelic.appname エントリを介して、アプリケーション名と ライセンスキー を設定します。

callout.info

ここでは、Dockerのトラブルシューティングについてご紹介します。

Copyright © 2022 New Relic株式会社。