PHPエージェントには、レポートされたデータのタイプと量を微調整するための多くの設定があります。ほとんどのユーザーにとっては、デフォルト値で最善のオーバーヘッドと使用しやすさが実現されます。ただし、特定のニーズに対する設定は変更できます。
優先度の設定 以下の簡単な図は、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
の出力を見直します。
ブラウザで、次のスクリプトを含むページの出力を見直します:
newrelic.ini
ファイルが表示されたら、それを使用します。
変数の範囲 newrelic.ini
ファイルの各変数には、定義された範囲があります。範囲は、設定をどこで確立または変更できるかを制御します。
New Relic設定にサポートされている2つの範囲は、次のとおりです。
SYSTEM :値はグローバルnewrelic.ini
ファイルでグローバルに設定されます。PERDIR :値はディレクトリごと に設定されます。それぞれを、より一般的なレベルで設定することもできます。それぞれの有効なロケーションは、次のとおりです。
Can be set for:
SYSTEM
PERDIR
グローバルnewrelic.ini
ファイルで設定します。
ディレクトリごとに設定します。
重要 New Relic設定に、ini_set()
は使用できません。
変数のタイプ newrelic.ini
ファイルの各変数には、定義されたタイプがあります。タイプによって使用する値の構文が指定されます。
Variable type
Formatting and contents
String
文字列値には、英数字とピリオドを含めることができます。値は引用符で区切られます。
Boolean
論理的な真偽設定。有効な値は、次のとおりです。
trueまたはenabledの場合:on
、true
、番号1
。 falseまたはdisabledの場合:off
、false
、番号0
。 Number
数値には、桁数に加え、フロートを表すピリオドのみを含めることができます。別途記載がある場合を除き、すべての数字はフロートではなく整数です。
Duration
期間を表す、引用符で区切られた文字列の値。文字フラグを使用して、時間コンポーネントを区切ります。フラグがない場合、時間はミリ秒となります。
一般構成設定 これらの設定は、newrelic.ini
ファイルで使用できます。
newrelic.appname (強く推奨) 範囲:
PERDIR
タイプ:
文字列(引用符を使用)
デフォルト:
"PHP Application"
この設定オプションで、APMでデータがレポートされるアプリケーション名が設定されます。混同や非意図的なデータの集計を避けるために、デフォルト名を分かりやすい名前に置き換えることを強く推奨します。同じ名前のすべてのアプリケーションのデータは、New Relicにマージされるため、この設定は慎重に行ってください。
ディレクトリごとの設定を含むすべてのアプリケーション命名オプションについては、PHPアプリケーションの命名 を参照してください。
設定の値は、最大で3つのアプリケーション名をセミコロンで区切ったリストです。リストの最初の名前は、primary アプリケーション名です。各アカウントに一意でなければなりません 。アプリケーション名は、キャッシュへのキーとして使用されます。アプリに複数の名前 を使用する場合、New Relicはキャッシングに最初の名前のみを使用します。したがって、各アプリケーション名は最初の要素としてonce しか表示されません。
キャッシング例 newrelic.appname="App1;App2"
を設定し、後でコードセットnewrelic.appname="App1;App3"
で設定すると、2番目のコードが機能しなくなります。キャッシングのため、App1 とApp2 にレポートされます。
アプリケーション名を重複 させる必要がある場合は、共通のアプリケーション名を第二または第三の位置に設定します。例:newrelic.appname="App2;App1"
とnewrelic.appname="App3;App1"
。たとえば、アプリケーションのスーパーセットを追跡する場合にこれは有用です。
newrelic.capture_params 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
false
注意 この設定は非推奨となっており、想定どおりに動作しない場合があります。代わりに、属性プロパティ を使用します。
この値をプログラムで設定するには、newrelic_capture_params()
API関数を使用します。
機密情報をURLで直接渡す場合は、これを無効にしてください。
true
に設定すると、トランザクショントレースでURL(URLの?
の後のすべて)を介してPHPスクリプトに渡されたパラメーターの記録が有効になります。これらは、トランザクショントレースを表示すると、Parameters ドロップダウンに表示されます。
newrelic.framework 範囲:
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つが検出された場合でもフレームワークを強制しない)
フレームワークの自動検知に失敗すると、このコマンドも失敗します。
newrelic.ignored_params 範囲:
PERDIR
タイプ:
文字列(引用符を使用)
デフォルト:
""
注意 この設定は非推奨となっており、想定どおりに動作しない場合があります。代わりに、属性プロパティ を使用します。
newrelic.ignored_params
設定を使用して、New Relic Serversに送信されたパラメーターのリストから除外されるパラメーター名のカンマ区切りされたリストを指定します。引用符で文字列の値を囲います。
newrelic.capture_params
でパラメーターのキャプチャを有効にした場合、New Relicによってキャプチャされたくない、またはトランザクションのトレースに表示したくない機密性の高いユーザーデータを持つパラメーターがある可能性がります。これを使用して、このデータの記録をブロックします。
newrelic.license (必須) 範囲:
PERDIR
タイプ:
文字列(引用符を使用)
デフォルト:
""
メモ:
エージェントバージョン3.0で導入されました。
使用するNew Relicライセンスキー を設定します。マルチテナントシステムでは、これはディレクトリごとに設定できます。
ヒント 旧エージェントバージョンから3.0以上にアップグレードすると、ライセンスは(理由を説明するコメントとともに)デーモン設定ファイルから削除され、ファイル/etc/newrelic/upgrade_please.key
に保存されます。そのファイルからライセンスをコピーし、newrelic.ini
ファイルに設定します。upgrade_please.key
ファイルを削除します。
newrelic.loglevel 範囲:
SYSTEM
タイプ:
文字列(引用符を使用)
デフォルト:
"info"
ログファイルに送信されたメッセージの詳細レベルを設定します。詳細度が低い順での可能な値は、次のとおりです。
error
warning
info
verbose
debug
verbosedebug
エージェントの問題をNew Relicテクニカルサポートに報告する場合は、verbosedebug
が最も有用な設定です。ただし、これにより多くの情報が非常に迅速に生成されるため、発生している問題の再現にかかる時間以上に、verbosedebug
レベルでエージェントを保存しない ようにしてください。
エージェントの問題をNew Relicテクニカルサポートに報告する際、これをカスタムレベルに設定し、特定のサブシステムについてのみデバッグを有効にするよう求められる場合があります。カスタムレベルは本ドキュメントの範囲外です。
newrelic.transaction_tracer.detail 範囲:
PERDIR
タイプ:
数
デフォルト:
1
メモ:
これは以前はnewrelic.transaction_tracer.top100
でした。
トランザクショントレースで詳細のレベルを設定します。
1
に設定すると、すべてのサーバーの呼び出しがトレースされます。
0
に設定すると、トレースにはNew Relicにより内部でインストゥルメントされた呼び出しと、newrelic.transaction_tracer.custom
を使用してユーザーが定義した呼び出しのみが含まれます。
デフォルトのレベル1
は、パフォーマンスに影響を与えます。パフォーマンスを改善する必要がある場合、詳細レベルを0
に設定するようにしてください。
すべてのサーバーの呼び出しをトレースしていない場合、トランザクショントレースの時間のブロックにはuninstrumented time とラベルが付けられ、特定の関数(エージェントにより内部で定義)のみがインストゥルメントされます。すべての呼び出しをレポートする場合でも、トレースにインストゥルメントされない時間 がある場合があります。
newrelic.high_security 範囲:
SYSTEM
タイプ:
ブール値
デフォルト:
false
すべてのアプリケーションについて高セキュリティを有効にします。高セキュリティを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ユーザーインタフェースでセキュリティ設定also 変更する必要があります。2つの設定が一致しない場合、データは収集されません。詳細については、高セキュリティ を参照してください。
newrelic.labels 範囲:
PERDIR
タイプ:
文字列(引用符を使用)
デフォルト:
""
タグ を追加します。
Example tags
"Server:One;Data Center:Primary"
newrelic.process_host.display_name 範囲:
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デーモン起動モード を参照してください。
newrelic.daemon.app_timeout 範囲:
SYSTEM
タイプ:
時間仕様文字列は、たとえば、"5m"
または "1h20m"
デフォルト:
"10m"
アプリケーションが非アクティブと見なされてからの経過時間を設定します。非アクティブアプリケーションは、アプリケーションの上限250にはカウントされません。許容単位は"ns"
、"us"
、"ms"
、"s"
、"m"
、および"h"
です。
値0
は、「タイムアウトなし」と解釈されます。これにより、新規アプリケーションは常にアプリケーションの上限250に対しカウントされ、デーモンはアプリケーションごとに少量のメモリをオペレーティングシステムに解放できなくなります。
推奨:New Relic Supportの要請がある場合を除き、この値は使用しないでください。代わりに、時折行われるバックグラウンドトランザクションには、間隔の2倍の値を使用してください。たとえば、1時間ごとのバックグラウンドジョブでは、タイムアウトを2時間に設定します。
newrelic.daemon.app_connect_timeout 範囲:
SYSTEM
タイプ:
時間仕様文字列は、たとえば、"1s"
または "5m"
デフォルト:
"0"
アプリケーションに接続するデーモンに対する、エージェントの最大待ち時間を設定します。値が"0"
の場合、エージェントはデーモンへの接続を1回しか試みません。許容単位は"ns"
、"us"
、"ms"
、"s"
、"m"
、および"h"
です。
このタイムアウトが設定されていると、デーモンがまだバックエンドに接続していない場合、エージェントはただちにトランザクションを停止せず、デーモンに接続を確立する時間を許可します。
推奨:タイムアウトを設定する場合、推奨値は"15s"
です。接続に問題がある場合、エージェントは毎回のトランザクション開始時に想定されるタイムアウトをブロックするため、時間のかかるバックグラウンドタスクのインストゥルメントを行う場合にのみこのタイムアウトを設定してください。
newrelic.daemon.auditlog 範囲:
SYSTEM
タイプ:
文字列(引用符を使用)
デフォルト:
""
設定では、監査ログの名前を指定します。ログには、完全なURL、日付、時間、各リクエストのエンコード化されていない非圧縮データを含む、デーモンからNew Relicサーバーに送信されたすべてのデータが含まれます。
このファイルは、デーモンのログと同じファイルにはできません。
重要 この監査ログは、非常に短時間で非常に大きくなる場合があります。長期間newrelic.daemon.auditlog
設定を使用しないようにしてください。システムアドミニストレーターがセキュリティレビューを行い、どのデータが転送されるかを正確に観察できるようにすることが、主な目的です。
newrelic.daemon.collector_host 範囲:
SYSTEM
タイプ:
文字列(引用符を使用)
デフォルト:
"collector.newrelic.com"
ライセンスキー の確認およびエージェントデータの送信のためにデーモンが連絡するコレクターホストの名前とオプションのポートを設定します。
これは、単にホストの名前または"hostname:port"
形式のポート番号のいずれかです。 ポート番号0
を指定すると、デフォルトポート80を使用します。
注意 New Relic Supportからのガイダンスなしに、この値を変更しないでください。
newrelic.daemon.dont_launch エージェントの起動前にデーモンを外部で起動したい場合は、この値により、エージェントがデーモンの起動をいつ許可されるかが決まります。
0
:デーモンの起動には制限はなく、エージェントはデーモンをいつでも起動できます。
1
:非コマンドライン(Apacheやphp-fpmなど)エージェントは、デーモンを起動できます。
2
:コマンドラインエージェントのみが、デーモンを起動できます。
3
:このエージェントはデーモンを起動することはありません。newrelic.cfg
を介してデーモンを設定しており、エージェント以外から起動している場合は、この設定を使用します。
重要 /etc/newrelic/newrelic.cfg
がある場合、エージェントは、エージェントを介してではなく、起動スクリプトによりデーモンが起動されるものと仮定します。この設定は、newrelic.cfg
に影響を与えず、そこに表示されません。
newrelic.daemon.location 範囲:
SYSTEM
タイプ:
文字列(引用符を使用)
デフォルト:
"/usr/bin/newrelic-daemon"
起動可能なデーモンの名前を設定します。
この変数は、デーモンが実行可能なファイルへのフルパスを特定します。標準パッケージを使用してNew Relicシステムがインストールされた場合、デフォルトの場所は正しいものとなります。tar配布を使用してカスタムの場所にインストールした(かつ/usr/bin
への書き込み許可がない)場合、デーモンは別の場所にある場合があります。
この設定はPHPにのみ関連しているため、newrelic.cfg
ファイルには表示されません。
重要 OpenSolarisでは、/usr
は多くの場合読み取り専用ファイルシステムです。OpenSolarisのデフォルトのデーモンの場所は/opt/newrelic/bin/newrelic-daemon
です。
newrelic.daemon.logfile 範囲:
SYSTEM
タイプ:
文字列(引用符を使用)
デフォルト:
"/var/log/newrelic/newrelic-daemon.log"
デーモン固有のログメッセージを記録するためのログファイルの名前を設定します。デーモンがこのファイルに書き込める必要があります。一般的には、Apacheユーザーの場合、Apache自体が起動するとデーモンが起動されるため、Apacheプロセスを実行しているユーザーがファイルに書き込みできることを確認してください。
注意 デーモンのログファイルに書き込みできない場合は、デーモンは自動的に起動せず、データのレポートは行われません。
誰がデーモンを起動できるかを制限する手段として、このファイルへの書き込み許可を使用できます。
newrelic.daemon.loglevel 範囲:
SYSTEM
タイプ:
文字列(引用符を使用)
デフォルト:
"info"
New Relicのデーモンのログファイルに記録されるメッセージの詳細レベルを設定します。詳細の度合いが低い順の、可能な値は次のとおりです。
newrelic.daemon.pidfile 範囲:
SYSTEM
タイプ:
文字列(引用符を使用)
デフォルト:
(OSにより異なります)
デーモンがプロセスID(pid)を記録するファイルの名前を設定します。
このファイルは、デーモンがすでに実行中かどうか判断するため、デーモン起動とシャットダウンスクリプトが使用します。
newrelic.daemon.address(newrelic.daemon.portのエイリアス) 範囲:
SYSTEM
タイプ:
文字列または数字
デフォルト:
"@newrelic"
Linuxの場合、それ以外の場合は"/tmp/.newrelic.sock"
ヒント v9.2.0.247 から、PHPエージェントは新たな設定であるnewrelic.daemon.address
をサポートします。この設定は、newrelic.daemon.port
のエイリアスとなるものです。New Relic PHPデーモンの場所を指定する場合にも使用できます。両方の値が設定された場合、newrelic.daemon.address
が優先されます。
エージェントからデーモンへの通信用にソケットエンドポイントが設定されます。
これは4つの方法で指定できます。
UNIXドメインソケット(UDS)として指定されたファイルを使用するには、文字列としてabsolute パス名を入力します。これが、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
設定は一致する必要があります。
newrelic.daemon.proxy 範囲:
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のいずれかに設定できます。
newrelic.daemon.ssl 範囲:
SYSTEM
タイプ:
ブール値
デフォルト:
true
この設定はPHPエージェントバージョン8.0以上では無視され、常にHTTPSを使用してNew Relicと通信します。
PHPエージェントバージョンが8.0以下の場合、New Relicコレクターとの通信で安全なHTTP接続を使用するかどうかが制御されます。エージェントはデフォルトでHTTPSを介してNew Relicと通信します。New Relicは、 APMとNew Relic REST APIへのすべてのトラフィックにHTTPSを要求 します。
newrelic.daemon.ssl_ca_bundle 範囲:
SYSTEM
タイプ:
文字列(引用符を使用)
デフォルト:
""
PEM形式のCA証明書を含むファイルの場所を設定します。設定すると、このファイルの証明書を使用して、New Relicコレクターが認証されます。ほとんどの場合、CAバンドの設定は不要です。New Relic PHPエージェントには、必要なCA証明書が同梱されます。
newrelic.daemon.ssl_ca_path
も設定している場合、このファイルの証明書が最初に検索され、次にnewrelic.daemon.ssl_ca_path
ディレクトリに含まれる証明書が検索されます。
newrelic.daemon.ssl
がfalse
に設定されている場合、この設定には影響しません。
newrelic.daemon.ssl_ca_path 範囲:
SYSTEM
タイプ:
文字列(引用符を使用)
デフォルト:
""
PEM形式の信頼されるCA証明書を含むディレクトリの場所を設定します。設定すると、このディレクトリの証明書を使用して、New Relicコレクターが認証されます。ほとんどの場合、CAパスの設定は不要です。New Relic PHPエージェントには、必要なCA証明書が同梱されます。
また、newrelic.daemon.ssl_ca_bundle
が設定されている場合は、最初に検索された後、newrelic.daemon.ssl_ca_path
に含まれる証明書が検索されます。
newrelic.daemon.ssl
がfalse
に設定されている場合、この設定には影響しません。
newrelic.daemon.start_timeout 範囲:
SYSTEM
タイプ:
時間仕様文字列は、たとえば、"1s"
または "5m"
デフォルト:
"0"
デーモン起動がトリガーされた後に、エージェントが待機する必要がある最大時間を設定します。値を"0"
にすると、エージェントは待機しません。許容単位は"ns"
、"us"
、"ms"
、"s"
、"m"
および"h"
です。
指定されたタイムアウト値は、--wait-for-port
フラグを介してデーモンに渡されます。これにより、ソケットの取得、またはタイムアウト時間が経過するまで、デーモンの起動がブロックされます。
推奨:タイムアウトを設定する場合、推奨値は"2s"
から"5s"
です。デーモンの起動に問題がある場合、エージェントは毎回のトランザクション開始時に想定されるタイムアウトをブロックするため、時間のかかるバックグラウンドタスクのインストゥルメントを行う場合にのみこのタイムアウトを設定することが推奨されます。
Logs in Context PHPエージェントのバージョン10.1.0では、APM logs in Context とともにPHPログを転送できます。バージョン10.3.0以降は、ログメトリクスとエージェントログ転送機能がデフォルトで有効になっています。この値newrelic.application_logging.enabled
は、Logs in Context機能の有効化または無効化を制御します。
ローカルエージェント設定ファイル(newrelic.ini
)の設定を変更するには、ウェブサーバーを再起動し、設定変更を有効化する必要があります。再起動しないと、変更がすぐに有効 にならない場合があります。
newrelic.application_logging.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
true
に設定して、Logs in contextのコア機能を有効にします。有効にすると、New Relicにログが送信されるかどうかにかかわらず、追加のロギングフレームワークインストゥルメンテーションが有効になります。
ログメトリクスとログ転送機能のコレクションなど、この機能を完全に無効にするには、false
に設定します。
Logs in Contextがデフォルトで有効化されるようになりました。この機能を無効にしている場合は、必ずアプリを再起動してください。再起動しないと、変更がすぐに有効になりません
設定ファイルの例:
newrelic.application_logging.enabled = true
newrelic.application_logging.metrics.enabled = true
newrelic.application_logging.forwarding.enabled = true
ログの転送 サポート対象のロギングフレームワーク を使用している場合は、アプリのログをNew Relicに転送するようにエージェントに指示できます。
newrelic.application_logging.forward.enabled
ログ転送を有効または無効にするnewrelic.application_logging.forwarding.max_samples_stored
アプリからNew Relicに転送するログの数を制限するnewrelic.application_logging.forwarding.log_level
アプリからNew Relicに転送するログの種類を選択するnewrelic.application_logging.forwarding.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
New Relicへのアプリケーションログの送信を有効にします。
これをtrue
に設定すると、ログがNew Relicに送信されます。これにより、Logs in Context機能を動作可能にするメタデータがリンクされるため、PHPエージェントからログが直接転送されます。PHPエージェントは、メタデータをアプリケーションログ出力に書き込みしません
ログをNew Relicに送信しない場合は、これをfalse
に設定します。enabled
がfalse
に設定されている場合、ログデータはNew Relicに送信されず、アプリケーションログ出力は変更されません
設定ファイルの例(newrelic.ini
):
newrelic.application_logging.enabled = true
既存のログ転送ソリューションがあり、エージェントをコンテキストで自動ログを使用するように更新する場合は、disable your old log forwarder にしてください。そうしないと、アプリは二重のログラインを送信します。アカウントによっては、二重請求になる場合があります。詳細については、手順に従い、特定のログフォワーダー を無効にしてください。
重要 ログ転送機能を使用すると、データの取り込みが増加し、請求に影響を及ぼす可能性があります。詳細については、データ取り込みの追跡 に関するドキュメントを参照してください。
newrelic.application_logging.forwarding.max_samples_stored 範囲:
PERDIR
タイプ:
整数
デフォルト:
10000
Max:
20000
値を正の整数に設定して、送信する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
newrelic.application_logging.forwarding.log_level 範囲:
PERDIR
タイプ:
文字列(引用符を使用)
デフォルト:
"WARNING"
エージェントが転送したメッセージのログレベルを制御できます。認識されるログレベルはPSR-3 仕様に従い、次の通りです(重要度が高い順)。
ログコンテキストデータ PHPエージェントは、Monologライブラリのコンテキストデータをキャプチャし、そのコンテキストを属性として転送されたログに追加します。エージェントが追加するコンテキストを制御するには、forwarding
セクション内のcontext_data
セクションの設定を使用します。
newrelic.application_logging.forwarding.context_data.enabled
Monologからのコンテキストデータをログ属性に追加するnewrelic.application_logging.forwarding.context_data.include
転送されたログで見つかる属性キーを定義するnewrelic.application_logging.forwarding.context_data.exclude
転送されたログで除外される属性キーを定義するnewrelic.application_logging.forwarding.context_data.enabled これをtrue
に設定すると、コンテキストデータをログ属性として追加します コンテキストデータを属性としてログに追加したくない場合は、これをfalse
に設定します newrelic.application_logging.forwarding.context_data.include 属性ルールをログコンテキスト属性に適用すると、include
ルールはルールセットで定義されていないすべての属性を削除します。これは、他のタイプのエージェント属性とは異なる動作です。
ログコンテキスト属性が期待どおりに表示されない場合は、newrelic.attributes.include
ルールセットを調べて、欠落している属性が除外の一部であることを確認する必要があります。newrelic.loglevel=verbosedebug
を設定して、エージェントからの詳細なログメッセージも有効化することをお勧めします。それが更新されたら、除外された属性に関するエージェントからのメッセージを探します。これで、包含/除外ルールを調整することができます context_data
がログ転送に対して有効になっている場合、このリストにあるすべての属性キーがログレコードに表示されます。空のリストは、デフォルトとしてすべての属性キーを送信しますすべてのinclude
リストが空の場合は、すべてのログコンテキスト属性が転送されます newrelic.application_logging.forwarding.context_data.exclude context_data
でログ転送が有効になっている場合、このリストにあるすべての属性キーがログレコードから除外されますこのフィールドを空のままにすると、デフォルトの動作になります。include
ルールが存在する 場合でも、属性が除外されることがあります include
とexclude
のリストは、属性の有効化と無効化 で定義されたルールに従います重要 PHPエージェントは、文字列キーと文字列またはスカラー(int、double、boolean)の値を持つログコンテキストデータのみを転送します。
ログ装飾 PHPエージェントは、リンクメタデータを収集しMonologログレコードに追加して、コンテキスト内のログが、サードパーティのログフォワーダーによって転送されたログデータと連携できるようにすることができます。この機能を有効にするには、newrelic.application_logging.local_decorating.enable
オプションを使用します。
newrelic.application_logging.local_decoating.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
false
これにより、Monologログレコードへのリンクメタデータの追加が可能になります。この機能を有効にするには、これをtrue
に設定します。APMログ転送機能を使用してログをNew Relicに転送する場合は、この設定をfalse
のままにしておきます。
重要 ログ装飾機能は、PHPエージェントリリース10.13.0.1で初めて導入されました。
ログ装飾機能では、リンクメタデータがログメッセージに含まれていることを確認するには、追加の手順が必要です。この機能の使用方法の詳細については、(コンテキスト内のPHPログ)[/docs/logs/logs-context/configure-logs-context-php]ページを参照してください。
ログ転送とログ装飾の両方を有効にすると、ログが重複してNew Relicに送信される可能性が非常に高くなります。
ログメトリクス PHPエージェントは、サポート対象のロギングフレームワーク のログイベントに関連するメトリクスを収集できます。newrelic.application_logging.metrics.enable
オプションで、これらのメトリクスの作成が制御されます。
newrelic.application_logging.metrics.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
APM Summary ページのチャートに表示されるログとログレベルに関するメトリクス情報の取得を有効にします。
エージェントがログに関するメトリック情報を取得できるようにするには、この設定をtrueのままにします。
これをfalse
に設定すると、この機能を無効にできます。
重要 ログメトリクスの収集を無効にすると、サマリーページのログチャートが空白になります。
重要 既存のログ転送ソリューションがあり、コンテキストに応じて自動ログを使用するようにエージェントを更新する場合は、disable your manual log forwarder にしてください。そうしないと、アプリは重複したログデータを送信します。アカウントによっては、二重請求が発生する可能性があります。 詳細については、手順に従い、特定のログフォワーダー を無効にしてください。
トランザクショントレーサー .ini 設定 これらの設定値を使用して、トランザクショントレースを制御します。
newrelic.transaction_tracer.custom 範囲:
PERDIR
タイプ:
文字列(引用符を使用)
デフォルト:
""
これを、ユーザー定義の関数またはインストゥルメントのメソッドのコンマで区切ったリストに設定します。
"myfunction,myclass::method,otherfunction"
内部PHP関数は、カスタムトレーシングを有することはできません。
各PERDIRファイルをカスタム関数のリストに追加できますが、すでに追加されている関数またはメソッドを削除することはできません。プログラムで関数またはインストゥルメントするメソッドを追加する場合は、newrelic_add_custom_tracer()
API関数呼び出しを使用します。
newrelic.transaction_tracer.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
トランザクショントレーサーを有効化または無効化します。
トレーサーは、newrelic.transaction_tracer.threshold
値で設定された閾値より時間がかかるトランザクションの、詳細なトランザクショントレースを作成します。1収集サイクル、1アプリケーションにつき、1つのトランザクショントレースのみが保存され、それは常にそのサイクル中で最も遅いトランザクションとなります。
トランザクショントレース は、特定のトランザクションが遅い理由を診断する際に有用です。メモリとパフォーマンスがクリティカルな場合を除き、ほとんどは無効にしないでください。これを有効にしてもパフォーマンスへの影響は非常にわずかで、メモリの使用量は増えます。
詳細については、newrelic.transaction_tracer.detail
を参照してください。
newrelic.transaction_tracer.explain_enabled newrelic.transaction_tracer.explain_threshold 範囲:
PERDIR
タイプ:
期間
デフォルト:
"500"
クエリが「遅い」と見なされ、Slow Queries ページの候補となる閾値を設定します。単位付きの絶対値として期間を指定します。指定がない場合、デフォルトの単位はミリ秒となります。
Example durations
"200ms"
"1s250ms"
"1h30m"
"750us"
newrelic.transaction_tracer.internal_functions_enabled 範囲:
SYSTEM
タイプ:
ブール値
デフォルト:
false
内部関数(Cで記述され、PHP標準ライブラリまたはPECL拡張子のいずれかで提供される関数)のトレーシングのサポートを有効化または無効化します有効にすると、内部関数は、PHPで記述された関数のようにトランザクショントレース に表示されます。
このオプションを有効にすると、特にPHP 5.xから多くのトレースを収集する際に、トランザクションが遅くなる場合があります。このオプションの有効化は、特に内部関数が遅いと疑われるパフォーマンス問題をデバッグする場合にのみ推奨されます。
newrelic.transaction_tracer.record_sql 範囲:
PERDIR
タイプ:
文字列(引用符を使用)
デフォルト:
"obfuscated"
クエリの記録方法(行う場合)を設定します。
トランザクショントレースを内部で記録する場合、スロークエリ呼び出しのクエリ全体が記録されます。このクエリをNew Relicに送信すると、セキュリティに重大な影響が生じる場合があるため、デフォルトではすべてのデータベースステートメントは、New Relicに送信する前に難読化されます。難読化ではクエリの文字列と数字を疑問符に置換するため、可逆性はありません。値も変わるため、影響がないのは、フィールド名だけとなります。
newrelic.transaction_tracer.slow_sql 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
スロークエリ機能を有効化または無効化するには、この設定を使用します。有効化すると、次のようになります。
newrelic.transaction_tracer.stack_trace_threshold 範囲:
PERDIR
タイプ:
期間
デフォルト:
"500"
これにより、クエリを記録中のトランザクショントレースのPHPスタック全体をエージェントが記録する上限閾値が設定されます。
単位付きの絶対値として期間を指定します。指定がない場合、デフォルトの単位はミリ秒となります。
Example durations
newrelic.transaction_tracer.threshold 範囲:
PERDIR
タイプ:
期間
デフォルト:
"apdex_f"
この変数を使用して、トランザクションがトレースの対象となる閾値を設定します。使用できる値は、以下のとおりです。
範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
この設定を使用して、スロークエリおよびトランザクショントレースによるDQL入力クエリの収集を有効化または無効化します。有効にすると、スロークエリおよびトランザクショントレースとともに表示されます。
newrelic.transaction_tracer.max_segments_web PHPエージェントがウェブトランザクションについて記録するセグメントの最大数を指定します。この最大値に達すると、サンプリングされます。
PHPエージェントは、収集したセグメントとして、トランザクショントレースとディストリビューティッド(分散)トレースをレポートします。各セグメントは、トランザクショントレースでのメソッドまたは関数呼び出しを表します。この設定のデフォルト値は0
です。これは、PHPエージェントがウェブトランザクション中にすべてのセグメントをキャプチャすることを表します。トランザクション終了時に、最も優先順位の高いセグメントを組み合わせて、トランザクショントレースでレポートします。
数十万または数百万の関数呼び出しのある、長時間実行されるPHPプロセスでは、この値を1
より大きな値に設定すると、PHPエージェントがセグメント記録時にシステムメモリを大量に消費することがなくなります。
セグメントサイズは、対応するメソッド名、クラス名の長さ、メソッドによるその後の呼び出し数によって異なります。つまり、控えめに見積もっても、1セグメント当たり400バイトとなります。PHPエージェントをセグメントのキャプチャにつき40 MBに制限するには、この値を100000
に設定します。この値を2000
より低く設定すると、トランザクショントレースにレポートされるセグメントの合計数がさらに制限されます。
この設定はPHPのウェブプロセス専用です。PHP CLIプロセスに影響はありません。CLIプロセスの制限を設定するには、newrelic.transaction_tracer.max_segments_cli
を使用します。
newrelic.transaction_tracer.max_segments_cli 範囲:
PERDIR
タイプ:
数
デフォルト:
100000
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 設定 これらの設定値を使用して、さまざまなトレーサー機能を制御します。
newrelic.cross_application_tracer.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
false
クロスアプリケーショントレーサーを有効化または無効化します。クロスアプリケーショントレーサーは、アプリケーション間でウェブトランザクションメトリクスとトランザクショントレースを関連付けるため、HTTPヘッダーをアウトバウンドリクエストとレスポンスに挿入します。
ディストリビューティッド(分散)トレーシングとクロスアプリケーショントレーシングは同時に使用できません。PHPエージェントのデフォルト設定では、ディストリビューティッド(分散)トレーシングが有効になり、クロスアプリケーショントレーシングが無効になります。
newrelic.distributed_tracing_enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
ディストリビューティッド(分散)トレーシング を有効化または無効化します。Node.jsエージェント9.21.0以降では、デフォルトでオンになっています。エージェントのトランザクショントレーサーとディストリビューティッド(分散)トレーシング機能が有効になっている場合、エージェントはヘッダーをアウトバウンドリクエストに挿入し、ディストリビューティッド(分散)トレーシングヘッダーの着信リクエストをスキャンします。
newrelic.transaction_tracer.enabled = true
newrelic.distributed_tracing_enabled = true
詳細については、PHPサービスのディストリビューティッド(分散)トレーシング を参照してください。
newrelic.distributed_tracing_exclude_newrelic_header 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
false
アウトバウンドリクエストに添付されたNew Relicディストリビューティッド(分散)トレーシングヘッダーを除外するには、これをtrueに設定し、ディストリビューティッド(分散)トレーシング用のW3Cトレースコンテキストヘッダーにのみ依存します。これがfalseの場合、両方のタイプのヘッダーがアウトバウンドリクエストに添付されます。
New Relicディストリビューティッド(分散)トレーシングヘッダーを使用すると、W3Cトレースコンテキストヘッダーをサポートしていない古いエージェントとの相互運用が可能になります。W3Cトレースコンテキストヘッダーをサポートするエージェントバージョンは、ディストリビューティッド(分散)トレーシング用のNew Relicヘッダーよりこのヘッダーを優先します。
newrelic.span_events_enabled newrelic.span_events.max_samples_stored スパンイベントはディストリビューティッド(分散)トレーシング にレポートされます。この値は、収集サイクルごとにコレクターに送信されるスパンイベントの最大数を設定します。値0
はエージェントのデフォルトである2000
を使用します。最大設定は10000
です。
newrelic.infinite_tracing.trace_observer.host 無限トレーシングに使用するトレースオブザーバーを設定します。空白の場合、無限トレーシングのサポートは無効になります。この場合、ディストリビューティッド(分散)トレーシング とスパンイベントが有効になっている必要があります。
newrelic.infinite_tracing.trace_observer.port 無限トレーシングトレースオブザーバーとの通信に使用するTCP/IPポートを設定します。newrelic.infinite_tracing.trace_observer.host
が空の場合、この設定は無視されます。この設定は、通常、変更する必要はありません。
newrelic.infinite_tracing.span_events.queue_size 範囲:
PERDIR
タイプ:
整数(1000以上)
デフォルト:
100000
無限トレーシングトレースオブザーバーへの送信についてキューに登録可能なスパンイベント数を設定します。エージェントは、スパンバッチ内の無限トレーシングのスパンイベントを内部で管理します。これらのスパンバッチは、最大で1000スパンを保有できます。よって、スパンイベントのキューサイズは1000
以下にはできません。それ以下にすると、1つのスパンバッチもキューに登録できません。1000以下のキューサイズを指定すると、最小サイズ1000
が使用されます。
newrelic.error_collector.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
エラーコレクターを有効化または無効化します。有効にすると、エージェントはPHPエラーを収集し、New Relic UIにレポートします。
エージェントは、各トランザクションの最も重大なエラー、および収集サイクル 当たり最大20件のエラーのみを記録します。
newrelic.error_collector.record_database_errors 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
有効 にすると、エージェントはMySQL関数が返したエラーを、PHPエラーとして収集します。
newrelic.error_collector.prioritize_api_errors newrelic.error_collector.ignore_exceptions 範囲:
PERDIR
タイプ:
文字列
デフォルト:
(なし)
エージェントが無視すべき完全修飾例外クラス名の、カンマで区切ったリスト。捕捉されない例外が発生した場合、エージェントはリストにある各クラスについて、$exception instanceof Class
と同様のことを実行します。これらのチェックでtrueが返された場合、エージェントは例外を記録しません。
サポートされているPHPリリース によっては、これらの値は例外レポートをdisabling 場合と同じになります。
サポートされたPHP 5バージョン: newrelic.error_collector.ignore_exceptions = Exceptions
サポートされたPHP 7バージョン: newrelic.error_collector.ignore_exceptions = Throwable
newrelic.error_collector.ignore_errors 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
newrelic.framework.drupal.modules 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
メモ:
バージョン3.0以下のエージェントでは、この値のデフォルトはfalse
でした。このオプションを設定すると、newrelic.transaction_tracer.detail = 1
が暗示されます。
Drupalモジュールトラッキングを有効にするには、これをtrue
に設定します。このオプションは、newrelic.transaction_tracer.detail
と同じパフォーマンスへの影響があります。Drupalモジュール関数と呼び出し数の記録が有効になり、ウェブトランザクションのようにModules タブに表示されます。
newrelic.framework.wordpress.hooks 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
WordPressフックトラッキングを有効にするには、これをtrue
に設定します。WordPressフック、プラグイン、テーマの記録が有効になり、 New Relic UIのWordPress タブに表示されます。
newrelic.framework.wordpress.hooks.options 範囲:
PERDIR
タイプ:
文字列
デフォルト:
"plugin_callbacks"
WordPressフックの実装方法のオプションを設定します。New Relicエージェントは、WordPressフックに関するさまざまなレベルの洞察を提供できます。デフォルトでは、プラグイン/テーマコールバック(「plugin_callbacks」)のみがインストゥルメントされています。エージェントのオーバーヘッドが増加する代わりに、インストゥルメンテーションをすべてのフックコールバック関数(「all_callbacks」)に拡張することが可能です。3番目のオプションは、コールバック(「閾値」)をインストゥルメントせずにフックを監視することです。このオプションでは、プラグイン/テーマに関する洞察は得られません。WordPress固有のインストルメンテーションについて詳しくは、こちら をご覧ください。
newrelic.framework.wordpress.hooks.threshold New RelicエージェントがWordPressフックの実行を記録する閾値を設定します。「閾値」にnewrelic.framework.wordpress.hooks.optionsが設定されている場合に使用されます。
newrelic.webtransaction.name.files newrelic.webtransaction.name.functions 範囲:
PERDIR
タイプ:
文字列(引用符を使用)
デフォルト:
""
New RelicエージェントがDrupalまたはWordpressなど、特定のフレームワークを検知する場合を除き、ウェブトランザクションは最初のPHPファイルの後に命名されます。たとえば、article.php
のようになります。
最初のファイルがディスパッチャーの場合、この命名スキームでは有用性が低いデータが生成されます。この変数を使用して、ディスパッチャーが生成した「アクション」である関数のリストを指定します。ウェブトランザクションの名前は、関数が実行する最初のアクションとなります。
Example dispatch function naming
index.php
が以下の名前の関数にディスパッチする場合:
login
、
logout
、
admin
、
show
および
edit
この値を"login,logout,admin,show,edit"
に設定します。
ウェブトランザクションは、/index.php
(最初のファイル名)ではなく、login
、logout
などと命名されます。
newrelic.webtransaction.name.remove_trailing_path 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
false
有効になっている場合、これにより、スクリプト名の後のリクエストURIの内容が削除されます。たとえば、これにより末尾の/xyz/zy
が/path/to/foo.php/xyz/zy
から削除されます。
newrelic.datastore_tracer.instance_reporting.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
false
の場合、エージェントはデータストアインスタンスメトリクスをレポートせず、host
またはport_path_or_id
パラメーターをトランザクションまたは遅いsqlトレースに追加しません。
newrelic.datastore_tracer.database_name_reporting.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
false
の場合、エージェントはdatabase_name
パラメーターをトランザクションまたは遅いsqlトレースに追加しません。
属性の設定 このセクションには、属性の収集とレポートに影響を与える設定が一覧記載されています。
newrelic.attributes.enabled newrelic.{destination}.attributes.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
、を除いて browser_monitoring.attributes.enabled
どの宛先が属性を受信するかを制御します。この設定は、.include
および.exclude
設定 を上書きします。
使用可能な宛先の詳細については、属性の有効化および無効化 を参照してください。
newrelic.attributes.{include|exclude} 範囲:
PERDIR
タイプ:
文字列
デフォルト:
(なし)
これは、属性の宛先の細かい制御を可能にする設定オプションのファミリーです。詳細については、属性の有効化および無効化 を参照してください。
カスタムイベント このセクションでは、カスタムイベントのレポートに影響する設定を示します。
newrelic.custom_insights_events.enabled newrelic.custom_events.max_samples_stored 範囲:
PERDIR
タイプ:
整数
デフォルト:
30000
Max:
100000
1分あたりに送信するカスタムイベントの最大数を指定する正の整数。
これを0
に設定すると、カスタムイベントの送信が事実上無効になります。カスタムイベント生成を有効または無効にするには、newrelic.custom_insights_events.enabled
を設定することを推奨します。
これをより低い値に設定して、送信されるカスタムイベントの量を減らします(カスタムイベントサンプリングの原因になる場合があります)。これをより高い値に設定すると、より多くのカスタムイベントが送信されます。
重要 newrelic.custom_events.max_samples_stored
INI変数が10.4.0.316リリースで追加されました。
コードレベルのメトリクス このセクションでは、コードレベルのメトリクスのレポートに影響する設定を示します。
newrelic.code_level_metrics.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
コードレベルのメトリクスの収集を有効または無効にします。
重要 newrelic.code_level_metrics.enabled
INI変数が10.4.0.316リリースで追加され、デフォルトで無効になっていました。コードレベルのメトリクスは、バージョン10.6.0からデフォルトで有効になっています。
コミットSHA。SHA全体、または最初の7文字(例:734713b)のみを使用することもできます。
リリースタグ(v0.1.209 またはリリース-209など)。
エラーインボックスの設定 次のタグのいずれかを設定すると、エラーが発生しているソフトウェアのバージョンを特定するのに役立ちます。
NEW_RELIC_METADATA_SERVICE_VERSION
デプロイされているコードのバージョン(多くの場合、1.2.3などのセマンティックバージョン)を含むイベントデータにtags.service.versionが作成されますが、常にそうとは限りません。NEW_RELIC_METADATA_RELEASE_TAG
リリースタグを含むイベントデータにtags.releaseTagを作成します(v0.1.209またはリリース-209など)。NEW_RELIC_METADATA_COMMIT
コミットSHAを含むイベントデータに対してtags.commitを作成します。SHA全体、または最初の7文字(例:734713b)のみを使用することもできます。エラーインボックスの今後のリリースでは、ソフトウェアのどのバージョンでエラーが発生しているかを自動追跡します。どのバージョンデータもCodeStream に表示されます。
脆弱性管理の設定 このセクションでは、PHPパッケージのレポートに影響する設定の一覧を示します。
newrelic.vulnerability_management.package_detection.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
メモ:
PHPエージェントバージョン10.17に導入
true
に設定すると、エージェントは環境ページで表示できるパッケージ検出情報を送信します。
newrelic.vulnerability_management.composer_api.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
false
メモ:
PHPエージェントバージョン11.2に導入
true
に設定すると、エージェントがComposerのランタイムAPI を使用してパッケージの検出を試みます。
その他の .ini 設定 このセクションには、残りのnewrelic.ini設定が一覧記載されています。
newrelic.enabled 範囲:
SYSTEM
タイプ:
ブール値
デフォルト:
(なし)
New Relicエージェントを有効化または無効化します。デフォルトでは、New Relic PHPエージェントはすべてのディレクトリに対して有効になっています。
ウェブサーバーに複数のサイトがあるが、PHPエージェントに特定のサイトのみを監視させたい場合:
newrelic.ini
ファイルのグローバル(システム)レベルでnewrelic.enabled
がtrue
に設定されていることを確認します。
1つ以上の特定のサイトについて、ディレクトリごと(PERDIR)に、newrelic.enabled
をfalse
に設定します。
グローバルにエージェントを無効にする必要がある場合は、newrelic.ini
ファイルでnewrelic.enabled
の値をfalse
に設定します。
エージェントがグローバルで無効になっている場合は、完全に初期化されません。重要な理由でグローバルに無効にしていると想定し、エージェントはPHPへの影響を可能な限りゼロに近くしようとします。
重要 エージェントをグローバルで無効にしてから、.htaccess
を使用してディレクトリごとに選択的に有効にすることはできません。
newrelic.logfile 範囲:
SYSTEM
タイプ:
文字列(引用符を使用)
デフォルト:
"/var/log/newrelic/php_agent.log"
ここでは、メッセージのロギング用ファイル名を特定します。これは、エージェントによる問題のデバッグに有用です。設定がどのようなものであっても、以下を確認してください。
含まれるディレクトリとファイル自体の許可が正しい。 PHPが実行するユーザーがファイルに書き込みできる。通常、これはウェブサーバーと同じユーザーです。 newrelic.transaction_events.enabled 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
true
に設定すると、エージェントは分析イベントデータを収集し、レポートします。イベントデータを使用すると、New Relic UIは、ヒストグラム 、パーセンタイル などの追加情報を表示できます。
newrelic.error_collector.capture_events 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
true
に設定すると、エージェントはエラーイベントデータを収集し、レポートします。イベントデータを使用すると、New Relic UIはエラー分析を表示できます。
newrelic.feature_flag 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
この設定により、PHPエージェント内の新規および実験的な機能が有効になります。これらのフラグを使用して、PHPエージェントの後のバージョンでデフォルトで有効化される予定の機能を、選択的に可能にします。
newrelic.browser_monitoring.auto_instrument 範囲:
PERDIR
タイプ:
ブール値
デフォルト:
true
これにより、ブラウザ監視 のためのJavaScriptフラグメントの自動挿入が可能になります。有効化すると、エージェントがヘッダーとフッターをHTML出力に挿入し、エンドユーザー体験のためのページロードタイミングに関するメトリクスが生成されます。詳細については、PHPでのページロードタイミング を参照してください。
newrelic.preload_framework_library_detection 範囲:
SYSTEM
タイプ:
ブール値
デフォルト:
true
メモ:
PHPエージェントバージョン9.4に導入
プレロードが有効化されている場合に、フレームワークとライブラリの検知が可能になります。プレロードはPHPバージョン7.4で導入されました。newrelic.preload_framework_library_detection
は、opcache.preload
がphp.ini
ファイルで設定されている場合のみ有効になります。