APMブラウザ・エージェント・インジェクションのトラブルシューティング

ユーザーは、APMブラウザ・エージェント・インジェクション構成中に様々なエラーが発生する可能性があります。このようなエラーの原因と推奨措置を次に示します。

ブラウザ・エージェントでページが自動的に挿入されることはありません

考えられる原因:

  • APMブラウザ・エージェント・インジェクションが正しく有効化されていません。

    アクション: この機能を有効にする方法を確認します。詳細は、「APMブラウザ・エージェント・インジェクションの有効化」を参照してください。

  • アプリケーション・サーバーはAPMでサポートされていません。

    処置: OCI APM認証マトリックスをチェックして、アプリケーション・サーバーがサポートされていることを確認します。

  • このページは、APMエージェントが実行されているアプリケーション・サーバーでは表示されません。

    処置: APMエージェントが実行されているアプリケーション・サーバーによってページが実際に提供されているかどうかを確認します。
    • ページがキャッシュ(CDNなど)またはWebサーバー(Oracle HTTP ServerやApacheなど)から提供される場合は、コンテンツ・サーバーに注入されたページが必要です。

    • ページがブラウザによってキャッシュされている場合は、ハード・リフレッシュ(シフトやリロードなど)を実行するか、ブラウザのキャッシュをクリアします。

  • HTMLページに「有効」HTMLが含まれているかどうかを確認します。W3Cコンソーシアムには、ページの妥当性をチェックできるルールおよびバリデータが多数あります。

    処置: 次の簡単な確認方法があります。
    • ブラウザで、ページ・ソースを表示し、「<html」、「<!--」または「<!doctype html」で始まることを確認します。

      他のタグで開始し、インジェクションを強制する必要がある場合は、そのタグをProbeConfig.acmlファイルのvalid_html_startパラメータに追加できます。

    • ブラウザの開発ツールを使用して、HTTPレスポンスの「Content- Type」ヘッダーに「text/html」が含まれているかどうかを確認します。

  • 使用可能なクリア・エラー・メッセージがない場合は、次を実行できます。
    • com.oracle.apm.agent.logging.level= DEBUGパラメータを追加して、AgentConfig.propertiesファイルのログ・レベルをDEBUGに設定します。

      その後、ブラウザでページをリロードし、文字列"DEBUG <Filter>"を含むAgent.logファイルでメッセージを検索します。

    • ProbeConfig.acml ファイルを確認し、INJECTIONセクションの除外設定に該当しないことを確認します。特に、次の構成可能な設定を確認します。
      • excluded_extensions
      • excluded_context_roots
      • excluded_patterns
  • 追加機能情報:
    1. HTMLは、APM Javaエージェントが実行されているサーブレットまたはJSPによって生成される必要があります。フィルタまたはその他のメカニズムを使用してHTMLを生成すると、ほとんど機能しません。

    2. サーブレットは、getOutputStream()をコールしてHTMLを有効なServletOutputStreamに書き込むか、getWriter()をコールしてHTMLを有効なPrintWriterに書き込む必要があります。

      Oracle InjectionFilterは、サーブレット・チェーンの一部である必要があります(アプリケーションのフィルタ・チェーンに自動的に追加されます)。他のフィルタを使用してバイパスする場合、インジェクションは実行できません。

    3. 転送エンコーディング。HTMLレスポンス・ストリームが次の方法で変換される前に、エージェントはインターセプトおよびインジェクトできる必要があります。
      • 転送エンコーディング: チャンク化されました。
      • Transfer- Encoding: 圧縮。
      • Transfer- Encoding: デフレート。
      • Transfer- Encoding: gzip。

ページが正常にレンダリングされませんでした

処置: まず、AgentConfig.propertiesファイルを使用してAPMブラウザ・エージェント・インジェクションを無効にしてみてください。詳細は、「APMブラウザ・エージェント・インジェクションの無効化」を参照してください。その後、約1分待ってから、問題になっているページを再試行してください。Application Serverを再起動する必要はありません。