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

この機械翻訳は参考用に提供されます。

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

問題を作成する

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

Python エージェントを使用すると、Web ページにブラウザ監視を自動または手動で追加できます。有効にするユーザー インターフェイスで、手順に従ってブラウザ エージェントをインストールします。次に、このセクションの手順に従って 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 コンテンツ セキュリティ ポリシーを使用している場合、または特定のページのみのブラウザ データを収集したい場合に便利です。

この手順の呼び出しは、監視するすべての要求に対して行う必要があります。これらの関数をグローバルスコープで一度呼び出して、後で使用するために結果をキャッシュすることはできません

重要

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. これらのコールを、監視したい すべての ページのリクエストハンドラに配置します。

    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. これらの呼び出しを監視するすべてのページのリクエスト ハンドラーに配置し、「NONCE」を CSP のナンスに置き換えます。

  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.