Configura impostazioni aggiuntive inserimento agente browser APM

Una volta abilitata questa funzione Agente browser APM, è possibile personalizzare le impostazioni predefinite e aggiungerne altre a seconda delle esigenze.

Aggiorna file ProbeConfig.acml

Nel file ProbeConfig.acml è disponibile una sezione denominata INJECTION con impostazioni aggiuntive che consentono di regolare, se necessario, le modalità di esecuzione dell'inserimento dell'agente del browser. Ogni impostazione ha un commento che spiega cosa fa.

INJECTION:
  ### Exclusion Settings ###
  # URLs that end in these extensions will be skipped for browser agent injection.
  excluded_extensions:
...
È possibile utilizzare queste impostazioni per:
  • Determinare quali pagine devono o non devono essere inserite nell'agente del browser.

  • Posizione nella pagina in cui deve essere inserito l'agente del browser.

  • Sapere come rispondere ai casi in cui il server applicazioni non fornisce le informazioni necessarie per l'iniezione agente del browser. Ad esempio: set di caratteri e tipo MIME della pagina.

Tutte queste impostazioni possono essere aggiornate senza dover riavviare l'Application Server.

Il comportamento predefinito è il seguente:
  • L'agente del browser verrà inserito dopo il tag <head> della pagina HTML.

    Questa opzione è controllata dalle impostazioni inject_location_tag e inject_before.

    Se il tag è mancante, verrà aggiunto alla fine del file. Questa opzione è controllata dall'impostazione inject_mode.

  • Solo i tipi MIME "text/html" e "application/xhtml+xml" saranno considerati per l'iniezione.

    Questa opzione è controllata dall'impostazione valid_mime_types.

  • Gli URL che terminano in particolari estensioni di file come json, txt, gif e altri, salteranno l'inserimento dell'agente del browser.

    Questa opzione è controllata dall'impostazione excluded_extensions.

  • Le applicazioni con radici di contesto particolari salteranno l'inserimento dell'agente del browser.

    Questa opzione è controllata dall'impostazione excluded_context_roots.

Aggiorna BrowserAgentTemplate.txt

Questo file determina quale HTML viene inserito nella pagina.

Il comportamento predefinito per APM Agent 1.3 e versioni successive è il seguente:
<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>

I valori racchiusi in @@ vengono sostituiti prima dell'iniezione e vengono acquisiti dal file AgentConfig.properties.

Questo modello può essere modificato per tenere conto delle configurazioni lato agente del browser menzionate nelle altre sezioni della presente documentazione, ad esempio window.apmrum.rewriteRules. Per informazioni, vedere Nascondere informazioni di identificazione personale.

Qualsiasi modifica apportata a questo file verrà rilevata automaticamente e non richiederà il riavvio dell'Application Server.

Aggiorna tipi Mime

Affinché l'inserimento abbia esito positivo, il tipo MIME specificato nell'intestazione "Content-Type" nella risposta HTTP deve sempre contenere "text/html". Non dovrebbero esserci problemi/problemi quando questa intestazione è impostata correttamente.

Tuttavia, alcune applicazioni rispondono con un tipo mime errato o nessun tipo mime. Quando non viene fornito alcun tipo MIME, l'inserimento dell'agente browser utilizza il parametro "default_mime_type" nel file ProbeConfig.acml per decidere le operazioni da eseguire. Il valore predefinito per questo parametro è impostato su "text/plain", pertanto l'inserimento non verrà eseguito in tutti i casi in cui manca l'intestazione.

Se si desidera effettuare l'inserimento in questi casi, modificare il parametro "default_mime_type" in "text/html" per fare in modo che l'inserimento sia consentito.

Nel caso contrario, quando l'intestazione "Content-Type" nella risposta HTTP contiene "text/html", ma il contenuto effettivo non è HTML, viene utilizzato un sofisticato algoritmo di analisi del contenuto basato sulla firma o euristica per decidere se eseguire o meno l'inserimento. Se determiniamo che il contenuto sia di un tipo non HTML, non inietteremo nulla nel flusso.