• ログイン今すぐ開始

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

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

問題を作成する

Pythonエージェントの構成

Pythonエージェントでは、構成オプションを使用してデフォルトのエージェント動作エージェントを変更できます。

必要なPythonエージェント構成設定は、ライセンスキーのみです。ライセンスキーは、エージェントがアプリケーションデータを報告するアカウントを識別します。アプリケーションのホスティング方法に応じて、ライセンスキーは構成ファイルまたは環境変数を介して提供できます。

構成方法と優先順位

Pythonエージェントを構成する主な方法は、標準のインストールプロセスの一部として生成される構成ファイルを使用することです。UIでサーバー側の構成を使用するか、環境変数を使用して、限られた数の構成オプションを設定することもできます。WSGIリクエスト環境ディクショナリを使用して設定を渡すことにより、リクエストごとにいくつかの設定を指定することもできます。

Pythonエージェントは、次の優先順位に従って構成されます。

Pythonエージェントでは、リクエストごとのオプションがサーバー側の構成を上書きします。有効にすると、サーバー側の値が空白のままになっている場合でも、サーバー側の構成によってエージェント構成ファイル内の対応するすべての値が上書きされます。エージェント設定ファイルは環境変数を上書きします。環境変数は、エージェントのデフォルトをオーバーライドします。

各構成方法の詳細な説明は次のとおりです。

複数の環境構成

エージェントは、 newrelicと呼ばれるエージェント構成セクションからプライマリ構成を読み取ります。追加のセクションで、特定のデプロイメント環境(開発、ステージング、本番など)のオーバーライドを提供できます。これらのセクションの前に[newrelic: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

一般的な構成設定

これらの設定は、エージェント構成ファイルで使用できます。

属性

属性は、トランザクショントレース、トレースされたエラー、ブラウザモニタリング、およびトランザクションイベントの情報を提供するキーと値のペアです。以下の一般的な属性設定を使用して4つの宛先すべての属性を構成することに加えて、宛先ごとに構成することもできます。

詳細については、 Pythonエージェント属性、属性の有効化と無効化、および属性の例を参照してください。

トランザクショントレーサーの構成

重要

トランザクション名の末尾に角かっこ[suffix]を使用しないでください。エージェントは、名前から角かっこを自動的に削除します。代わりに、必要に応じて括弧(suffix)またはその他の記号を使用してください。

トランザクショントレースの詳細については、トランザクショントレースを参照してください。

トランザクションセグメントの構成

エージェント構成ファイルを介して使用できるトランザクションセグメント設定は次のとおりです。

エラーコレクターの構成

エージェント構成ファイルを介して使用できるエラーコレクター設定は次のとおりです。

ヒント

APMでのエラー構成の概要については、「APMでのエラーの 管理」を参照してください。

ブラウザの監視設定

エージェント構成ファイルを介して利用できるブラウザ監視設定は次のとおりです。

トランザクションイベントの設定

エージェント構成ファイルを介して使用できるトランザクションイベント設定は次のとおりです。

ヒント

これらの構成設定は、以前はanalytic_eventsと呼ばれていました。構成ファイルでまだanalytic_eventsを使用している場合は、 transaction_eventsを使用するようにエージェントを更新してください。

カスタムイベント設定

エージェント構成ファイルを介して使用できるカスタムイベント設定は次のとおりです。

データストアトレーサー設定

これらのデータストアトレーサー設定は、エージェント構成ファイルを介して利用できます。

分散トレース設定

分散トレースを使用すると、リクエストが分散システムを通過するときにたどるパスを確認できます。Pythonエージェントバージョン7.0.0.166以降では、分散トレースはデフォルトで有効になっています。

重要

分散トレースを有効にすると、アプリケーション間のトレースが無効になり、APM機能に他の影響があります。クロスアプリケーショントレースから移行する場合は、移行ガイドをお読みください。

詳細については、Pythonサービスの分散トレースを参照してください

設定は次のとおりです。

スパンイベント構成

スパンイベントは、分散トレース用に収集されます。スパンイベントを報告するには、分散トレースを有効にする必要があります。構成オプションは次のとおりです。

イベントハーベスト構成

イベントハーベスト設定は、NewRelicに送信されるイベントタイプデータの量を制限します。これらの設定を使用するときは、次の重要な点を考慮してください。

  • イベントハーベスト設定は、アプリケーション全体ではなく、エージェントの単一インスタンスの制限に影響します。アプリケーション全体に制限を設定する方法については、以下の使用例を参照してください。
  • リアルタイムストリーミングは5秒ごと(1分あたり12回)にデータを送信しますが、イベントハーベスト設定は1あたりのイベントのレートに影響します。リアルタイムストリーミングを有効または無効にするために、これらの設定を変更する必要はありません。
  • リアルタイム ストリーミング (デフォルトで有効) を使用すると、New Relic はエンティティのイベント収集制限を 5 秒間隔で表示します。これは、たとえば、構成ファイルで 1200 の制限値を設定すると、New Relic では 100 として表示されることを意味します。

使用例

アプリケーションが10個のホストにデプロイされ、それぞれがホストごとに4つのプロセスを実行しているとします。アプリケーション全体でスパンイベントの数を1分あたり10,000イベントに制限するには、その数を10ホストで割ります。次に、ホストごとに4つのプロセスで再度分割します。

10000 /(10 * 4)= 250

その計算に基づいて、最終的な設定は次のようになります。

event_harvest_config.harvest_limits.span_event_data= 250

ヒント

New Relic がデータを収集する方法 (1 分間に 12 回) により、イベント データ数が 12 未満の場合、New Relic では 0 として表示されます。

イベントハーベストの構成設定は次のとおりです。

イベントループの可視性設定

イベントループの可視性は、イベントループをブロックするトランザクションに関する情報を表示します。エージェントは、イベントループの制御を取得するためにかなりの時間待機したトランザクションに関する情報を生成します。設定は次のとおりです。

ガベージコレクションのランタイムメトリック設定

これらのガベージコレクションのランタイムメトリック設定は、エージェント構成ファイルを介して利用できます。

新しいRelicCodeStream設定

次の設定は、エージェントのCodeStreamコードレベルメトリックの構成に使用できます。

アプリケーションログ設定

エージェントでのアプリケーションロギングの設定には、次の設定を使用できます。

Python エージェントのログを構成するためのヒントについては、コンテキストで Python ログを構成するを参照してください。

その他の構成設定

エージェント構成ファイルを介して利用できるその他の設定を以下に示します。

Heroku

内蔵計装

Pythonエージェントは、さまざまなPythonパッケージ/モジュールをインストルメントします。このインストルメンテーションは、ターゲットPythonパッケージ/モジュールがアプリケーションによってインポートされた場合にのみ発生します。

デフォルトのインストルメンテーションを無効にするには、インストルメンテーションをトリガーしたモジュールの名前に対応する特別なimport-hookセクションを指定します。次に、 enabled設定をfalseに設定して、そのモジュールのインストルメンテーションを無効にします。

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.