Zusätzliche APM-Browser-Agent-Injection-Einstellungen konfigurieren
ProbeConfig.acml-Datei aktualisieren
In der Datei ProbeConfig.acml
befindet sich ein Abschnitt mit dem Namen INJECTION, in dem zusätzliche Einstellungen zur Anpassung der Injektion des Browser-Agent verfügbar sind. Jede Einstellung hat einen Kommentar, der erklärt, was sie tut.
INJECTION:
### Exclusion Settings ###
# URLs that end in these extensions will be skipped for browser agent injection.
excluded_extensions:
...
-
Legen Sie fest, auf welche Seiten der Browser-Agent injiziert werden soll oder nicht.
-
Die Position auf der Seite, in der der der Browser-Agent injiziert werden soll.
-
Erfahren Sie, wie Sie auf Fälle reagieren, in denen der Anwendungsserver nicht die erforderlichen Informationen für die Injektion des Browser-Agents bereitstellt. Beispiel: Zeichensatz und MIME-Typ der Seite.
Alle diese Einstellungen können aktualisiert werden, ohne dass der Anwendungsserver neu gestartet werden muss.
- Der Browser-Agent wird nach dem <head>-Tag der HTML-Seite injiziert.
Dies wird durch die Einstellungen
inject_location_tag
undinject_before
gesteuert.Wenn das Tag fehlt, wird es an das Ende der Datei angehängt. Dies wird durch die Einstellung
inject_mode
gesteuert. - Nur MIME-Typen "text/html" und "application/xhtml+xml" werden für die Injektion berücksichtigt.
Dies wird durch die Einstellung
valid_mime_types
gesteuert. - URLs, die insbesondere Dateierweiterungen wie
json, txt, gif
und andere enden, überspringen die Injection von Browser-Agents.Dies wird durch die Einstellung
excluded_extensions
gesteuert. - Anwendungen mit bestimmten Kontext-Roots überspringen die Injection von Browser-Agents.
Dies wird durch die Einstellung
excluded_context_roots
gesteuert.
BrowserAgentTemplate.txt aktualisieren
Diese Datei bestimmt, welcher HTML-Code in die Seite eingefügt wird.
<script type="application/javascript">
window.apmrum = (window.apmrum || {});
window.apmrum.serviceName='@@SERVICE_NAME@@';
window.apmrum.webApplication='@@WEB_APPLICATION@@';
window.apmrum.ociDataUploadEndpoint='@@UPLOAD_ENDPOINT@@';
window.apmrum.OracleAPMPublicDataKey='@@PUBLIC_KEY@@';
</script>
<script type="application/javascript"async crossorigin="anonymous"src="@@UPLOAD_ENDPOINT@@/static/jslib/apmrum.min.js"></script>
Die von @@
umgebenen Werte werden vor der Injektion ersetzt, und sie sind Werte, die aus der Datei AgentConfig.properties
abgerufen werden.
Diese Vorlage kann angepasst werden, um Konfigurationen auf Browsermittlungsseite zu berücksichtigen, die in den anderen Abschnitten dieser Dokumentation aufgeführt werden, wie window.apmrum.rewriteRules
. Weitere Informationen finden Sie unter Personally Identible Information ausblenden.
Alle an dieser Datei vorgenommenen Änderungen werden automatisch übernommen und erfordern keinen Neustart des Anwendungsservers.
MIME-Typen aktualisieren
Damit Injection den im Header "Content-Type" in der HTTP-Antwort angegebenen MIME-Typ erfolgreich ausführen kann, muss immer "text/html" enthalten sein. Es dürfen keine Probleme/Probleme auftreten, wenn dieser Header korrekt festgelegt ist.
Einige Anwendungen reagieren jedoch mit einem falschen MIME-Typ oder ohne MIME-Typ. Wenn kein MIME-Typ angegeben wird, verwendet die Injection des Browser-Agents den Parameter "default_mime_type" in der Datei ProbeConfig.acml
, um zu entscheiden, was zu tun ist. Der Standardwert für diesen Parameter ist "text/plain". Daher wird die Injection nicht in allen Fällen ausgeführt, in denen der Header fehlt.
Wenn Sie in diesen Fällen Injection verwenden möchten, müssen Sie den Parameter "default_mime_type" in "text/html" ändern, damit diese Injection zulässig ist.
Wenn der Header "Content-Type" in der HTTP-Antwort "text/html" enthält, der tatsächliche Inhalt jedoch nicht "HTML" ist, verwenden wir einen ausgefeilten Algorithmus zur signatur-/heuristischen Inhaltsanalyse, um zu entscheiden, ob er injiziert wird oder nicht. Wenn der Inhalt eines Typs festgelegt wird, der kein HTML ist, werden keine Inhalte in den Stream aufgenommen.