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
-
- 追加機能情報:
-
HTMLは、APM Javaエージェントが実行されているサーブレットまたはJSPによって生成される必要があります。フィルタまたはその他のメカニズムを使用してHTMLを生成すると、ほとんど機能しません。
-
サーブレットは、
getOutputStream()
をコールしてHTMLを有効なServletOutputStream
に書き込むか、getWriter()
をコールしてHTMLを有効なPrintWriter
に書き込む必要があります。Oracle InjectionFilterは、サーブレット・チェーンの一部である必要があります(アプリケーションのフィルタ・チェーンに自動的に追加されます)。他のフィルタを使用してバイパスする場合、インジェクションは実行できません。
-
転送エンコーディング。HTMLレスポンス・ストリームが次の方法で変換される前に、エージェントはインターセプトおよびインジェクトできる必要があります。
- 転送エンコーディング: チャンク化されました。
- Transfer- Encoding: 圧縮。
- Transfer- Encoding: デフレート。
- Transfer- Encoding: gzip。
-
ページが正常にレンダリングされませんでした
処置: まず、AgentConfig.properties
ファイルを使用してAPMブラウザ・エージェント・インジェクションを無効にしてみてください。詳細は、「APMブラウザ・エージェント・インジェクションの無効化」を参照してください。その後、約1分待ってから、問題になっているページを再試行してください。Application Serverを再起動する必要はありません。