Fehlerbehebung bei APM-Browser-Agent-Injection

Bei der Injection-Konfiguration von APM Browser Agent treten möglicherweise verschiedene Fehler auf. Die Ursachen und empfohlenen Aktionen bei solchen Fehlern sind nachfolgend aufgeführt.

Seite wird nicht automatisch mit dem Browser-Agent injiziert

Mögliche Ursachen:

  • APM-Browser-Agent-Injection ist nicht korrekt aktiviert.

    Aktion: Prüfen Sie, wie die Funktion aktiviert wird. Weitere Informationen finden Sie unter Injection von APM-Browser-Agent aktivieren.

  • Der Anwendungsserver wird von APM nicht unterstützt.

    Aktion: Bestätigen Sie, dass der Anwendungsserver unterstützt wird, indem Sie die OCI APM-Zertifizierungsmatrix prüfen.

  • Die Seite wird nicht vom Anwendungsserver bereitgestellt, auf dem der APM-Agent ausgeführt wird.

    Aktion: Prüfen Sie, ob die Seite wirklich vom Anwendungsserver bedient wird, auf dem der APM-Agent ausgeführt wird.
    • Wenn die Seite aus einem Cache (z.B. CDN) oder einem Webserver (z.B. Oracle HTTP Server oder Apache) bereitgestellt wird, muss der Content Server über die injizierte Seite verfügen.

    • Wenn die Seite vom Browser gecacht wird, versuchen Sie, eine harte Aktualisierung durchzuführen (z.B. Umschalttaste und Neuladen), oder löschen Sie den Cache Ihres Browsers.

  • Prüfen Sie, ob die HTML-Seite "valid" HTML enthält. Das W3C-Konsortium verfügt über viele Regeln und Validatoren, die Sie auf die Gültigkeit der Seite prüfen können.

    Aktion: Sie können auf einfache Weise prüfen:
    • Zeigen Sie in Ihrem Browser die Seitenquelle an, und prüfen Sie, ob sie mit "<html", "<!--" oder "<!doctype html" beginnt.

      Wenn es mit einem anderen Tag beginnt und Sie die Injektion weiterhin erzwingen müssen, können Sie dieses Tag dem Parameter "valid_html_start" in der Datei ProbeConfig.acml hinzufügen.

    • Prüfen Sie mit den Entwicklungstools Ihres Browsers, ob der Header "Content-Type" in der HTTP-Antwort "text/html" enthält.

  • Wenn keine klare Fehlermeldung verfügbar ist, können Sie Folgendes tun:
    • Legen Sie die Logebene in der Datei AgentConfig.properties auf DEBUG fest, indem Sie den Parameter com.oracle.apm.agent.logging.level=DEBUG hinzufügen.

      Danach laden Sie die Seite im Browser neu und suchen nach Nachrichten in der Datei Agent.log, die die Zeichenfolge "DEBUG <Filter>" enthält.

    • Prüfen Sie die Datei ProbeConfig.acml , und stellen Sie sicher, dass sie keine der Ausschlusseinstellungen unter dem Abschnitt INJECTION erreicht. Beachten Sie insbesondere die folgenden konfigurierbaren Einstellungen:
      • excluded_extensions
      • excluded_context_roots
      • excluded_patterns
  • Weitere Funktionsinformationen:
    1. Der HTML-Code muss von einem Servlet oder einer JSP generiert werden, auf der der APM Java Agent ausgeführt wird. Wenn Sie HTML in einem Filter oder über einen anderen Mechanismus generieren, funktioniert dies wahrscheinlich nicht.

    2. Das Servlet muss getOutputStream() aufrufen und die HTML in eine gültige ServletOutputStream schreiben, ODER es muss getWriter() aufrufen und die HTML in eine gültige PrintWriter schreiben.

      Oracle InjectionFilter muss Teil der Servlet-Kette sein (wird automatisch zur Filterkette der Anwendung hinzugefügt). Wird ein anderer Filter verwendet, um ihn zu umgehen, ist die Injektion nicht möglich.

    3. Transfercodierung. Der Agent muss in der Lage sein, abzufangen und zu injizieren, bevor der HTML-Antwortstream transformiert wird durch:
      • Transfer-Encoding: chunked.
      • Transfercodierung: komprimieren.
      • Transfercodierung: deflate.
      • Transfercodierung: gzip.

Seite wurde nicht erfolgreich angezeigt

Aktion: Deaktivieren Sie zunächst die APM-Browser-Agent-Injection mit der Datei AgentConfig.properties. Weitere Informationen finden Sie unter Injection von APM-Browser-Agent deaktivieren. Warten Sie danach etwa eine Minute, und wiederholen Sie die betreffende Seite. Sie müssen den Anwendungsserver nicht neu starten.