PHPエージェントには、レポートされたデータのタイプと量を微調整するための多くの設定があります。ほとんどのユーザーにとっては、デフォルト値で最善のオーバーヘッドと使用しやすさが実現されます。ただし、特定のニーズに対する設定は変更できます。
重要
INI設定を変更後は、必ずウェブサーバーを再起動してください。再起動しないと、すぐに有効になりません。
優先度の設定
以下の簡単な図は、PHPエージェントが設定で従う優先度です。サーバー側の設定には適用されません。PHPエージェントを使用してアプリのUIで変更できる唯一の値は、アプリのエイリアスとApdex-T値です。
New RelicのPHPエージェントを使用すると、API設定はディレクトリごとの設定を上書きします。ディレクトリごとの設定は、php.ini
ファイル設定を上書きします。サーバー側の設定には適用されません。
設定ファイルの変数
インストール中、newrelic-install
スクリプトは、作成された設定ファイルまたは編集が必要なファイルのリストについての情報を提供します。デフォルトでは、newrelic.ini
という名前の設定ファイルを作成しようとします。
場合によっては、設定オプションをphp.ini
ファイルに追加するよう指示されます。必要に応じて、そうしてください。どのファイルを編集する必要があるかは、PHPの特定のバージョン(1つまたは複数)が設定されている方法によって異なります。
2つの最も一般的な設定は、次のとおりです。
- 単一の
newrelic.ini
ファイルを使用します。特別のオプションなしでPHPを自分でインストールまたはコンパイルした場合は、これが通常デフォルトとなります。 - すべての
.ini
ファイルについて所定のディレクトリをスキャンします。
どのファイルを編集するか分からない場合:
コマンドラインから、
php -i
の出力を見直します。ブラウザで、次のスクリプトを含むページの出力を見直します:
<?php phpinfo(); ?>newrelic.ini
ファイルが表示されたら、それを使用します。
変数の範囲
newrelic.ini
ファイルの各変数には、定義された範囲があります。範囲は、設定をどこで確立または変更できるかを制御します。
New Relic設定にサポートされている2つの範囲は、次のとおりです。
- SYSTEM:値はグローバル
newrelic.ini
ファイルでグローバルに設定されます。 - PERDIR: 値はディレクトリごとに設定されます。
それぞれを、より一般的なレベルで設定することもできます。それぞれの有効なロケーションは、次のとおりです。
以下について設定できます。 | SYSTEM | PERDIR |
---|---|---|
グローバル | ||
ディレクトリごとに設定します。 |
重要
New Relic設定に、ini_set()
は使用できません。
変数のタイプ
newrelic.ini
ファイルの各変数には、定義されたタイプがあります。タイプによって使用する値の構文が指定されます。
変数のタイプ | フォーマットと内容 |
---|---|
文字列 | 文字列値には、英数字とピリオドを含めることができます。値は引用符で区切られます。 |
ブール値 | 論理的な真偽設定。有効な値は、次のとおりです。
|
数 | 数値には、桁数に加え、フロートを表すピリオドのみを含めることができます。別途記載がある場合を除き、すべての数字はフロートではなく整数です。 |
期間 | 期間を表す、引用符で区切られた文字列の値。文字フラグを使用して、時間コンポーネントを区切ります。フラグがない場合、時間はミリ秒となります。
|
一般構成設定
これらの設定は、newrelic.ini
ファイルで使用できます。
範囲: | PERDIR |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
この設定オプションで、APMでデータがレポートされるアプリケーション名が設定されます。混同や非意図的なデータの集計を避けるために、デフォルト名を分かりやすい名前に置き換えることを強く推奨します。同じ名前のすべてのアプリケーションのデータは、New Relicにマージされるため、この設定は慎重に行ってください。
ディレクトリごとの設定を含むすべてのアプリケーション命名オプションについては、PHPアプリケーションの命名を参照してください。
設定の値は、最大で3つのアプリケーション名をセミコロンで区切ったリストです。リストの最初の名前は、主たるアプリケーション名です。各アカウントに一意でなければなりません。アプリケーション名は、キャッシュへのキーとして使用されます。アプリに複数の名前を使用する場合、New Relicはキャッシングに最初の名前のみを使用します。したがって、各アプリケーション名は、最初の要素として一度しか表示されません。
newrelic.appname="App1;App2"
を設定し、後でコードセットnewrelic.appname="App1;App3"
で設定すると、2番目のコードが機能しなくなります。キャッシングのため、App1とApp2にレポートします。
アプリケーション名を重複させる必要がある場合は、共通のアプリケーション名を第二または第三の位置に設定します。例:newrelic.appname="App2;App1"
とnewrelic.appname="App3;App1"
。たとえば、アプリケーションのスーパーセットを追跡する場合にこれは有用です。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
注意
この設定は非推奨となっており、想定どおりに動作しない場合があります。代わりに、属性プロパティを使用します。
この値をプログラムで設定するには、newrelic_capture_params()
API関数を使用します。
機密情報をURLで直接渡す場合は、これを無効にしてください。
true
に設定すると、トランザクショントレースでURL(URLの?
の後のすべて)を介してPHPスクリプトに渡されたパラメーターの記録が有効になります。これらは、トランザクショントレースを表示すると、パラメータードロップダウンに表示されます。
範囲: | PERDIR |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: | (自動検出) |
New Relic PHPエージェントは、サポートしているフレームワークは自動的に検出しますが、実験的な新バージョンを使用している、またはフレームワークをカスタマイズしている場合は、問題が発生することがあります。この設定では、エージェントに指定のフレームワークに従いトランザクションに名前を付けるよう指示するのではなく、フレームワークの自動検知は無効になります。
"no_framework"
を指定すると、フレームワーク関連のトランザクションのネーミングがすべて無効になります。
必要に応じて、次の値のいずれかを使用します。
"cakephp"
"codeigniter"
"drupal"
(Drupal 6および7の場合)"drupal8"
(Drupal 8および9の場合)"joomla"
"laravel"
"magento"
"magento2"
"mediawiki"
"slim"
"symfony2"
(Symfony 3の場合 - Symfony 2.xはサポートされていません)"symfony4"
(Symfony 4および5の場合)"wordpress"
"yii"
"zend"
"zend2"
(Zendフレームワーク2および3の場合)"no_framework"
(1つが検出された場合でもフレームワークを強制しない)フレームワークの自動検知に失敗すると、このコマンドも失敗します。
ヒント
対応のフレームワークに関する最新情報については、PHPの互換性ページを確認してください。
範囲: | PERDIR |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
注意
この設定は非推奨となっており、想定どおりに動作しない場合があります。代わりに、属性プロパティを使用します。
newrelic.ignored_params
設定を使用して、New Relic Serversに送信されたパラメーターのリストから除外されるパラメーター名のカンマ区切りされたリストを指定します。引用符で文字列の値を囲います。
newrelic.capture_params
でパラメーターのキャプチャを有効にした場合、New Relicによってキャプチャされたくない、またはトランザクションのトレースに表示したくない機密性の高いユーザーデータを持つパラメーターがある可能性がります。これを使用して、このデータの記録をブロックします。
範囲: | PERDIR |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
メモ: | エージェントバージョン3.0で導入されました。 |
使用するNew Relicを設定します。マルチテナントシステムでは、これはディレクトリごとに設定できます。
ヒント
旧エージェントバージョンから3.0以上にアップグレードすると、ライセンスは(理由を説明するコメントとともに)デーモン設定ファイルから削除され、ファイル/etc/newrelic/upgrade_please.key
に保存されます。そのファイルからライセンスをコピーし、newrelic.ini
ファイルに設定します。upgrade_please.key
ファイルを削除します。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
ログファイルに送信されたメッセージの詳細レベルを設定します。詳細度が低い順での可能な値は、次のとおりです。
error
warning
info
verbose
debug
verbosedebug
エージェントの問題をNew Relicテクニカルサポートに報告する場合は、
verbosedebug
が最も有用な設定です。ただし、これにより多くの情報が非常に迅速に生成されるため、発生している問題の再現にかかる時間以上に、verbosedebug
レベルでエージェントを保存しないようにしてください。エージェントの問題をNew Relicテクニカルサポートに報告する際、これをカスタムレベルに設定し、特定のサブシステムについてのみデバッグを有効にするよう求められる場合があります。カスタムレベルは本ドキュメントの範囲外です。
範囲: | PERDIR |
---|---|
タイプ: | 数 |
デフォルト: |
|
メモ: | これは以前は |
トランザクショントレースで詳細のレベルを設定します。
1
に設定すると、すべてのサーバーの呼び出しがトレースされます。0
に設定すると、トレースにはNew Relicにより内部でインストゥルメントされた呼び出しと、newrelic.transaction_tracer.custom
を使用してユーザーが定義した呼び出しのみが含まれます。デフォルトのレベル
1
は、パフォーマンスに影響を与えます。パフォーマンスを改善する必要がある場合、詳細レベルを0
に設定するようにしてください。すべてのサーバーの呼び出しをトレースしていない場合、トランザクショントレースの時間のブロックにはインストゥルメントされていない時間とラベルが付けられ、特定の関数(エージェントにより内部で定義)のみがインストゥルメントされます。すべての呼び出しをレポートする場合でも、トレースにインストゥルメントされない時間がある場合があります。
範囲: | SYSTEM |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
すべてのアプリケーションについて高セキュリティを有効にします。高セキュリティをtrue
に設定すると、次の動作が有効になります。
newrelic-daemonが安全な接続(HTTPS)を使用している場合を除き、データはNew Relicに送信されません。PHPプロセスがnewrelic-daemonを作成する場合、
newrelic.daemon.ssl
の値にかかわらずHTTPSを使用するよう設定されます。行のクエリ文字列は、
newrelic.transaction_tracer.record_sql
の値にかかわらず収集されることはありません。リクエスト属性は、
newrelic.attributes
の設定にかかわらず取得されることはありません。newrelic_add_custom_parameter
およびnewrelic_set_user_attributes
API関数は効果がなく、false
を返します。newrelic_record_custom_event
API関数はNew Relicにイベントを送信しません。エージェントはエラーから例外メッセージを除去します。
注意
newrelic.high_security
設定を変更する場合、APMユーザーインタフェースでセキュリティ設定も変更する必要があります。2つの設定が一致しない場合、データは収集されません。詳細については、高セキュリティを参照してください。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
APM UIに表示される. ホスト名を設定します。設定すると、エージェントが自動的に取得するデフォルトのホスト名が上書きされます。
New Relic CodeStreamを使用してIDEからパフォーマンスを監視する場合は、リポジトリをサービスに関連付け、ビルドSHAまたはリリースタグをエラーに関連付ける必要があります。
Daemon .ini 設定
これらの設定の値は、デーモン起動を制御します。デーモンの起動が必要なことをエージェントが検知すると、これらのオプションが、デーモンに適切なコマンドラインオプションに変換します。
これらのすべての設定は、newrelic.cfg
ファイルの設定を反映します。すべての .ini設定を1か所に保管するため、これらはここで繰り返されます。newrelic.cfg
の各設定ではここに、プレフィックスとしてnewrelic.daemon.
が付いた相手があります。たとえば、newrelic.cfg
のssl
設定は.iniファイルのnewrelic.daemon.ssl
です。
重要
ファイル/etc/newrelic/newrelic.cfg
がある場合、エージェントはこれらの設定を無視し、デーモンを自動的に起動しません。
デーモンの起動方法および外部設定ファイルをいつ使用するかの詳細については、PHPデーモン起動モードを参照してください。
範囲: | SYSTEM |
---|---|
タイプ: | 時間仕様文字列は、たとえば、 |
デフォルト: |
|
アプリケーションが非アクティブと見なされてからの経過時間を設定します。非アクティブアプリケーションは、アプリケーションの上限250にはカウントされません。許容単位は"ns"
、"us"
、"ms"
、"s"
、"m"
、および"h"
です。
値0
は、「タイムアウトなし」と解釈されます。これにより、新規アプリケーションは常にアプリケーションの上限250に対しカウントされ、デーモンはアプリケーションごとに少量のメモリをオペレーティングシステムに解放できなくなります。
推奨: New Relic Supportの要請がある場合を除き、この値は使用しないでください。代わりに、時折行われるバックグラウンドトランザクションには、間隔の2倍の値を使用してください。たとえば、1時間ごとのバックグラウンドジョブでは、タイムアウトを2時間に設定します。
範囲: | SYSTEM |
---|---|
タイプ: | 時間仕様文字列は、たとえば、 |
デフォルト: |
|
アプリケーションに接続するデーモンに対する、エージェントの最大待ち時間を設定します。値が"0"
の場合、エージェントはデーモンへの接続を1回しか試みません。許容単位は"ns"
、"us"
、"ms"
、"s"
、"m"
、および"h"
です。
このタイムアウトが設定されていると、デーモンがまだバックエンドに接続していない場合、エージェントはただちにトランザクションを停止せず、デーモンに接続を確立する時間を許可します。
推奨:タイムアウトを設定する場合、推奨値は"15s"
です。接続に問題がある場合、エージェントはすべてのトランザクション開始時に所定のタイムアウトをブロックするため、時間のかかるバックグラウンドタスクのインストゥルメントをしている場合にのみこのタイムアウトを設定してください。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
設定では、監査ログの名前を指定します。ログには、完全なURL、日付、時間、各リクエストのエンコード化されていない非圧縮データを含む、デーモンからNew Relicサーバーに送信されたすべてのデータが含まれます。
このファイルは、デーモンのログと同じファイルにはできません。
重要
この監査ログは、非常に短時間で非常に大きくなる場合があります。長期間newrelic.daemon.auditlog
設定を使用しないようにしてください。システムアドミニストレーターがセキュリティレビューを行い、どのデータが転送されるかを正確に観察できるようにすることが、主な目的です。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
の確認およびエージェントデータの送信のためにデーモンが連絡するコレクターホストの名前とオプションのポートを設定します。
これは、単にホストの名前または"hostname:port"
形式のポート番号のいずれかです。 ポート番号0
を指定すると、デフォルトポート80を使用します。
注意
New Relic Supportからのガイダンスなしに、この値を変更しないでください。
範囲: | SYSTEM |
---|---|
タイプ: | 数 |
デフォルト: |
|
エージェントの起動前にデーモンを外部で起動したい場合は、この値により、エージェントがデーモンの起動をいつ許可されるかが決まります。
0
:デーモンの起動には制限はなく、エージェントはデーモンをいつでも起動できます。1
:非コマンドライン(Apacheやphp-fpmなど)エージェントは、デーモンを起動できます。2
:コマンドラインエージェントのみが、デーモンを起動できます。3
:このエージェントはデーモンを起動することはありません。newrelic.cfg
を介してデーモンを設定しており、エージェント以外から起動している場合は、この設定を使用します。重要
/etc/newrelic/newrelic.cfg
がある場合、エージェントは、エージェントを介してではなく、起動スクリプトによりデーモンが起動されるものと仮定します。この設定は、newrelic.cfg
に影響を与えず、そこに表示されません。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
起動可能なデーモンの名前を設定します。
この変数は、デーモンが実行可能なファイルへのフルパスを特定します。標準パッケージを使用してNew Relicシステムがインストールされた場合、デフォルトの場所は正しいものとなります。tar配布を使用してカスタムの場所にインストールした(かつ/usr/bin
への書き込み許可がない)場合、デーモンは別の場所にある場合があります。
この設定はPHPにのみ関連しているため、newrelic.cfg
ファイルには表示されません。
重要
OpenSolarisでは、/usr
は多くの場合読み取り専用ファイルシステムです。OpenSolarisのデフォルトのデーモンの場所は/opt/newrelic/bin/newrelic-daemon
です。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
デーモン固有のログメッセージを記録するためのログファイルの名前を設定します。デーモンがこのファイルに書き込める必要があります。一般的には、Apacheユーザーの場合、Apache自体が起動するとデーモンが起動されるため、Apacheプロセスを実行しているユーザーがファイルに書き込みできることを確認してください。
注意
デーモンのログファイルに書き込みできない場合は、デーモンは自動的に起動せず、データのレポートは行われません。
誰がデーモンを起動できるかを制限する手段として、このファイルへの書き込み許可を使用できます。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
New Relicのデーモンのログファイルに記録されるメッセージの詳細レベルを設定します。詳細の度合いが低い順の、可能な値は次のとおりです。
error
warning
info
healthcheck
debug
設定が詳細なほど、多くの情報を非常に迅速に生成できます。
healthcheck
は、接続済みアプリケーションの正確な数を記録します。必要に応じて、問題を特定するために短期間のdebug
を設定します。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: | (OSにより異なります) |
デーモンがプロセスID(pid)を記録するファイルの名前を設定します。
このファイルは、デーモンがすでに実行中かどうか判断するため、デーモン起動とシャットダウンスクリプトが使用します。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列または数字 |
デフォルト: |
|
ヒント
v9.2.0.247から、PHPエージェントは新たな設定であるnewrelic.daemon.address
をサポートします。この設定は、newrelic.daemon.port
のエイリアスとなるものです。New Relic PHPデーモンの場所を指定する場合にも使用できます。両方の値が設定された場合、newrelic.daemon.address
が優先されます。
エージェントからデーモンへの通信用にソケットエンドポイントが設定されます。
これは4つの方法で指定できます。
UNIXドメインソケット(UDS)として指定されたファイルを使用するには、文字列として絶対パス名を入力します。これが、Linux以外のシステムではデフォルトです。
標準のTCPポートを使用するには、1から65534の範囲で数字を指定します。
抽象ソケットを使用するには、値
@newrelic-daemon
(エージェントバージョン5.2.0.141以上で使用可能)を使用します。これが、Linuxシステムではデフォルトです。別のホストで実行中のデーモンに接続するには(コンテナ環境で有用)、この値を
host:port
に設定します。ここで、host
はホスト名またはIPを表し、port
は有効なポート番号を表します。IPv4とIPv6の両方がサポートされています。これは、エージェントバージョン9.2.0.247以上で使用できます。注意
エージェントからデーモンに転送されたデータは暗号化されません。唯一の例外は、データをデーモンに送信する前に行われるSQL難読化です。当社では、エージェントとデーモンとの間ではプライベートネットワーク接続のみを使用することを推奨しています(これは、エージェントとデーモンが別のホストで実行中の場合にのみ適用されます)。
ポート番号を使用する場合、Unixシステムでは、ポートは1から1023の範囲にあり、デーモンはスーパーユーザーとして実行する必要があります。デーモンが標準以外のポートを使用する場合、この変数は、エージェントがデーモンとの通信に使用するポート番号も設定します。
重要
デーモンについて
newrelic.cfg
起動メカニズムを使用中の場合は、この設定とそのファイルのaddress
設定は一致する必要があります。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
イグレスプロキシとして使用するホストとユーザー認証情報を設定します。
これは、New Relicデータ収集サーバーにアクセスするために、サイトでプロキシが必要な場合にのみ使用します。プロキシ設定に応じて、次のいずれかの形態となります。
hostname
hostname:port
user@hostname
user@hostname:port
user:password@hostname
user:password@hostname:port
proxytype://user:password@hostname:port
別のproxytypeが指定されている場合を除き、HTTPのプロキシタイプとなります。その場合、proxytypeは、http、socks4、socks4a、socks5のいずれかに設定できます。
範囲: | SYSTEM |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
この設定はPHPエージェントバージョン8.0以上では無視され、常にHTTPSを使用してNew Relicと通信します。
PHPエージェントバージョンが8.0以下の場合、New Relicコレクターとの通信で安全なHTTP接続を使用するかどうかが制御されます。エージェントはデフォルトでHTTPSを介してNew Relicと通信します。New Relicは、 APMとNew Relic REST APIへのすべてのトラフィックにHTTPSを要求します。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
PEM形式のCA証明書を含むファイルの場所を設定します。設定すると、このファイルの証明書を使用して、New Relicコレクターが認証されます。ほとんどの場合、CAバンドの設定は不要です。New Relic PHPエージェントには、必要なCA証明書が同梱されます。
newrelic.daemon.ssl_ca_path
も設定している場合、このファイルの証明書が最初に検索され、次にnewrelic.daemon.ssl_ca_path
ディレクトリに含まれる証明書が検索されます。
newrelic.daemon.ssl
がfalse
に設定されている場合、この設定には影響しません。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
PEM形式の信頼されるCA証明書を含むディレクトリの場所を設定します。設定すると、このディレクトリの証明書を使用して、New Relicコレクターが認証されます。ほとんどの場合、CAパスの設定は不要です。New Relic PHPエージェントには、必要なCA証明書が同梱されます。
また、newrelic.daemon.ssl_ca_bundle
が設定されている場合は、最初に検索された後、newrelic.daemon.ssl_ca_path
に含まれる証明書が検索されます。
newrelic.daemon.ssl
がfalse
に設定されている場合、この設定には影響しません。
範囲: | SYSTEM |
---|---|
タイプ: | 時間仕様文字列は、たとえば、 |
デフォルト: |
|
デーモン起動がトリガーされた後に、エージェントが待機する必要がある最大時間を設定します。値を"0"
にすると、エージェントは待機しません。許容単位は"ns"
、"us"
、"ms"
、"s"
、"m"
および"h"
です。
指定されたタイムアウト値は、--wait-for-port
フラグを介してデーモンに渡されます。これにより、ソケットの取得、またはタイムアウト時間が経過するまで、デーモンの起動がブロックされます。
推奨:タイムアウトを設定する場合、推奨値は"2s"
から"5s"
です。デーモンの起動に問題がある場合、エージェントはすべてのトランザクション開始時に所定のタイムアウトをブロックするため、時間のかかるバックグラウンドタスクのインストゥルメントをしている場合にのみ、このタイムアウトを設定することが推奨されます。
Logs in Context
PHPエージェントバージョン10.1.0以降、APM logs in contextのサポートがエージェントに追加されました。バージョン10.3.0以降は、ログメトリクスとエージェントログ転送機能はデフォルトで有効になっています。
PHPエージェントのログを設定するヒントについては、コンテキスト内のPHPログの設定を参照してください。
これらの設定の変更をローカルエージェント設定ファイル(newrelic.ini
)で行う場合、有効にするにはウェブサーバーを再起動する必要があります。
重要
INI設定を変更後は、必ずウェブサーバーを再起動してください。再起動しないと、すぐに有効になりません。
ログメトリクスとエージェントログ転送を使用して、Logs in contextを有効にする設定例を以下に示します。
newrelic.application_logging.enabled = truenewrelic.application_logging.metrics.enabled = truenewrelic.application_logging.forwarding.enabled = true
この値newrelic.application_logging.enabled
は、Logs in context機能の有効化または無効化を制御します。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
true
に設定して、Logs in contextのコア機能を有効にします。有効にすると、New Relicにログが送信されるかどうかにかかわらず、追加のロギングフレームワークインストゥルメンテーションが有効になります。
重要
エージェントリリース10.1.0では、エージェント設定ファイルでこの機能がデフォルトで有効になっています。
ログメトリクスとログ転送機能のコレクションなど、この機能を完全に無効にするには、false
に設定します。
サポート対象のロギングフレームワークを使用しており、エージェントを使用してアプリケーションログをNew Relicに送信する場合は、newrelic.config.application_logging.forwarding
プレフィックス付きのINI設定を使用して制御できます。利用可能なオプションは、以下のとおりです。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
New Relicへのアプリケーションログの送信を有効にします。
重要
エージェントリリース10.3.0以降では、この機能はデフォルトでエージェント設定ファイルで有効になっています。
ログ転送機能を使用すると、データの取り込みが増加し、請求に影響を及ぼす可能性があります。詳細については、データ取り込みの追跡に関するドキュメントを参照してください。
既存のログ転送ソリューションがあり、エージェントをコンテキストで自動ログを使用するように更新する場合は、古いログフォワーダーを必ず無効にしてください。そうしないと、アプリは二重のログラインを送信します。アカウントによっては、二重請求になる場合があります。詳細については、手順に従い、特定のログフォワーダーを無効にしてください。
これをtrue
に設定すると、ログがNew Relicに送信されます。
ログをNew Relicに送信しない場合は、これをfalse
に設定します。
enabled
= true
の場合、ログはPHP エージェントから直接転送され、メタデータがリンクされるため、コンテキストのログ機能を動作できます。PHPエージェントは、メタデータをアプリケーションログ出力に書き込みしません。enabled
= false
の場合、ログデータはNew Relicに送信されず、アプリケーションログ出力は変更されません。
設定ファイルの例(newrelic.ini
):
newrelic.application_logging.enabled = true
範囲: | PERDIR |
---|---|
タイプ: | 整数 |
デフォルト: |
|
Max: |
|
送信する1分あたりのログラインの最大数を指定する正の整数。
ログの送信を事実上無効にするには、これを0
に設定します。
これをより低い値に設定して、送信されるログラインの量を減らします(ログサンプリングの原因になる場合があります)。これをより高い値に設定すると、より多くのログラインが送信されます。
各ログは、関連トランザクションと同じ優先度を受け取ります。max_samples_stored
によって制限されているため、一部のログが含まれない場合があります。たとえば、ロギングmax_samples_stored
が10,000に設定され、トランザクション1に10,000のログエントリがある場合、トランザクション1のログエントリのみが記録されます。トランザクション1のログが10,000未満の場合、トランザクション1のすべてのログを受け取ります。まだスペースがある場合は、トランザクション2のすべてのログを受け取るなどとなります。優先度の高いログエントリは、優先度の低いログエントリよりも保持されます。
ヒント
これは、1分あたりに送信するログの数を指します。max_samples_stored
を12未満の値に設定すると、ログが送信されなくなります。
ヒント
負以外の整数は有効ですが、現在サポートされている最大値は20,000です。
設定ファイルの例(newrelic.ini
):
newrelic.application_logging.forwarding.max_samples_stored = 10000
範囲: | PERDIR |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
エージェントが転送したメッセージのログレベルを制御できます。認識されるログレベルはPSR-3仕様に従い、次の通りです(重要度が高い順)。
EMERGENCY
ALERT
CRITICAL
ERROR
WARNING
NOTICE
INFO
DEBUG
エージェントにログレベルが指定されている場合、このログレベルまたは重要度の高いメッセージがすべてレポートされます。
エージェントは、デフォルトで
WARNING
のログレベルに設定されます。設定ファイルの例(
newrelic.ini
):newrelic.application_logging.forwarding.log_level = "INFO"
PHPエージェントは、サポート対象のロギングフレームワークのログイベントに関連するメトリクスを収集できます。newrelic.application_logging.metrics.enable
オプションで、これらのメトリクスの作成が制御されます。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
APMサマリーページのチャートに表示されるログとログレベルに関するメトリクス情報の取得を有効にします。
エージェントがログに関するメトリック情報を取得できるようにするには、この設定をtrueのままにします。
これをfalse
に設定すると、この機能を無効にできます。
重要
ログメトリクスの収集を無効にすると、サマリーページのログチャートが空白になります。
重要
既存のログ転送ソリューションがあり、コンテキストに応じて自動ログを使用するようにエージェントを更新する場合は、手動のログフォワーダーを必ず無効にしてください。そうしないと、アプリは重複したログデータを送信します。アカウントによっては、二重請求になる場合があります。詳細については、手順に従い、特定のログフォワーダーを無効にしてください。
トランザクショントレーサー .ini 設定
これらの設定値を使用して、トランザクショントレースを制御します。
範囲: | PERDIR |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
これを、ユーザー定義の関数またはインストゥルメントのメソッドのコンマで区切ったリストに設定します。
"myfunction,myclass::method,otherfunction"
内部PHP関数は、カスタムトレーシングを有することはできません。
各PERDIRファイルをカスタム関数のリストに追加できますが、すでに追加されている関数またはメソッドを削除することはできません。プログラムで関数またはインストゥルメントするメソッドを追加する場合は、newrelic_add_custom_tracer()
API関数呼び出しを使用します。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
トランザクショントレーサーを有効化または無効化します。
トレーサーは、newrelic.transaction_tracer.threshold
値で設定された閾値より時間がかかるトランザクションの、詳細なトランザクショントレースを作成します。1収集サイクル、1アプリケーションにつき、1つのトランザクショントレースのみが保存され、それは常にそのサイクル中で最も遅いトランザクションとなります。
トランザクショントレースは、特定のトランザクションが遅い理由を診断する際に有用です。メモリとパフォーマンスがクリティカルな場合を除き、ほとんどは無効にしないでください。これを有効にしてもパフォーマンスへの影響は非常にわずかで、メモリの使用量は増えます。
詳細については、newrelic.transaction_tracer.detail
を参照してください。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
スロークエリの呼び出しに対するMySQLiおよびPDO MySQLライブラリからの説明プランの要求を、有効または無効にします。説明プランは、newrelic.transaction_tracer.slow_sql
がtrue
に設定されていて、newrelic.transaction_tracer.record_sql
が"off"
に設定されていない場合にのみ利用できます。
範囲: | PERDIR |
---|---|
タイプ: | 期間 |
デフォルト: |
|
クエリが「遅い」と見なされ、スロークエリページの候補となる閾値を設定します。単位付きの絶対値として期間を指定します。指定がない場合、デフォルトの単位はミリ秒となります。
期間の例
"200ms"
"1s250ms"
"1h30m"
"750us"
範囲: | SYSTEM |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
内部関数(Cで記述され、PHP標準ライブラリまたはPECL拡張子のいずれかで提供される関数)のトレーシングのサポートを有効化または無効化します有効にすると、内部関数は、PHPで記述された関数のようにトランザクショントレースに表示されます。
このオプションを有効にすると、特にPHP 5.xから多くのトレースを収集する際に、トランザクションが遅くなる場合があります。このオプションの有効化は、特に内部関数が遅いと疑われるパフォーマンス問題をデバッグする場合にのみ推奨されます。
範囲: | PERDIR |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
クエリの記録方法(行う場合)を設定します。
トランザクショントレースを内部で記録する場合、スロークエリ呼び出しのクエリ全体が記録されます。このクエリをNew Relicに送信すると、セキュリティに重大な影響が生じる場合があるため、デフォルトではすべてのデータベースステートメントは、New Relicに送信する前に難読化されます。難読化ではクエリの文字列と数字を疑問符に置換するため、可逆性はありません。値も変わるため、影響がないのは、フィールド名だけとなります。
機密でないデータでテストを行っており、トランザクショントレースで生クエリを表示する必要がある場合は、
"raw"
に設定します。クエリを全く記録しない場合は、
"off"
に設定します。重要
本番環境では、常に
"obfuscated"
または"off"
に戻してください。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
スロークエリ機能を有効化または無効化するには、この設定を使用します。有効化すると、次のようになります。
1分当たり、1アプリケーション毎に、最も遅いデータベースクエリの上位10位を記録します。
クエリにつながるスタックトレースを作成します。
この変数が
false
に設定されている、またはSQL記録が無効化されている場合は、New Relicエージェントはスロークエリデータを収集しません。
範囲: | PERDIR |
---|---|
タイプ: | 期間 |
デフォルト: |
|
これにより、クエリを記録中のトランザクショントレースのPHPスタック全体をエージェントが記録する上限閾値が設定されます。
単位付きの絶対値として期間を指定します。指定がない場合、デフォルトの単位はミリ秒となります。
期間の例
"200ms"
"1s250ms"
"1h30m"
"750us"
スタックトレースはメモリを消費するため、この値をあまり低く設定しないよう注意してください。この変数は、
newrelic.transaction_tracer.record_sql
が"off"
に設定されている場合は意味がありません。
範囲: | PERDIR |
---|---|
タイプ: | 期間 |
デフォルト: |
|
この変数を使用して、トランザクションがトレースの対象となる閾値を設定します。使用できる値は、以下のとおりです。
"apdex_f"
を使用して、閾値をアプリケーションのapdex_t値の4倍に設定します。詳細については、Apdex: ユーザー満足度の測定を参照してください。特定の時間閾値を設定するには、その他の期間文字列を使用します。絶対値および測定単位として、期間を指定します。指定がない場合、デフォルトの単位はミリ秒となります。
期間の例
"200ms"
"1s250ms"
"1h30m"
"750us"
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
この設定を使用して、スロークエリおよびトランザクショントレースによるDQL入力クエリの収集を有効化または無効化します。有効にすると、スロークエリおよびトランザクショントレースとともに表示されます。
範囲: | PERDIR |
---|---|
タイプ: | 数 |
デフォルト: |
|
PHPエージェントがウェブトランザクションについて記録するセグメントの最大数を指定します。この最大値に達すると、サンプリングされます。
PHPエージェントは、収集したセグメントとして、トランザクショントレースとディストリビューティッド(分散)トレースをレポートします。各セグメントは、トランザクショントレースでのメソッドまたは関数呼び出しを表します。この設定のデフォルト値は0
です。これは、PHPエージェントがウェブトランザクション中にすべてのセグメントをキャプチャすることを表します。トランザクション終了時に、最も優先順位の高いセグメントを組み合わせて、トランザクショントレースでレポートします。
数十万または数百万の関数呼び出しのある、長時間実行されるPHPプロセスでは、この値を1
より大きな値に設定すると、PHPエージェントがセグメント記録時にシステムメモリを大量に消費することがなくなります。
セグメントサイズは、対応するメソッド名、クラス名の長さ、メソッドによるその後の呼び出し数によって異なります。つまり、控えめに見積もっても、1セグメント当たり400バイトとなります。PHPエージェントをセグメントのキャプチャにつき40 MBに制限するには、この値を100000
に設定します。この値を2000
より低く設定すると、トランザクショントレースにレポートされるセグメントの合計数がさらに制限されます。
この設定はPHPのウェブプロセス専用です。PHP CLIプロセスに影響はありません。CLIプロセスの制限を設定するには、newrelic.transaction_tracer.max_segments_cli
を使用します。
範囲: | PERDIR |
---|---|
タイプ: | 数 |
デフォルト: |
|
PHPエージェントがCLIトランザクションについて記録するセグメントの最大数が指定されます。その最大値に達すると、サンプリングされます。
PHPエージェントは、収集したセグメントとして、トランザクショントレースとディストリビューティッド(分散)トレースをレポートします。各セグメントは、トランザクショントレースでのメソッドまたは関数呼び出しを表します。この設定のデフォルト値は100000
です。これは、PHPエージェントがウェブトランザクション中にすべてのセグメントをキャプチャすることを表します。トランザクション終了時に、最も優先順位の高いセグメントを組み合わせて、トランザクショントレースでレポートします。
数十万または数百万の関数呼び出しのある、長時間実行されるPHPプロセスでは、この値を1
より大きな値に設定すると、PHPエージェントがセグメント記録時にシステムメモリを大量に消費することがなくなります。
セグメントサイズは、対応するメソッド名、クラス名の長さ、メソッドによるその後の呼び出し数によって異なります。つまり、控えめに見積もっても、1セグメント当たり400バイトとなります。PHPエージェントをセグメントのキャプチャにつき40 MBに制限するには、この値を100000
に設定します。この値を2000
より低く設定すると、トランザクショントレースにレポートされるセグメントの合計数がさらに制限されます。
この設定はPHP CLIプロセス専用です。PHPウェブプロセスに影響はありません。ウェブプロセスの制限を設定するには、newrelic.transaction_tracer.max_segments_web
を使用します。
その他のトレーサー .ini 設定
これらの設定値を使用して、さまざまなトレーサー機能を制御します。
重要
クロスアプリケーショントレーシングは廃止され、PHPエージェントバージョン9.21.0.311ではデフォルトで無効になっています。ディストリビューティッド(分散)トレーシング機能を推奨します。この機能は、クロスアプリケーショントレーシングを改善します。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
クロスアプリケーショントレーサーを有効化または無効化します。クロスアプリケーショントレーサーは、アプリケーション間でウェブトランザクションメトリクスとトランザクショントレースを関連付けるため、HTTPヘッダーをアウトバウンドリクエストとレスポンスに挿入します。
ディストリビューティッド(分散)トレーシングとクロスアプリケーショントレーシングは同時に使用できません。PHPエージェントのデフォルト設定では、ディストリビューティッド(分散)トレーシングが有効になり、クロスアプリケーショントレーシングが無効になります。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
重要
ディストリビューティッド(分散)トレーシングを有効にすると、クロスアプリケーショントレーシングが無効になります。移行ガイドを読み、New Relicの機能への影響について理解してください。
ディストリビューティッド(分散)トレーシングを有効化または無効化します。Node.jsエージェント9.21.0以降では、デフォルトでオンになっています。エージェントのトランザクショントレーサーとディストリビューティッド(分散)トレーシング機能が有効になっている場合、エージェントはヘッダーをアウトバウンドリクエストに挿入し、ディストリビューティッド(分散)トレーシングヘッダーの着信リクエストをスキャンします。
newrelic.transaction_tracer.enabled = truenewrelic.distributed_tracing_enabled = true
詳細については、PHPサービスのディストリビューティッド(分散)トレーシングを参照してください。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
アウトバウンドリクエストに添付されたNew Relicディストリビューティッド(分散)トレーシングヘッダーを除外するには、これをtrueに設定し、ディストリビューティッド(分散)トレーシング用のW3Cトレースコンテキストヘッダーにのみ依存します。これがfalseの場合、両方のタイプのヘッダーがアウトバウンドリクエストに添付されます。
New Relicディストリビューティッド(分散)トレーシングヘッダーを使用すると、W3Cトレースコンテキストヘッダーをサポートしていない古いエージェントとの相互運用が可能になります。W3Cトレースコンテキストヘッダーをサポートするエージェントバージョンは、ディストリビューティッド(分散)トレーシング用のNew Relicヘッダーよりこのヘッダーを優先します。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
スパンイベントはディストリビューティッド(分散)トレーシングにレポートされます。スパンイベントをレポートするには、ディストリビューティッド(分散)トレーシングが有効になっている必要があります。このオプションは、スパンイベントのレポートを有効化/無効化します。
範囲: | PERDIR |
---|---|
タイプ: | 整数 |
デフォルト: |
|
スパンイベントはディストリビューティッド(分散)トレーシングにレポートされます。この値は、収集サイクルごとにコレクターに送信されるスパンイベントの最大数を設定します。値0
はエージェントのデフォルトである2000
を使用します。最大設定は10000
です。
範囲: | PERDIR |
---|---|
タイプ: | 文字列 |
デフォルト: |
|
無限トレーシングに使用するトレースオブザーバーを設定します。空白の場合、無限トレーシングのサポートは無効になります。この場合、ディストリビューティッド(分散)トレーシングとスパンイベントが有効になっている必要があります。
範囲: | PERDIR |
---|---|
タイプ: | 整数 |
デフォルト: |
|
無限トレーシングトレースオブザーバーとの通信に使用するTCP/IPポートを設定します。newrelic.infinite_tracing.trace_observer.host
が空の場合、この設定は無視されます。この設定は、通常、変更する必要はありません。
範囲: | PERDIR |
---|---|
タイプ: | 整数(1000以上) |
デフォルト: |
|
無限トレーシングトレースオブザーバーへの送信についてキューに登録可能なスパンイベント数を設定します。エージェントは、スパンバッチ内の無限トレーシングのスパンイベントを内部で管理します。これらのスパンバッチは、最大で1000スパンを保有できます。よって、スパンイベントのキューサイズは1000
以下にはできません。それ以下にすると、1つのスパンバッチもキューに登録できません。1000以下のキューサイズを指定すると、最小サイズ1000
が使用されます。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
エラーコレクターを有効化または無効化します。有効にすると、エージェントはPHPエラーを収集し、New Relic UIにレポートします。
エージェントは、各トランザクションの最も重大なエラー、および収集サイクル当たり最大20件のエラーのみを記録します。
ヒント
APMでのエラー設定の概要については、APMでのエラーの管理を参照してください。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
有効にすると、エージェントはMySQL関数が返したエラーを、PHPエラーとして収集します。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
newrelic_notice_error()
API関数で特定されたエラーに最も高い優先度を割り当てるには、これをtrue
に設定します。
範囲: | PERDIR |
---|---|
タイプ: | 文字列 |
デフォルト: | (なし) |
エージェントが無視すべき完全修飾例外クラス名の、カンマで区切ったリスト。捕捉されない例外が発生した場合、エージェントはリストにある各クラスについて、$exception instanceof Class
と同様のことを実行します。これらのチェックでtrueが返された場合、エージェントは例外を記録しません。
サポートされているPHPリリースによっては、これらの値は例外レポートを無効にする場合と同じになります。
- サポートされたPHP 5バージョン:
newrelic.error_collector.ignore_exceptions = Exceptions
- サポートされたPHP 7バージョン:
newrelic.error_collector.ignore_exceptions = Throwable
範囲: | PERDIR |
---|---|
タイプ: | 整数またはPHPで定義されたエラー定数のビット単位の式 |
デフォルト: |
|
PHPエージェントのエラーレベルをignoreに設定します。この設定の値は、PHPのerror_reporting
オプションと同様の構文を使用します。たとえば、PHPエージェントがE_WARNING
とE_ERROR
レベルエラーを無視するように設定する場合は、次を使用します。
newrelic.error_collector.ignore_errors = E_WARNING | E_ERROR
または
newrelic.error_collector.ignore_errors = 3
PHPエージェントを使用してE_WARNING
以外のすべてを無視するよう設定するには、次を使用します。
newrelic.error_collector.ignore_errors = E_ALL & ~E_WARNING
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
メモ: | バージョン3.0以下のエージェントでは、この値のデフォルトは |
Drupalモジュールトラッキングを有効にするには、これをtrue
に設定します。このオプションは、newrelic.transaction_tracer.detail
と同じパフォーマンスへの影響があります。Drupalモジュール関数と呼び出し数の記録が有効になり、ウェブトランザクションのようにモジュールタブに表示されます。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
WordPressフックトラッキングを有効にするには、これをtrue
に設定します。WordPressフック、プラグイン、テーマの記録が有効になり、 New Relic UIのWordPressタブに表示されます。
範囲: | PERDIR |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
ファイル名を使用してウェブトランザクションに名前を付ける場合を除き、これはnewrelic.webtransaction.name.functions
と同じです。ファイル名は、PCREで使用する標準のPOSIX正規表現にできます。たとえば、"controllers/actions/.*"
のようになります。
範囲: | PERDIR |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
New RelicエージェントがDrupalまたはWordpressなど、特定のフレームワークを検知する場合を除き、ウェブトランザクションは最初のPHPファイルの後に命名されます。たとえば、article.php
のようになります。
最初のファイルがディスパッチャーの場合、この命名スキームでは有用性が低いデータが生成されます。この変数を使用して、ディスパッチャーが生成した「アクション」である関数のリストを指定します。ウェブトランザクションの名前は、関数が実行する最初のアクションとなります。
ディスパッチ関数命名の例
index.php
が以下の名前の関数にディスパッチする場合:
login
、logout
、admin
、show
およびedit
この値を
"login,logout,admin,show,edit"
に設定します。ウェブトランザクションは、
/index.php
(最初のファイル名)ではなく、login
、logout
などと命名されます。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
有効になっている場合、これにより、スクリプト名の後のリクエストURIの内容が削除されます。たとえば、これにより末尾の/xyz/zy
が/path/to/foo.php/xyz/zy
から削除されます。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
false
の場合、エージェントはデータストアインスタンスメトリクスをレポートせず、host
またはport_path_or_id
パラメーターをトランザクションまたは遅いsqlトレースに追加しません。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
false
の場合、エージェントはdatabase_name
パラメーターをトランザクションまたは遅いsqlトレースに追加しません。
属性の設定
このセクションには、属性の収集とレポートに影響を与える設定が一覧記載されています。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
PHPエージェントが生成した、またはnewrelic_add_custom_parameter()
でユーザーが生成した属性の収集を有効化または無効化します。この設定は、その他のすべての属性設定に優先します。
詳細については、属性の有効化および無効化を参照してください。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
どの宛先が属性を受信するかを制御します。この設定は、.include
および.exclude
設定を上書きします。
使用可能な宛先の詳細については、属性の有効化および無効化を参照してください。
範囲: | PERDIR |
---|---|
タイプ: | 文字列 |
デフォルト: | (なし) |
これは、属性の宛先の細かい制御を可能にする設定オプションのファミリーです。詳細については、属性の有効化および無効化を参照してください。
カスタムイベント
このセクションでは、カスタムイベントのレポートに影響する設定を示します。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
newrelic_record_custom_event()
を通じてユーザーが生成したイベントの収集を有効または無効にします。この設定は、その他のすべての属性設定に優先します。
詳細については、カスタムイベントと属性のレポートを参照してください。
範囲: | PERDIR |
---|---|
タイプ: | 整数 |
デフォルト: |
|
Max: |
|
1分あたりに送信するカスタムイベントの最大数を指定する正の整数。
これを0
に設定すると、カスタムイベントの送信が事実上無効になります。カスタムイベント生成を有効または無効にするには、newrelic.custom_insights_events.enabled
を設定することを推奨します。
これをより低い値に設定して、送信されるカスタムイベントの量を減らします(カスタムイベントサンプリングの原因になる場合があります)。これをより高い値に設定すると、より多くのカスタムイベントが送信されます。
重要
newrelic.custom_events.max_samples_stored
INI変数が10.4.0.316リリースで追加されました。
コードレベルのメトリクス
このセクションでは、コードレベルのメトリクスのレポートに影響する設定を示します。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
コードレベルのメトリクスの収集を有効または無効にします。
重要
newrelic.code_level_metrics.enabled
INI変数が10.4.0.316リリースで追加され、デフォルトで無効になっていました。コードレベルのメトリクスは、バージョン10.6.0からデフォルトで有効になっています。
その他の .ini 設定
このセクションには、残りのnewrelic.ini設定が一覧記載されています。
範囲: | SYSTEM |
---|---|
タイプ: | ブール値 |
デフォルト: | (なし) |
New Relicエージェントを有効化または無効化します。デフォルトでは、New Relic PHPエージェントはすべてのディレクトリに対して有効になっています。
ウェブサーバーに複数のサイトがあるが、PHPエージェントに特定のサイトのみを監視させたい場合:
newrelic.ini
ファイルのグローバル(システム)レベルでnewrelic.enabled
がtrue
に設定されていることを確認します。1つ以上の特定のサイトについて、ディレクトリごと(PERDIR)に、
newrelic.enabled
をfalse
に設定します。グローバルにエージェントを無効にする必要がある場合は、
newrelic.ini
ファイルでnewrelic.enabled
の値をfalse
に設定します。エージェントがグローバルで無効になっている場合は、完全に初期化されません。重要な理由でグローバルに無効にしていると想定し、エージェントはPHPへの影響を可能な限りゼロに近くしようとします。
重要
エージェントをグローバルで無効にしてから、
.htaccess
を使用してディレクトリごとに選択的に有効にすることはできません。
範囲: | SYSTEM |
---|---|
タイプ: | 文字列(引用符を使用) |
デフォルト: |
|
ここでは、メッセージのロギング用ファイル名を特定します。これは、エージェントによる問題のデバッグに有用です。設定がどのようなものであっても、以下を確認してください。
- 含まれるディレクトリとファイル自体の許可が正しい。
- PHPが実行するユーザーがファイルに書き込みできる。通常、これはウェブサーバーと同じユーザーです。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
true
に設定すると、エージェントはエラーイベントデータを収集し、レポートします。イベントデータを使用すると、New Relic UIはエラー分析を表示できます。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
この設定により、PHPエージェント内の新規および実験的な機能が有効になります。これらのフラグを使用して、PHPエージェントの後のバージョンでデフォルトで有効化される予定の機能を、選択的に可能にします。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
これにより、ブラウザモニタリングのためのJavaScript断片の自動挿入が可能になります。有効化すると、エージェントがヘッダーとフッターをHTML出力に挿入し、エンドユーザー体験のためのページロードタイミングに関するメトリクスが生成されます。詳細については、PHPでのページロードタイミングを参照してください。
範囲: | PERDIR |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
New Relicと一緒に使用する際のGuzzleライブラリのサポートを有効化または無効化します。
- PHPエージェントバージョン6.4以上:この設定はデフォルトで
true
に設定されます。
範囲: | SYSTEM |
---|---|
タイプ: | ブール値 |
デフォルト: |
|
メモ: | PHPエージェントバージョン9.4に導入 |
プレロードが有効化されている場合に、フレームワークとライブラリの検知が可能になります。プレロードはPHPバージョン7.4で導入されました。newrelic.preload_framework_library_detection
は、opcache.preload
がphp.ini
ファイルで設定されている場合のみ有効になります。