Configurar Definições Adicionais de Injeção do Agente do Navegador do APM
Atualizar arquivo ProbeConfig.acml
No arquivo ProbeConfig.acml
, há uma seção chamada INJECTION com definições adicionais disponíveis para ajustar como a injeção do agente do browser é executada, se desejado. Cada configuração tem um comentário explicando o que ela faz.
INJECTION:
### Exclusion Settings ###
# URLs that end in these extensions will be skipped for browser agent injection.
excluded_extensions:
...
-
Determine quais páginas devem ou não ter o agente do navegador injetado nelas.
-
O local na página em que o agente do navegador deve ser injetado.
-
Saiba como responder a casos em que o servidor de aplicativos não fornece as informações necessárias para a injeção do agente do navegador. Por exemplo: conjunto de caracteres e tipo MIME da página.
Todas essas definições podem ser atualizadas sem precisar reiniciar o servidor de aplicativos.
- O agente do navegador será injetado após a tag <head> da página HTML.
Isso é controlado pelas configurações
inject_location_tag
einject_before
.Se a tag estiver ausente, ela será anexada ao final do arquivo. Isso é controlado pela configuração
inject_mode
. - Somente os tipos MIME "text/html" e "application/xhtml+xml" serão considerados para injeção.
Isso é controlado pela definição
valid_mime_types
. - URLs que terminam em extensões de arquivo específicas, como
json, txt, gif
e outras, ignorarão a injeção do agente do navegador.Isso é controlado pela definição
excluded_extensions
. - Aplicativos com raízes de contexto específicas ignorarão a injeção de agente de navegador.
Isso é controlado pela definição
excluded_context_roots
.
Atualizar BrowserAgentTemplate.txt
Este arquivo determina qual HTML é injetado na página.
<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>
Os valores cercados por @@
são substituídos antes da injeção, e são valores adquiridos do arquivo AgentConfig.properties
.
Este modelo pode ser ajustado para ter em conta as configurações do agente do navegador mencionadas nas outras seções desta documentação, como window.apmrum.rewriteRules
. Para obter informações, consulte Ocultar Informações de Identificação Pessoal.
Todas as alterações feitas neste arquivo serão selecionadas automaticamente e não exigirão uma reinicialização do servidor de aplicativos.
Atualizar tipos de Mime
Para que a injeção obtenha êxito, o tipo mime especificado no cabeçalho "Content-Type" na Resposta HTTP deve sempre conter "text/html". Não deve haver problemas/problemas quando este cabeçalho está definido corretamente.
No entanto, alguns aplicativos respondem com um tipo mime incorreto ou nenhum tipo mime. Quando nenhum mime-type é fornecido, a injeção do Agente do Navegador usa o parâmetro "default_mime_type" no arquivo ProbeConfig.acml
para decidir o que fazer. O valor padrão desse parâmetro é definido como "text/plain"; portanto, a injeção não ocorrerá em todos os casos em que o cabeçalho está ausente.
Se quiser injeção nesses casos, altere o parâmetro "default_mime_type" para "text/html" para que essa injeção seja permitida.
No caso oposto, quando o cabeçalho "Content-Type" na Resposta HTTP contém "text/html", mas o conteúdo real não é HTML, usamos um sofisticado algoritmo de análise de conteúdo baseado em assinatura/heurística para decidir se injetar ou não. Se determinarmos que o conteúdo é de um tipo que não seja HTML, não injetaremos nada no fluxo.