• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

ブラウザモニタリングとPythonエージェント

Python エージェントを使用すると、自動または手動で Web ページにブラウザ監視を追加できます。 ユーザー インターフェースでを有効にするには、 Browseragent をインストールする手順に従ってください。 次に、このセクションの手順に従って Python エージェントを設定します。

ブラウザエージェントをPythonエージェントで使用するには、最新のリリースを入手してください。 詳細については、エージェントのインストール手順 を参照してください。

自動計測器のサポート

Pythonエージェントは、専用のWSGIサーバーに直接ホストされ、ネイティブなWSGIインターフェースを持ち、WSGIアプリケーションがHTMLページのレスポンスをイテレート/ジェネレータ経由で返すWSGIアプリケーションの自動インスツルメンテーションのみをサポートしています。

自動計測には専用のWSGIサーバーが必要です。

  • Apache/mod_wsgi、gunicorn、uWSGIなどのWSGIサーバーに対応しています。
  • TornadoまたはTwistedフレームワークの上でWSGIアダプタを使用することはサポートされていません。

Python エージェントは、WSGI start_response()関数から返されたwrite()コールバックを使用して HTML ページの応答を書き戻す場合、インストルメンテーションの挿入をサポートしません。自動インストルメンテーションの要件の詳細については、 「Python でのブラウザ インストルメンテーションのトラブルシューティング」を参照してください。

自動計測器の使用

Pythonエージェントは、あらゆるHTMLページのレスポンスに、ブラウザのJavaScriptエージェントを自動的に追加することができます。WSGIアプリケーションでは、エージェントはリクエストパイプラインにインストールされたWSGIミドルウェアを使用します。ミドルウェアはWSGIレベルなので、Django、Flask、Pyramidなどの一般的なPythonのWebフレームワークを含め、使用しているWebフレームワークに関わらず、あらゆるWSGIアプリケーションで自動インストゥルメンテーションが機能するはずです。

特定のページのインストゥルメンテーションを無効にする

自動計測機能を使いたいが、計測したくない HTML ページの応答がある場合は、そのリクエストの計測を無効にすることができます。この Python エージェント API コール を、そのリクエストハンドラのコードに追加してください。

newrelic.agent.disable_browser_autorum()

Apache/mod_wsgi など、リクエストごとの構成が可能な WSGI サーバーを使用している場合は、監視対象のアプリケーションに渡される WSGI Environ ディクショナリでそのリクエストのnewrelic.disable_browser_autorumキーを設定することで、自動インストルメンテーションを無効にすることもできます。

例えば、Apache/mod_wsgiを使用している場合、URLでフィルタリングすることで自動計測を無効にすることができます。

<Location /login>
SetEnv newrelic.disable_browser_autorum true
</Location>

特定のページのブラウザ監視を手動で有効にする

特定のページにブラウザー インストルメンテーションを手動で追加できます。これは、たとえば、アプリケーションで自動インストルメンテーションが不可能な場合、nonced コンテンツ セキュリティ ポリシーを使用している場合、または特定のページのみのブラウザ データを収集したい場合に便利です。

この手順の呼び出しは、モニターするevery要求に対して実行する必要があります。 これらの関数をグローバル スコープでcannot回呼び出し、結果を後で使用するためにキャッシュします。

重要

Python エージェント バージョン 9.4.0 以降では、get_browser_timing_footer API非推奨となり、常に空の文字列を返します。 get_browser_timing_footer()の以前の機能は、現在get_browser_timing_header()に含まれています。

古いバージョンのエージェントでは、ブラウザ エージェントをロードするためにフッターが必要です。

  1. 自動インストゥルメンテーションを無効にする: newrelic.iniファイルで、 browser_monitoring.auto_instrumentfalseに設定します。

  2. アプリケーションを再起動します。

  3. モニターするeveryページのリクエスト ハンドラーに次の呼び出しを配置します。

    import newrelic.agent
    header = newrelic.agent.get_browser_timing_header()
    # The footer is required on Python Agent versions 9.3.0 and below.
    footer = newrelic.agent.get_browser_timing_footer()
  4. header変数と場合によってはfooter変数を HTML 応答に渡します。

  5. 対応するページで、 header変数を<head>要素に挿入します。header変数は、値がX-UA-Compatiblecharsetプロパティまたはhttp-equivのメタタグの後に配置します。

  6. 必要に応じて、 <body>要素の終わりの前にfooter変数を挿入します。

数分待ってから、 ブラウザの監視データを確認してください 。数分待ってもデータが表示されない場合は、 Troubleshooting browser instrumentation in Python を参照してください。

CSP Nonceのサポート

ブラウザ インストルメンテーションでの CSP Nonce の使用は、Python エージェントのバージョン 9.4.0 以降でサポートされています。ブラウザ インストルメンテーションで nonce を使用するには、ブラウザ監視の自動インストルメンテーションを無効にし、エージェント API 経由で手動インストルメンテーションを使用する必要があります。

API メソッドに nonce を引数として渡して、エージェントがブラウザのインストルメンテーションに nonce を挿入できるようになりました。

  1. 自動インストゥルメンテーションを無効にする: newrelic.iniファイルで、 browser_monitoring.auto_instrumentfalseに設定します。

  2. アプリケーションを再起動します。

  3. モニターするeveryページのリクエスト ハンドラーに次の呼び出しを配置し、「NONCE」を CSP nonce に置き換えます。

    import newrelic.agent
    header = newrelic.agent.get_browser_timing_header("NONCE")
  4. header変数を HTML 応答に渡します。

  5. 対応するページで、 header変数を<head>要素に挿入します。header変数は、値がX-UA-Compatiblecharsetプロパティまたはhttp-equivのメタタグの後に配置します。

Copyright © 2024 New Relic株式会社。

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