New RelicのPythonエージェントでは、設定オプションを使用してデフォルトのエージェントの動作を変更できます。
唯一必要なPythonエージェント設定はです。ライセンスキーは、エージェントがアプリケーションデータを報告するアカウントを識別するものです。アプリケーションのホスティング方法によっては、設定ファイルや環境変数を通してライセンスキーを提供できます。
設定方法と優先順位
Pythonエージェントを設定する主な方法としては、標準のインストールプロセスの過程で生成される設定ファイルを使用します。UIのサーバーサイドコンフィグレーションを使用するか、環境変数を使用して、一部の設定オプションを設定することもできます。また、WSGIリクエスト環境辞書で設定を渡すことで、リクエストごとに設定を指定することもできます。
Pythonエージェントは、次の優先順位で設定を適用します。

Pythonエージェントでは、各リクエストのオプションがサーバー側の設定を上書きします。有効にすると、サーバー側の設定がエージェント設定ファイル内の対応するallの値を上書きします(サーバー側の値が空でも同様です)。エージェントの設定ファイルは環境変数を上書きします。環境変数はエージェントのデフォルト設定を上書きします。
各設定方法の詳細な説明は、以下のとおりです。
通常は、エージェントのホストシステム上のローカル設定ファイルからPythonエージェントを構成します。起動時に設定ファイルへのパスを指定するには、以下のいずれかの方法を使用します。
newrelic.agent.initialize()を呼び出す際、1つ目の引数として設定ファイルへのパスを指定します。または
環境変数
NEW_RELIC_CONFIG_FILEを設定します。newrelic-adminラッパースクリプトを使用する場合は、ラッパースクリプトがエージェントを自動的に呼び出すため、環境変数を使用する必要があります。エージェントは2種類の設定ファイルをサポートします。エージェントv10.2.0以前では
.ini構文を使用する必要がありますが、Pythonバージョン3.11以降で実行されるエージェントv10.3.0以降では.tomlファイルにも対応します。設定ファイルは、Microsoft Windowsの
.iniファイルと同様の構造を使用します。詳細については、PythonのConfigParserモジュールのファイル形式に関するドキュメントを参照してください。基本的な構造は以下のようになるはずです。
[newrelic]license_key = <license key>app_name = Python Applicationヒント
Python 3.11以降では、設定用の新しい
.toml構文が標準ライブラリに追加されました。この新しい形式には、エージェントバージョン10.3.0で対応しました。設定ファイルは、TomのObvious Minimal Language
.tomlファイルを使用します。詳細については、ファイル形式に関する公式ドキュメントを参照してください。.toml構文を使用するには、構文タイプを示すために、設定ファイルの名前の末尾に.tomlを付ける必要があります。標準のpyproject.tomlは他のライブラリの設定と併用できますが、newrelic.tomlのような専用のファイルを使用することもできます。基本的な構造は以下のようになるはずです。
[tool.newrelic]license_key = <license key>app_name = Python Applicationヒント
Pythonエージェントには、
newrelic/newrelic.iniというサンプル設定ファイルが含まれています。このファイルは、newrelic-adminスクリプトからgenerate-configコマンドで生成することや、ダウンロードリポジトリからダウンロードすることができます。
サーバーサイドコンフィグレーションを使用すると、New Relic UIで一部の設定を行うことができます。これにより、複数のホストで実行されているエージェントでも、変更内容がすべてのエージェントに自動的に適用されます。利用可能な場合、このドキュメントでは、設定オプションごとに、サーバー側設定のUIラベルをServer-side labelとして記載しています。
重要
サーバー側設定が有効になっている場合、エージェントは、UIで設定可能な項目について設定ファイル内の値を無視します。UIの値が空でも、エージェントは空の文字列として扱い、エージェント設定ファイルを使用することはありません。
環境変数を使用すると、特定の主要設定のデフォルト値を上書きできます。同等の設定がエージェント設定ファイルに明示的に記載されている場合、環境変数よりも設定ファイルの設定が優先されます。利用可能な環境変数は、設定オプションごとにEnviron variableとして記載されています。
シンプルな構成の場合、環境変数をサーバーサイドコンフィグレーションと併用することで、エージェント設定ファイルを完全に省略できます。これはHerokuのデフォルト設定であり、New Relicアドオンをインストールすると必要な環境変数が自動的に設定されます。
New Relic CodeStreamを使用してIDEからパフォーマンスを監視する場合は、リポジトリをサービスに関連付け、ビルドSHAまたはリリースタグをエラーに関連付ける必要があります。
Environment variable | Configuration setting |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
特定のWSGIサーバーでは、リクエストごとにアプリケーション名とキャプチャ属性の設定を上書きできます。これは、リクエストごとのWSGI環境辞書に渡される追加のキーと値のペアを定義できるWSGIサーバーで可能です。
これらの値を文字列(on、off、true、false、1、0)で設定します。Pythonコードを使用して実装された設定メカニズムから設定された場合、TrueまたはFalseと評価されるPythonオブジェクトも使用できます。
Apache/mod_wsgiサーバーでは、SetEnvディレクティブを使用して設定を上書きできます(オプションでLocationまたはDirectoryブロック内に記述できます)。例えば、仮想ホスト全体または仮想ホストのWSGIアプリケーションが処理するURLのサブセットに対して、アプリケーション名を上書きすることができます。
一部のエージェント設定を上書きできるほか、WSGI環境キーを使用してリクエストごとの設定を行うこともできます。
trueに設定すると、このウェブトランザクションは非ウェブトランザクションとして報告されます。
trueに設定すると、このウェブトランザクションは報告されません。
trueに設定すると、このウェブトランザクションに対してApdexメトリクスは生成されません。
trueに設定すると、このウェブトランザクションをトランザクショントレースに記録できなくなります。
trueに設定すると、ページ読み込みタイミングのためのJavaScriptヘッダー/フッター(リアルユーザー監視またはRUMとも呼ばれます)の自動挿入が無効になります。自動挿入機能がウェブフレームワークで利用可能な場合にのみ適用されます。
重要
WSGIミドルウェアを使用したこれらの値の設定は、PythonエージェントのWSGIアプリケーションラッパーが外側のスコープで適用されている場合には機能しません。このような場合に同じ結果を得るには、エージェントAPIを呼び出す必要があります。
マルチ環境設定
エージェントは、iniファイルの場合は[newrelic]というエージェント設定セクションから、.tomlファイルの場合は[tool.newrelic]というエージェント設定セクションから、主要設定を読み込みます。追加のセクションで、特定の導入環境(開発、ステージング、実稼働など)向けのオーバーライドを設定できます。これらのセクションの先頭に、.iniファイルの場合は[newrelic:environment]、.tomlファイルの場合は[tool.newrelic.env.environment]を付けます(environmentは環境名に置き換えてください)。
エージェントが環境ベースの設定を使用するように指定するには、次のいずれかの方法を使用します。
newrelic.agent.initialize()を呼び出す際は、環境名を2番目の引数として指定してください。または
環境変数
NEW_RELIC_ENVIRONMENTに環境名を設定します。
環境が指定されていない場合、エージェントはnewrelicエージェント設定セクションで指定されているデフォルト設定を使用します。
設定ファイルの基本的な構造は以下のとおりです。
[newrelic]... default settings
[newrelic:development]... override settings
[newrelic:staging]... override settings
[newrelic:production]... override settings[tool.newrelic]... default settings
[tool.newrelic.env.development]... override settings
[tool.newrelic.env.staging]... override settings
[tool.newrelic.env.production]... override settings一般構成設定
これらの設定は、エージェントの設定ファイルで確認できます。
タイプ | 文字列 |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
New Relicアカウントのを指定します。このキーは、アプリのメトリクスをNew Relicアカウントに関連付けます。
タイプ | 文字列 |
|---|---|
デフォルト |
|
リクエストごとのオプション、設定ファイル、環境変数 | |
| |
|
New Relic UIでのデータ集約に使用するアプリケーション名。複数のアプリケーションに対して同時にデータを報告するには、各アプリケーション名をセミコロン;で区切って指定します。セミコロンの前にスペースを入れないでください。スペースを入れると、Pythonの設定パーサーが名前を埋め込みコメントとして解釈します。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
trueの場合、エージェントはWebアプリを計装しますが、実際のデータは送信しません。このオフラインモードでは、アクティブなエージェントに対する料金は発生しません。
開発者モードを使用して、エージェントの新しいバージョンをテストするか、開発者環境でサードパーティ製パッケージに対してエージェントをテストしてください。オフラインモードは、エージェントの収集するメトリクスがどこにも報告されないため、APMをローカルで実行する方法ではありません。
タイプ | 文字列 |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
エージェントに関するイシューのデバッグに役立つログファイルの名前を設定します。これは、エージェントがWebアプリケーションプロセスの親ユーザーやそのプロセスが書き込み権限を持つディレクトリを知らないため、デフォルトでは設定されていません。詳細については、Pythonのロギングを参照してください。
これを設定する場合は、必ず、格納ディレクトリとファイルに対する権限が適切であること、およびWebアプリケーションが実行されるユーザーに当該ファイルへの書き込み権限があることを確認してください。
ヒント
アプリケーションの起動時の作業ディレクトリが確実にわかる場合を除き、絶対パスを使用してください。ログファイルに書き出せない場合は、stderr使用して標準エラー出力に出力することもできます。その場合、通常、出力はウェブサーバーのログに表示されます。
タイプ | Strings |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
環境変数 |
|
デフォルトでは、Pythonエージェントはサーバーに直接接続しようとします。ホストとNew Relicのコレクターの間にファイアウォールがあり、HTTPプロキシの使用が必要な場合は、proxy_hostとproxy_portにHTTPプロキシ用の必要な値を設定してください。HTTPプロキシによってプロキシ認証が実装されている場合は、proxy_userとproxy_passも設定してください。
proxy_scheme設定は、HTTPプロキシとの通信に使用されるプロトコル方式を指定します。httpに設定すると、エージェントはHTTPプロキシを介したSSLトンネルを使用してエンドツーエンド暗号化を行います。
proxy_scheme、proxy_host、proxy_port設定を使用する代わりに、proxy_host設定にプロキシの有効なURIを設定することもできます。スキーム、ホスト、ポートを含めます(例:http://proxy-host:8000)。HTTPプロキシの詳細を環境変数NEW_RELIC_PROXY_HOSTで設定した場合も、同様に機能します。
タイプ | 文字列 |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
監査ログファイルの名前を設定します。設定すると、エージェントは監視対象プロセスとコレクターの間でやり取りされるメッセージの詳細をログに記録します。これにより、Pythonエージェントのセキュリティを評価できます。
起動時にアプリの作業ディレクトリがどこになるか確信が持てない限り、絶対パスを使用してください。これを設定する場合は、必ず、格納先のディレクトリとファイルに対するアクセス権限が適切であることを確認してください。また、Webアプリケーションの親ユーザーがそのファイルに書き込みできる権限を持っていることを確認してください。
注意
監査ログを常時使用しないでください。特に本番環境では避けてください。エージェントはログファイルの切り捨てやローテーションを行わないため、ログファイルがすぐに肥大化する可能性があります。
タイプ | 文字列 |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
APM UIに表示される. ホスト名を設定します。設定すると、エージェントが自動的に取得するデフォルトのホスト名が上書きされます。
タイプ | 文字列 |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
api_keyをnewrelic-admin record-deployで使用するように設定します。
タイプ | 文字列 |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
ローカルCAバンドルへのパスを手動で上書きします。このCAバンドルは、New Relicのデータ収集サービスが提示するSSL証明書を検証するために使用されます。
ヒント
この設定オプションは、Pythonエージェントのバージョン4.2.0以降でのみ使用できます。
属性
属性は、トランザクショントレース、トレース対象のエラー、、およびトランザクションイベントの情報を提供するキーと値のペアです。以下の一般的な属性設定を使用して4つの送信先すべてに対して属性を設定できるほか、送信先ごとに設定することもできます。
詳細については、Pythonエージェント属性および属性の有効化と無効化、属性の例をご覧ください。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
この設定を使用して、すべての属性をオンまたはオフにできます。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
属性が有効になっている場合、このリストにある属性キーがNew Relicに送信されます。リスト内の各キーは、以下のようにスペースで区切る必要があります。
key1 key2 key3属性に関するルールは、エージェントの属性に関するページに記載されています。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
このリストにあるすべての属性キーは、New Relicに送信されません。リスト内の各キーは、以下のようにスペースで区切る必要があります。
key1 key2 key3属性に関するルールは、エージェントの属性に関するページに記載されています。
AIモニタリング
このセクションには、AI監視をセットアップするためのPythonエージェント設定が含まれます。
重要
AIデータをキャプチャするには、ディストリビューティッド(分散)トレーシングを有効化する必要があります。Pythonエージェントのバージョン7.0.0.166以降では、デフォルトでオンになっています。
重要
AIモニタリングを有効にすると、モニタリング対象として選択したモデルとの間で送受信される入力と出力のストリーミングコピー(そこに含まれる個人情報も含む)が記録されます。AIモニタリング機能を提供する目的で、モデルユーザーのインタラクションが第三者(New Relic)によって記録される可能性があることについて、モデルユーザーから同意を得る責任があります。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
trueに設定すると、AIモニタリングが有効化されます。
重要
高セキュリティモードが有効になっている場合、この設定は無効になります。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
falseに設定すると、ストリーミングされた大規模言語モデル(LLM)データの概要とメッセージイベントを記録する計装が無効になります。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
falseに設定すると、エージェントはLLMイベントでキャプチャされた入力および出力コンテンツ(プロンプトやレスポンスのテキスト文字列など)を省略します。これは、LLMとの間で送受信される機密データを記録したくない場合のオプションのセキュリティ設定です。
トランザクショントレーサーの設定
重要
トランザクション名の末尾に角括弧[suffix]を使わないでください。エージェントは名前から自動的に角括弧を除去します。代わりに、必要に応じて丸括弧(suffix)、またはその他の記号を使ってください。
トランザクショントレースの詳細については、トランザクショントレースを参照してください。
タイプ | ブール値 |
|---|---|
デフォルト |
|
サーバー側の設定、設定ファイル | |
|
有効にすると、トランザクショントレーサーは低速なトランザクションに関する詳細情報をキャプチャします。
タイプ | 正のフロートまたは文字列( |
|---|---|
デフォルト |
|
サーバー側の設定、設定ファイル | |
|
トランザクショントレースを収集するタイミングの閾値(秒)。コントローラーのアクションのレスポンスタイムがこの閾値を超えると、エージェントはトランザクショントレースを記録します。有効な値は、正のフロートまたはapdex_f(apdex_tの4倍)です。
タイプ | 文字列 |
|---|---|
デフォルト |
|
サーバー側の設定、設定ファイル | |
|
トランザクショントレーサーが有効になっている場合、エージェントはSQLステートメントを記録できます。レコーダーには3つのモードがあります:off(SQLを送信しない)、raw(SQLステートメントを元のまま送信する)、obfuscated(数値と文字列リテラルを取り除く)。
ほとんどのWebフレームワーク(Djangoを含む)ではSQLクエリがパラメータ化されるため、実際のクエリには値が埋め込まれていません。これらのフレームワークのいずれかでrawモードを使用すると、Pythonエージェントは値を埋め込む前のSQLのみを参照します。パラメータ化されたSQLはobfuscatedモードとよく似たものになります。
重要
高セキュリティモードが有効になっている場合、この設定は無効になります。
タイプ | フロート |
|---|---|
デフォルト |
|
サーバー側の設定、設定ファイル | |
|
SQL呼び出しからスタックトレースを収集するタイミングの閾値(秒)。SQLステートメントがこの閾値を超えると、エージェントが現在のスタックトレースを取得します。これは、アプリケーション内で長時間のSQL呼び出しが発生している箇所を特定するのに役立ちます。
タイプ | ブール値 |
|---|---|
デフォルト |
|
サーバー側の設定、設定ファイル | |
|
Pythonエージェントが遅いSQLクエリの実行計画をキャプチャするかどうかを指定します。MySQLとPostgreSQLでのみサポートされています。
タイプ | フロート |
|---|---|
デフォルト |
|
サーバー側の設定、設定ファイル | |
|
トランザクショントレースのクエリがこの閾値を超える場合、スロークエリデータと利用可能な実行計画が報告されます。transaction_tracer.explain_enabledがfalseの場合、実行計画の収集は行われません。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
この設定を使用して、トランザクショントレースのすべての属性をオンまたはオフにできます。ルートレベルでattributes.enabledがfalseである場合は、この設定(transaction_tracer.attributes.enabled)がどのように設定されているかにかかわらず、属性はトランザクショントレースに送信されません。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
属性がトランザクショントレースについて有効になっている場合、このリストにあるすべての属性キーが、トランザクショントレースでNew Relicに送信されます。詳しくはエージェント属性ルールを参照してください。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
このリストに含まれる属性キーはすべて、トランザクショントレースには送信されません。詳しくはエージェント属性ルールを参照してください。
指定した関数またはメソッドについて、エージェントは関数の実行時間に関する追加の計測情報を取得します。これらの名前はmodule:functionまたはmodule:class.functionの形式で指定してください。
関数名やクラス名でワイルドカード(グロビング)を指定するには、fnmatchモジュールでサポートされているパターンを使用できます。モジュールパスではワイルドカードは指定できません。パターンはmodule:function*またはmodule:class.*の形式で指定してください。
例えば、以下のファイル内のすべての検証関数に関数トレースを追加したい場合:
my-app/common/utils.py
def validate_credentials():…def validate_status():…def format_message():…エージェント設定ファイルに次の行を追加し、ワイルドカードを使用してmy-app/common/utils.py内のすべての検証関数に関数トレースを追加します。
my-app/newrelic.ini
[newrelic]...transaction_tracer.function_trace = common.utils:validate*重要
ワイルドカードを使用するにはPythonエージェントのバージョン6.4.4.161以降が必要です。
トランザクションセグメントの設定
エージェント設定ファイルで利用できるトランザクションセグメントの設定は以下のとおりです。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
この設定を使用すると、トランザクショントレースの各セグメントのすべての属性を有効または無効にできます。ルートレベルでattributes.enabledがfalseである場合は、この設定(transaction_segments.attributes.enabled)がどのように設定されているかにかかわらず、属性はトランザクショントレースのセグメントに送信されません。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
属性がトランザクショントレースのセグメントについて有効になっている場合、このリストにあるすべての属性キーが、トランザクショントレースのセグメントでNew Relicに送信されます。詳しくはエージェント属性ルールを参照してください。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
このリストに含まれるすべての属性キーは、トランザクショントレースのセグメントには含まれません。詳しくはエージェント属性ルールを参照してください。
エラーコレクターの設定
エージェント設定ファイルで利用できるエラーコレクターの設定は以下のとおりです。
ヒント
APMでのエラー設定の概要については、APMでのエラーの管理を参照してください。
タイプ | ブール値 |
|---|---|
デフォルト |
|
サーバー側の設定、設定ファイル | |
|
有効にすると、エラーコレクターは捕捉されなかった例外に関する情報を収集します。
タイプ | 文字列 |
|---|---|
デフォルト | (なし) |
サーバー側の設定、設定ファイル | |
|
特定のエラーの収集を停止するには、無視するPython例外タイプの名前をスペース区切りで列挙します。例外名はmodule:classの形式で指定します。
注意
error_collector.ignore_errors バージョン11.0.0で削除されました。エージェントのバージョン6.4.0より前は、この設定はerror_collector.ignore_errorsという名前でした。設定ファイルで現在もignore_errorsを使用している場合、エージェントを更新してignore_classesを使用します。
タイプ | 文字列 |
|---|---|
デフォルト |
|
サーバー側の設定、設定ファイル | |
|
エージェントがエラーとして記録せず、無視すべきHTTPステータスコードを列挙します。ステータスコードを追加する場合は、整数をスペースで区切ります。範囲を指定する場合は、開始値と終了値の間にハイフン-を挿入します。デフォルトコードのいずれかを「許可」リストに追加するには、コードの前に感嘆符!を付けます。
一部のフレームワークは例外を使用してHTTPレスポンスを返さないため、この設定は一部のWebフレームワークでのみ有効です。
ヒント
この設定オプションは、Pythonエージェントのバージョン6.4.0以降のサーバーサイドコンフィグレーションでのみ設定できます。
タイプ | 文字列 |
|---|---|
デフォルト | (なし) |
サーバー側の設定、設定ファイル | |
|
指定された例外クラスが、エラーをAPMにレポートする間にエラー率やApdexスコアに影響を与えないようにします。想定されるPython例外タイプの名前を、スペース区切りで指定します。例外名はmodule:classの形式で指定します。
ヒント
この設定オプションは、Pythonエージェントのバージョン6.4.0以降でのみ使用できます。
タイプ | 文字列 |
|---|---|
デフォルト | (なし) |
サーバー側の設定、設定ファイル | |
|
エラーをAPMにレポートする間に、指定したHTTPステータスコードがエラー率やApdexスコアに影響を与えないようにします。ステータスコードは整数をスペースで区切って指定します。範囲を指定する場合は、開始値と終了値の間にハイフン-を挿入します。リスト内のコードのいずれかを無効にするには、コードの前に感嘆符!を付けます。
一部のフレームワークは例外を使用してHTTPレスポンスを返さないため、この設定は一部のWebフレームワークでのみ有効です。
ヒント
この設定オプションは、Pythonエージェントのバージョン6.4.0以降でのみ使用できます。
タイプ | 整数 |
|---|---|
デフォルト | 100 |
設定ファイル、環境変数 | |
|
PythonエージェントのインスタンスによってNew Relicに送信される1分あたりのエラーイベントの制限。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
この設定を使用して、トレース対象のエラーのすべての属性をオンまたはオフにできます。ルートレベルでattributes.enabledがfalseの場合、この設定(error_collector.attributes.enabled)がどのように設定されているかにかかわらず、トレースされたエラーに属性は送信されません。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
トレース対象のエラーで属性が有効になっている場合、このリストに含まれるすべての属性キーがトレース対象のエラーに送信されます。詳しくはエージェント属性ルールを参照してください。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
このリストに含まれる属性キーは、トレース対象のエラーには送信されません。詳しくはエージェント属性ルールを参照してください。
有効にすると、エラーコレクターは高度な分析のためにイベントデータを収集します。詳細については、APM エラーを参照してください。
ブラウザ監視の設定
エージェント設定ファイルで利用できるブラウザ監視の設定は以下のとおりです。
ブラウザ監視を有効にします。詳細については、Pythonにおけるページ読み込みのタイミングを参照してください。
重要
設定ファイルでブラウザ監視を有効にする前に、ブラウザ監視UIのアプリケーション設定でブラウザ監視を有効にします。
サポートされているPython Webフレームワークの場合、この設定により、ブラウザ監視用のJavaScriptフラグメントの自動挿入が有効になります。
ブラウザ監視エージェントが自動計装するHTML Content-Typeを指定します。項目を追加するには、スペース区切りで並べてください。
HTMLページレスポンスを生成していて、application/xhtml+xmlのContent-Typeを使用している場合、以下の方法で許可されたコンテンツタイプを上書きし、このコンテンツタイプとデフォルトのtext/htmlの両方を指定することができます。
browser_monitoring.content_type = text/html application/xhtml+xml重要
ブラウザ監視JavaScriptスニペットにより、ページはapplication/xhtml+xmlとして検証されなくなりますが、エンドユーザーのブラウザでは読み込まれて表示されるはずです。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
この設定を使用すると、ブラウザ監視のすべての属性を有効または無効にすることができます。これはページビューイベントに送信されるデータです。ルートレベルでattributes.enabledがfalseの場合、この設定(browser_monitoring.attributes.enabled)がどのように設定されているかにかかわらず、ブラウザ監視で属性は送信されません。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
browser_monitoringで属性が有効になっている場合、このリストに含まれるすべての属性キーがページビューで送信されます。詳しくはエージェント属性ルールを参照してください。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
このリストに含まれる属性キーはすべて、ページビューには送信されません。詳しくはエージェント属性ルールを参照してください。
トランザクションイベントの設定
エージェント設定ファイルで利用できるトランザクションイベントの設定は以下のとおりです。
ヒント
これらの設定項目は以前はanalytic_eventsと呼ばれていました。設定ファイルで現在もanalytic_eventsを使用している場合、エージェントを更新してtransaction_eventsを使用します。
タイプ | 整数 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
PythonエージェントのインスタンスによってNew Relicに送信される1分あたりの分析イベントの制限。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
この設定を使用して、トランザクションイベントのすべての属性をオンまたはオフにできます。ルートレベルでattributes.enabledがfalseの場合、この設定(transaction_events.attributes.enabled)がどのように設定されているかにかかわらず、トランザクションイベントに属性は送信されません。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
属性がトランザクションイベントで有効になっている場合、このリストに含まれるすべての属性キーがトランザクションイベントで送信されます。詳しくはエージェント属性ルールを参照してください。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
このリストに含まれるすべての属性キーは、トランザクションイベントには送信されません。トランザクションイベントから属性を除外しても、スパンイベントからは除外されないことに注意してください。詳細については、エージェント属性ルールを参照してください。
カスタムイベントの設定
エージェント設定ファイルで利用できるカスタムイベントの設定は以下のとおりです。
record_custom_event()経由でのEvent APIへのイベントの記録を許可します。
重要
高セキュリティモードが有効になっている場合、この設定は無効になります。
PythonエージェントのインスタンスがNew Relicに送信できる1分あたりのカスタムイベントの数を制限します。
AI監視用にエージェントを設定する場合、エージェントが最大量のLLMイベントを確実に捕捉できるようにするには、最大値(
100000)に設定します。重要
高セキュリティモードが有効になっている場合、この設定は無効になります。
データストアトレーサーの設定
以下のデータストアトレーサー設定は、エージェント設定ファイルで利用できます。
ディストリビューティッド(分散)トレースの設定
ディストリビューティッド(分散)トレーシングでは、リクエストが分散システムを経由するパスを見ることができます。Pythonエージェントのバージョン7.0.0.166以降では、ディストリビューティッド(分散)トレーシングがデフォルトで有効になっています。
重要
ディストリビューティッド(分散)トレーシングを有効にすると、クロスアプリケーショントレーシングが無効になり、他のAPM機能に影響します。クロスアプリケーショントレースから移行する場合は、移行ガイドをお読みください。
詳細については、Pythonサービスのディストリビューティッド(分散)トレーシングを参照してください。
設定には以下の項目が含まれています。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
ディストリビューティッド(分散)トレーシングを有効にします
タイプ | 文字列 |
|---|---|
Adaptive |
|
設定ファイル、環境変数 | |
|
これは、トレースにサンプリング済みのリモート親(つまり、トレースが上流サービスで発生した場合)がある場合に適用されるサンプラーです。サンプラーのオプションは以下のとおりです。
adaptiveデフォルトの動作です。トレースをサンプリングするかどうかの判断を適応型サンプリングアルゴリズムに委ねます。trace_id_ratio_basedトレースをサンプリングするかどうかの判断をTrace ID Ratio Basedサンプリングアルゴリズムに委ねます。このオプションを使用する場合、比率が必要となるため、代わりにdistributed_tracing.sampler.remote_parent_sampled.trace_id_ratio_based.ratioを使用してください。always_on:サンプリングされたリモート親を持つトレースを常にサンプリングします。always_off:サンプリングされたリモート親を持つトレースをサンプリングしません。
タイプ | フロート |
|---|---|
Unset | |
設定ファイル、環境変数 | |
|
- 0(含まない)から1(含む)までの間の数値。
タイプ | 文字列 |
|---|---|
Adaptive |
|
設定ファイル、環境変数 | |
|
これは、トレースにサンプリング済みのリモート親(つまり、トレースが上流サービスで発生した場合)がない場合に適用されるサンプラーです。サンプラーのオプションは以下のとおりです。
adaptiveデフォルトの動作です。トレースをサンプリングするかどうかの判断を適応型サンプリングアルゴリズムに委ねます。trace_id_ratio_basedトレースをサンプリングするかどうかの判断をTrace ID Ratio Basedサンプリングアルゴリズムに委ねます。このオプションを使用する場合、比率が必要となるため、代わりにdistributed_tracing.sampler.remote_parent_not_sampled.trace_id_ratio_based.ratioを使用してください。always_on:サンプリングされていないリモート親を持つトレースを常にサンプリングします。always_off:サンプリングされていないリモート親を持つトレースをサンプリングしません。
タイプ | フロート |
|---|---|
Unset | |
設定ファイル、環境変数 | |
|
- 0(含まない)から1(含む)までの間の数値。
タイプ | 文字列 |
|---|---|
Adaptive |
|
設定ファイル、環境変数 | |
|
これは、トレースの開始時に適用されるサンプラーです。デフォルトでは、適応型サンプラーがルートサンプラーとして構成されています。サンプラーのオプションは以下のとおりです。
adaptiveデフォルトの動作です。トレースをサンプリングするかどうかの判断を適応型サンプリングアルゴリズムに委ねます。trace_id_ratio_basedトレースをサンプリングするかどうかの判断をTrace ID Ratio Basedサンプリングアルゴリズムに委ねます。このオプションを使用する場合は、比率が必要となるため、代わりにdistributed_tracing.sampler.root.trace_id_ratio_based.ratioを使用してください。always_on:現在のサービスから発生し、エントリ呼び出しにディストリビューティッド(分散)トレーシングヘッダーが存在しないトランザクションを常にサンプリングします。always_off:現在のサービスから発生し、エントリ呼び出しにディストリビューティッド(分散)トレーシングヘッダーが存在しないトランザクションをサンプリングしません。
タイプ | フロート |
|---|---|
Unset | |
設定ファイル、環境変数 | |
|
- 0(含まない)から1(含む)までの間の数値。
スパンイベントの設定
ディストリビューティッド(分散)トレーシング用にスパンイベントが収集されます。スパンイベントを報告するには、ディストリビューティッド(分散)トレーシングを有効にする必要があります。設定オプションには以下が含まれます。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
この設定を使用すると、スパンイベントのすべての属性をオンまたはオフに切り替えることができます。ルートレベルのattributes.enabledがfalseの場合、この設定(span_events.attributes.enabled)がどのように設定されているかにかかわらず、属性はスパンイベントに送信されません。詳細については、エージェント属性ルールを参照してください。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
スパンイベントで属性が有効になっている場合、このリストに含まれるすべての属性キーがスパンイベントで送信されます。詳しくはエージェント属性ルールを参照してください。
タイプ | 文字列のリスト(スペース区切り) |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
このリストに含まれる属性キーはすべて、スパンイベントでは送信されません。詳しくはエージェント属性ルールを参照してください。
イベント収集の設定
イベント収集の設定はNew Relicに送信されるイベントタイプのデータの量を制限します。これらの設定を使用する際は、以下の重要な点を考慮してください。
- イベント収集の設定は、アプリケーション全体ではなく、エージェントの単一インスタンスの制限に影響します。アプリケーション全体にわたって制限を設定する方法については、以下の使用例を参照してください。
- リアルタイムストリーミングは5秒ごとに(1分あたり12回)データを送信しますが、イベント収集の設定は引き続きminuteあたりのイベント数に影響します。リアルタイムストリーミングの有効化または無効化には、これらの設定を変更する必要はありません。
- リアルタイムストリーミングが有効な場合(デフォルトで有効)、New Relicはエンティティのイベント収集制限を5秒間隔で表示します。例えば、設定ファイルで制限値を1200に設定した場合、New Relic上では100と表示されます。
使用例
アプリケーションが10個のホストにデプロイされており、それぞれのホストで4つのプロセスが実行されているとします。アプリケーション全体でスパンイベント数を1分あたり10,000イベントに制限するには、その数をホスト数(10)で除算します。さらに、ホストあたりのプロセス数(4)で除算します。
10000 / (10 * 4) = 250
この計算により、最終設定は次のようになります。
span_events.max_samples_stored = 250
ヒント
New Relicによるデータの収集方法(1分間に12回)の都合上、イベントデータの数が12未満の場合、New Relic上では0と表示されます。
イベント収集の設定には以下が含まれます。
タイプ | 整数 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
callout.warning
この設定はバージョン11.0.0以降、非推奨となりました。代わりにtransaction_events.max_samples_storedを使用してください。
PythonエージェントのインスタンスによってNew Relicに送信される1分あたりの分析イベントの制限。
タイプ | 整数 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
callout.warning
この設定はバージョン11.0.0以降、非推奨となりました。代わりにcustom_insights_events.max_samples_storedを使用してください。
PythonエージェントのインスタンスがNew Relicに送信できる1分あたりのカスタムイベントの数を制限します。
タイプ | 整数 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
callout.warning
この設定はバージョン11.0.0以降、非推奨となりました。代わりにspan_events.max_samples_storedを使用してください。
- PythonエージェントのインスタンスによってNew Relicに送信される1分あたりのスパンイベントを制限します。
- AI監視のエージェントを設定する場合、エージェントが最大量のディストリビューティッド(分散)トレーシングを確実に捕捉できるようにするには、最大値(
10000)に設定します。
タイプ | 整数 |
|---|---|
デフォルト | 100 |
設定ファイル、環境変数 | |
|
callout.warning
この設定はバージョン11.0.0以降、非推奨となりました。代わりにerror_collector.max_event_samples_storedを使用してください。
PythonエージェントのインスタンスによってNew Relicに送信される1分あたりのエラーイベントの制限。
タイプ | 整数 |
|---|---|
デフォルト | 100000 |
設定ファイル、環境変数 | |
|
PythonエージェントのインスタンスがNew Relicに送信できる1分あたりのMLイベントの数を制限します。
イベントループの可視化の設定
重要
イベントループの可視化により、イベントループをブロックするトランザクションに関する情報を確認できます。エージェントは、イベントループの制御を取得するまでに長時間待機したトランザクションに関する情報を生成します。設定項目は以下のとおりです。
物理メモリのランタイムメトリクス
重要
これらのランタイムメトリクスの設定は、エージェント設定ファイルで利用できます。
タイプ | ブール値 |
|---|---|
デフォルト | true |
設定ファイル、環境変数 | |
|
有効にすると、エージェントはプロセスIDごとにランタイムメトリクスを生成して送信します。
ガベージコレクションのランタイムメトリクスの設定
重要
これらのガベージコレクションのランタイムメトリクスの設定は、エージェント設定ファイルで利用できます。
コードレベルのメトリクスの設定
エージェントにおけるコードレベルのメトリクスの設定には、以下の項目が利用可能です。
エラーインボックスの設定
次のタグのいずれかを設定すると、エラーが発生しているソフトウェアのバージョンを特定するのに役立ちます。
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に表示されます。
アプリケーションログの設定
エージェントにおけるアプリケーションログの設定には、以下の項目が利用可能です。
Pythonエージェントのログの設定に役立つ情報は、コンテキスト内のPythonログの設定を参照してください。
重要
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
trueの場合、これらのサブ機能設定も有効であれば、ログ装飾と、ログイベントおよびロギングメトリクスの収集が有効になります。falseの場合、ロギング計装機能は有効になりません。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
trueの場合、エージェントはアプリケーションから出力されるログレコードを取得し、New Relicに転送します。この設定を有効にするには、application_logging.enabledもtrueに設定する必要があります。
重要
高セキュリティモードが有効になっている場合、この設定は無効になります。
注意
既存のログ転送ソリューションを使用してすでにアプリケーションのログをNew Relicに送信している場合は、重複したログデータによる課金を防ぐために、エージェントでログ転送を有効にする前に必ずそのソリューションを無効にしてください。
タイプ | 文字列 |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
New Relicに転送されたすべてのログイベントにカスタムアトリビュートとして追加するキーと値のペアを持つハッシュ。値は「key1:value1;key2:value2」のように記述する必要があります。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
エージェントがNew Relicへの送信用にログレコードにラベルを追加するかどうかを切り替えます。
タイプ | 文字列のリスト |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
ログにラベルを含めることを有効にした際に除外するラベル名のリスト(大文字と小文字を区別しない)。この属性はワイルドカードまたは正規表現をサポートしていません。
重要
ラベルを属性として追加する場合、エージェントはキーの先頭にtags.を付加します。この接頭辞は、除外フィルタリングルールとの照合時には含まれません。タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
trueの場合、エージェントは利用可能なコンテキストデータ(追加情報、辞書メッセージ属性、ログフレームワークによって提供される属性)を取得し、その内容をNew Relicに転送されるログの属性として追加します。この動作は、application_logging.forwarding.context_dataセクションの設定で管理できます。
タイプ | 文字列のリスト |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
属性がcontext_dataで有効になっている場合、このリストで見つかったすべての属性キーがトランザクショントレースで送信されます。詳細については、エージェント属性ルールを参照してください。
重要
コンテキスト属性を追加する際、エージェントは、ロギングフレームワークのコンテキストからの属性の場合はキーにcontext.を、辞書メッセージコンテキストからの属性の場合はmessage.を接頭辞として付加します。
これらの接頭辞は、包含/除外フィルタリングルールとの照合時には含まれません。
タイプ | 文字列のリスト |
|---|---|
デフォルト | (なし) |
設定ファイル、環境変数 | |
|
このリストに含まれる属性キーはすべて、context_dataには送信されません。詳細については、エージェント属性ルールを参照してください。
重要
コンテキスト属性を追加する際、エージェントは、ロギングフレームワークのコンテキストからの属性の場合はキーにcontext.を、辞書メッセージコンテキストからの属性の場合はmessage.を接頭辞として付加します。
これらの接頭辞は、包含/除外フィルタリングルールとの照合時には含まれません。
タイプ | 整数 |
|---|---|
デフォルト | 10000 |
設定ファイル、環境変数 | |
|
New Relicに1分あたりに送信するログレコードの数。この設定により、ログ転送機能を使用する際の全体的なメモリ使用量を管理できます。
これをより低い値に設定して、送信されるログラインの量を減らします(ログサンプリングの原因になる場合があります)。これをより高い値に設定すると、より多くのログラインが送信されます。
各ログは、関連トランザクションと同じ優先度を受け取ります。トランザクション以外で発生するログは、ランダムな優先度を受け取ります。max_samples_storedによって制限されているため、一部のログが含まれない場合があります。たとえば、ロギングmax_samples_storedが10,000に設定され、トランザクション1に10,000のログエントリがある場合、トランザクション1のログエントリのみが記録されます。トランザクション1のログが10,000未満の場合、トランザクション1のすべてのログを受け取ります。まだスペースがある場合は、トランザクション2のすべてのログを受け取るなどとなります。
サンプリングされたトランザクションのすべてのログが記録された後も、 max_samples_storedの限度に達していない場合は、サンプリングに含まれていないトランザクションのログメッセージが送信されます。残っている場合は、トランザクション以外のログメッセージが記録されます。
タイプ | 整数 |
|---|---|
デフォルト | 10000 |
設定ファイル、環境変数 | |
|
callout.warning
この設定はバージョン11.0.0以降、非推奨となりました。代わりにapplication_logging.forwarding.max_samples_stored使用してください。
New Relicに1分あたりに送信するログレコードの数。この設定により、ログ転送機能を使用する際の全体的なメモリ使用量を管理できます。
これをより低い値に設定して、送信されるログラインの量を減らします(ログサンプリングの原因になる場合があります)。これをより高い値に設定すると、より多くのログラインが送信されます。
各ログは、関連トランザクションと同じ優先度を受け取ります。トランザクション以外で発生するログは、ランダムな優先度を受け取ります。max_samples_storedによって制限されているため、一部のログが含まれない場合があります。たとえば、ロギングmax_samples_storedが10,000に設定され、トランザクション1に10,000のログエントリがある場合、トランザクション1のログエントリのみが記録されます。トランザクション1のログが10,000未満の場合、トランザクション1のすべてのログを受け取ります。まだスペースがある場合は、トランザクション2のすべてのログを受け取るなどとなります。
サンプリングされたトランザクションのすべてのログが記録された後も、 max_samples_storedの限度に達していない場合は、サンプリングに含まれていないトランザクションのログメッセージが送信されます。残っている場合は、トランザクション以外のログメッセージが記録されます。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
trueの場合、エージェントはアプリケーションによって送信されたログ行に関連するメトリクスをキャプチャします。この設定を有効にするには、 application_logging.enabledもtrueである必要があります。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
trueの場合、エージェントはエンティティ、ホスト、トレース、スパンにリンクするためのメタデータをログに追加します。この設定を有効にするには、application_logging.enabledもtrueである必要があります。
計装の設定
重要
これらの計装パッケージ固有の設定は、エージェント設定ファイルで利用できます。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
有効にすると、エージェントはGraphQLでのイントロスペクションクエリのためにトランザクションをキャプチャします。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
有効にすると、エージェントはKombuのMessageTransactionsを消費します。
タイプ | 文字列のリスト |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
KombuでMessageTransactionsをキャプチャする際に無視するエクスチェンジをスペース区切りで列挙します。
ミドルウェア計装フィルタ
重要
これらの計装パッケージ固有の設定は、ミドルウェア計装の切り替えに使用できます。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
有効にすると、エージェントはDjangoのミドルウェアを監視します。
ミドルウェアの計装が有効になっている場合、このリストにあるミドルウェア名が送信されます。リスト内の名前は、以下のようにスペースで区切ってください。
middleware1 middleware2 middleware3ミドルウェアのフィルタリングに関するルールは、ミドルウェアのフィルタリングページに記載されています。
このリストに含まれるミドルウェア名は送信されません。リスト内の名前は、以下のようにスペースで区切ってください。
middleware1 middleware2 middleware3ミドルウェアのフィルタリングに関するルールは、ミドルウェアのフィルタリングページに記載されています。
機械学習の設定
重要
エージェントにおける機械学習データの設定には、以下の項目が利用可能です。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
機械学習メトリクスのエージェントによる属性収集を有効にするには、trueに設定してください。
タイプ | ブール値 |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
生の推論値を取得するには、trueに設定してください。
重要
高セキュリティモードが有効になっている場合、この設定は無効になります。
record_ml_event()経由で機械学習イベントをEvent APIに記録できるようにします。
重要
高セキュリティモードが有効になっている場合、この設定は無効になります。
タイプ | 整数 |
|---|---|
デフォルト | 100000 |
設定ファイル、環境変数 | |
|
PythonエージェントのインスタンスがNew Relicに送信できる1分あたりのMLイベントの数を制限します。
その他の設定
エージェント設定ファイルで利用できるその他の設定項目は以下のとおりです。
タイプ | ブール値 |
|---|---|
デフォルト |
|
trueの場合、エージェントはAWS環境で実行されていることを自動検出します。
タイプ | 文字列 |
|---|---|
デフォルト |
|
設定されている場合、アカウントIDが計装によって自動的に判別できない場合、エージェントはこのAWS account_idを使用してAWSエンティティを関連付けます。有効なAWSアカウントIDの例と、その確認方法については、AWSアカウント識別子管理に関するドキュメントを参照してください。
タイプ | ブール値 |
|---|---|
デフォルト |
|
trueの場合、エージェントはAzure環境で実行されていることを自動検出します。
タイプ | ブール値 |
|---|---|
デフォルト |
|
trueの場合、エージェントはGoogle Cloud Platform環境で実行されていることを自動検出します。
タイプ | ブール値 |
|---|---|
デフォルト |
|
trueの場合、エージェントはPivotal Cloud Foundry環境で実行されていることを自動検出します。
タイプ | ブール値 |
|---|---|
デフォルト |
|
trueの場合、エージェントはDockerで実行されていることを自動検出します。
タイプ | ブール値 |
|---|---|
デフォルト |
|
サーバー側の設定、設定ファイル | |
|
有効にすると、エージェントは長時間実行されているSQLデータベースクエリから詳細を取得します。
タイプ | ブール値 |
|---|---|
デフォルト |
|
サーバー側の設定、設定ファイル | |
|
スレッドプロファイリングセッションをスケジュール設定できます。スレッドプロファイラーは、アプリケーション内の各アクティブスレッドの呼び出しスタックのスナップショットを定期的にキャプチャして、統計的に代表的な呼び出しツリーを構築します。
サービス指向アーキテクチャ内でアプリとサービスを接続するクロスアプリケーショントレースを有効にします。
注意
バージョン12.0.0では、クロスアプリケーショントレース(CAT)が完全に削除されました。
有効にすると、機密情報が誤って取得されるのを防ぐため、エラートレースは例外メッセージが削除されたうえでコレクターに送信されます。このオプションは、高セキュリティモードでは自動的に有効になります。
重要
高セキュリティモードが有効になっている場合、この設定は無効になります。
タイプ | フロート |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
デフォルトでは、エージェントは最初のトランザクション(Webトランザクションまたは非Webトランザクション)を受信した時点で起動します。エージェントはその後並行して起動し、この最初のリクエストが遅延しないようにします。ただし、エージェントは登録が完了するまでデータを収集できないため、この最初のリクエストの詳細は記録されません。これは、New Relic起動中に最初のいくつかの処理を遅らせないために、多くのWebアプリケーションで推奨される設定です。
これを上書きするには、起動タイムアウトを秒単位で設定します。その後、エージェントは最初の行為を一時停止し、登録が完了するのを待ちます。これは、プロセスが1回実行されてすぐに終了する単一のプログラム実行またはタスクを計装した場合に便利です。
重要
startup_timeoutによりアプリの起動が遅れるため、Webアプリケーションではなく、バックグラウンドタスクキューシステムに対してのみ起動タイムアウトを設定することをお勧めします。
タイプ | フロート |
|---|---|
デフォルト |
|
設定ファイル、環境変数 | |
|
プロセスがシャットダウンすると、エージェントはコレクターへの最後のアップロードを1回試みます。イシューの発生時にエージェントが無期限に実行されるのを防ぐため、shutdown_timeoutの閾値に達すると、プロセスは通常どおりシャットダウンします。このシャットダウンによりデータが失われる可能性がありますが、エージェントはアップロードプロセスにおいて主要なメトリクスデータを優先します。
バックグラウンドタスクキューシステム、特にプロセスごとに少数のタスクを実行するシステムでは、エージェントがプロセスシャットダウン時にすべてのデータをアップロードできるように、シャットダウンタイムアウトを長めに設定することをお勧めします。
ヒント
Apacheをはじめとする多くのWebサーバーではプロセス終了タイムアウトが3.0秒に設定されているため、エージェントのデフォルトタイムアウトは2.5秒となっています。エージェントは2.5秒後に終了し、プロセスに登録されているatexitクリーンアップコードが実行されるようにします。
タイプ | ブール値 |
|---|---|
デフォルト | true |
設定ファイル、環境変数 | |
|
この設定を有効にすると、エージェントの起動時にパッケージ情報とバージョン情報が取得され、APM環境タブに表示されます。
ヒント
パッケージ数が多いアプリケーションでは、この設定を有効にすると、すべてのパッケージ情報とバージョン情報が取得されるため、CPU使用率が急上昇する可能性があります。そのような場合、この設定を無効にすることをお勧めします。
注意
この設定を無効にすると、古いパッケージの脆弱性を検出する機能が無効になります。
タイプ | ブール値 |
|---|---|
デフォルト | false |
環境変数 | |
|
この設定を有効にすると、エージェントは起動スクリプトから詳細なトラブルシューティングメッセージをコンソール(標準出力)に直接送信します。これは、newrelic-admin起動スクリプト、代替のbootstrap/sitecustomize.py起動スクリプト、またはKubernetes APM自動アタッチの起動シーケンスでのクラッシュのデバッグに役立ちます。
注意
関連するコードが設定ファイルが読み込まれる前に実行されるため、この環境変数設定に対応する設定は設定ファイルにはありません。エージェントの起動後に包括的なデバッグログを記録するには、ログレベルをdebugに設定してください。
タイプ | ブール値 |
|---|---|
デフォルト | false |
環境変数 | |
|
これは、エージェントがKubernetesクラスタに組み込まれたことを報告するための情報提供用の設定です。
注意
この設定は、エージェントの同機能を有効または無効にするものではありません。
タイプ | ブール値 |
|---|---|
デフォルト | false |
環境変数 | |
|
これは、エージェントがMicrosoft Azureコンテナアプリに組み込まれたことを報告するための情報提供用の設定です。
注意
この設定は、エージェントの同機能を有効または無効にするものではありません。
Heroku
タイプ | ブール値 |
|---|---|
デフォルト |
|
環境変数 |
|
trueの場合、エージェントはHeroku dyno名をホスト名として使用します。
タイプ | 配列 |
|---|---|
デフォルト |
|
環境変数 |
|
通常、エージェントは末尾にドットとプロセスIDが付いたdyno名を報告します(例:worker.3)。この末尾のデータを削除したい場合は、末尾データなしで報告したいプレフィックスを指定します(例:worker)。
内蔵インストゥルメンテーション
Pythonエージェントは、さまざまなPythonパッケージ/モジュールを計装します。この計装は、ターゲットPythonパッケージ/モジュールがアプリケーションによってインポートされる場合にのみ発生します。
デフォルトの計装を無効にするには、計装をトリガーしたモジュールの名前に対応する特別なimport-hookセクションを指定します。次に、enabled設定をfalseに設定して、そのモジュールの計装を無効にします。
.ini設定ファイルに以下を追加します。
[import-hook:MySQLdb]enabled = falseまたは、.toml設定ファイルに以下を追加します。
[tool.newrelic.import-hook.MySQLdb]enabled = false