Solución de problemas de inyección del agente del explorador APM
Los usuarios pueden encontrar varios errores durante la configuración de inyección del agente de explorador de APM. A continuación se muestran las causas y las acciones recomendadas para estos errores.
La página no se inyecta automáticamente con el agente del explorador
Causas Posibles:
-
La inyección del agente del explorador de APM no está activada correctamente.
Acción: revise cómo activar la función. Para obtener más información, consulte Activar inyección de agente de explorador de APM.
-
APM no admite el servidor de aplicaciones.
Acción: confirme que el servidor de aplicaciones está soportado comprobando la matriz de certificación de APM de OCI.
-
El servidor de aplicaciones donde se ejecuta el agente de APM no sirve la página.
Acción: compruebe si la página es realmente servida por el servidor de aplicaciones donde se ejecuta el agente de APM.-
Si la página se sirve desde una caché (por ejemplo, CDN) o un servidor web (por ejemplo, Oracle HTTP Server o Apache), el servidor de contenidos debe tener la página inyectada.
-
Si el explorador almacena en caché la página, intente realizar un refrescamiento permanente (por ejemplo, Mayús y recarga) o borre la caché del explorador.
-
-
Compruebe si la página HTML contiene HTML "válido". El consorcio W3C tiene muchas reglas y validadores que puede comprobar la validez de la página.
Acción: algunas formas sencillas de comprobar son las siguientes:-
En el explorador, visualice el origen de página y compruebe que empieza por "
<html
", "<!--
" o "<!doctype html
".Si comienza con otra etiqueta y todavía necesita forzar la inyección, puede agregar esa etiqueta al parámetro "
valid_html_start
" en el archivoProbeConfig.acml
. -
Mediante las herramientas de desarrollo del explorador, compruebe si la cabecera "Tipo de Contenido" de la respuesta HTTP contiene "texto/html".
-
- Si no hay ningún mensaje de error claro disponible, puede hacer lo siguiente:
-
Defina el nivel de log en
DEBUG
en el archivoAgentConfig.properties
agregando el parámetro com.oracle.apm.agent.logging.level=DEBUG.Después, vuelva a cargar la página en el explorador y busque mensajes en el archivo
Agent.log
que contenga la cadena "DEBUG <Filter>". -
Revise el archivo
ProbeConfig.acml
y asegúrese de que no alcance ninguno de los valores de exclusión en la secciónINJECTION
. En particular, revise la siguiente configuración configurable:excluded_extensions
excluded_context_roots
excluded_patterns
-
- Información de funcionalidad adicional:
-
El HTML debe ser generado por un servlet o una JSP en el que se está ejecutando el agente de Java de APM. Si genera HTML en un filtro o a través de algún otro mecanismo, es poco probable que funcione.
-
El servlet debe realizar una llamada a
getOutputStream()
y escribir el HTML en unServletOutputStream
válido O bien, debe realizar una llamada agetWriter()
y escribir el HTML en unPrintWriter
válido.Oracle InjectionFilter debe formar parte de la cadena de servlet (agregada automáticamente a la cadena de filtro de la aplicación). Si se utiliza cualquier otro filtro para omitirlo, entonces la inyección no será posible.
-
Codificación de Transferencia. El agente debe poder interceptar e inyectar antes de que el flujo de respuesta HTML se transforme mediante:
- Transfer-Encoding: fragmentado.
- Codificación de Transferencia: Compresión.
- Transfer-Encoding: deflate.
- Codificación de Transferencia: gzip.
-
La página no se ha presentado correctamente
Acción: primero, intente desactivar la inyección del agente de explorador de APM mediante el archivo AgentConfig.properties
. Para obtener más información, consulte Desactivar inyección de agente de explorador de APM. Después de hacerlo, espere aproximadamente un minuto y vuelva a intentar la página en cuestión. No debe reiniciar Application Server.