Introducción
Este documento describe cómo instalar AppDynamics Apache Web Server Agent en un sistema Red Hat Enterprise Linux con una aplicación de ejemplo.
Prerequisites
Requirements
-
Un servidor HTTP Apache (httpd) en ejecución o un servicio Apache en contenedores en RHEL
-
Acceso root o sudo para la instalación y configuración
-
Un AppDynamics Controller (SaaS o in situ)
-
Credenciales de acceso (nombre de cuenta, clave de acceso, host del controlador)
Componentes Utilizados
-
OS: RHEL 8.x
-
Servidor HTTP Apache: 2.4
-
Agente Apache de AppDynamics: 24.x (Linux de 64 bits)
-
Herramientas opcionales: Docker, scripts bash para automatización
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
El agente Apache de AppDynamics permite la visibilidad de las solicitudes HTTP entrantes y propaga los encabezados de correlación de transacciones a los niveles backend como los agentes de Java o Node.js. Esta configuración es especialmente útil para observar la trazabilidad completa de transacciones en arquitecturas distribuidas.
Configurar
Paso 1: Instalación del agente
- Visite Descargas de AppDynamics.
- Elija Web Server Agent para Linux de 64 bits.
- Descargue el archivo .tgz en su servidor de destino o en el contexto de compilación de Docker.
Paso 2: Incrustar configuración en Apache
Consejo: Asegúrese de cambiar los detalles del fragmento de código con los valores correctos.
# Loading AppD agent SDK
LoadFile /opt/appdynamics-sdk-native/sdk_lib/lib/libzmq.so.5
LoadFile /opt/appdynamics-sdk-native/sdk_lib/lib/libappdynamics_native_sdk.so
# Loading the AppD agent shared library for Apache 2.4
LoadModule appdynamics_module /opt/appdynamics-sdk-native/WebServerAgent/Apache/libmod_appdynamics.so
# Set agent settings here
# Hostname or IP of the AppD controller (using provided controller)
AppDynamicsControllerHost "XXXX"
# AppD account name
AppDynamicsAccountName "XXXX"
# AppD access key
AppDynamicsAccessKey "XXXX"
# Application name
AppDynamicsApplication "XXXX"
# Tier name
AppDynamicsTier "XXXX"
# Node name
AppDynamicsNode "XXXX"
# Enabling web server monitoring
AppDynamicsEnabled ON
# Port to connect with the controller
AppDynamicsControllerPort 443
# Setting SSL on
AppDynamicsControllerSSL ON
# Enabling auto-launch of the appD proxy
AppDynamicsLaunchProxy ON
A continuación, actualice la configuración principal de Apache para incluir este archivo:
echo "Include conf.d/appdynamics_agent.conf" >> /etc/httpd/conf/httpd.conf
Consejo: Ejemplo de archivo Dockerfile. Refiérase al enlace Github para obtener la aplicación de ejemplo completa de Información Relacionada. Si utiliza cualquier otra versión del agente Apache AppDynamics, Dockerfile debe modificarse en consecuencia.
#Sample Dockerfile
# Start from the Red Hat Universal Base Image with Apache httpd 2.4
FROM --platform=linux/amd64 registry.access.redhat.com/ubi8/httpd-24
# installed required software
USER root
RUN dnf -y update
RUN dnf -y install tar wget nano net-tools procps
# (Optional) Copy your custom web content into the default document root.
COPY index.html /var/www/html/index.html
# Disable the SSL configuration for testing currently. Import the certificate if using SSL
#(rename it so it won't be loaded)
RUN mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.disabled
# Add ServerName directive to suppress the warning
RUN echo "ServerName localhost" >> /etc/httpd/conf/httpd.conf
# AppDynamics configuration
# Copying the custom config file for AppD agent
COPY ./appdynamics_agent.conf /etc/httpd/conf/appdynamics_agent.conf
# Expose HTTP port 8080
EXPOSE 8080
WORKDIR /appd
#Copy the agent files
COPY ./appdynamics-sdk-native-nativeWebServer-64bit-linux-24.11.0.2449.tgz ./
# Extracting the file downloaded
RUN tar -xzvf appdynamics*.tgz -C /opt
# Specifying the path for the required libraries
#ENV LD_LIBRARY_PATH="/opt/appdynamics-sdk-native/sdk_lib/lib/"
ENV LD_LIBRARY_PATH="/opt/appdynamics-sdk-native/sdk_lib/lib/:$LD_LIBRARY_PATH"
# Including the appdynamics config file into the original httpd configuration
RUN echo "Include /etc/httpd/conf/appdynamics_agent.conf" >> /etc/httpd/conf/httpd.conf
# Running apache agent installation script
RUN /opt/appdynamics-sdk-native/install.sh
# Running the httpd server in foreground
CMD ["/usr/sbin/httpd", "-DFOREGROUND"]
Paso 3: Reinicie el HTTPD
Si se ejecuta en el servidor de reinicio del proceso httpd, en el caso de Docker se toma cuidado iniciando el contenedor como se inicia apache con el agente.
sudo systemctl restart httpd
Verificación
Paso 1: Iniciar la aplicación
Acceda a su servidor Apache en un navegador:
http://:80/
O mediante Docker
http://localhost:8080/
Paso 2: Ir al panel de AppDynamics
-
Inicie sesión en AppDynamics Controller.
-
Vaya a Aplicaciones > Hello_World_Apache.
-
Busque métricas y mapas de flujo en 5 minutos.

Troubleshoot
Problema
|
Posible Causa
|
Resolución
|
Apache no puede reiniciarse
|
Ruta incorrecta a mod_appdynamics.so
|
Validar ruta de acceso y permisos del archivo
|
No hay métricas en AppDynamics
|
Configuración del controlador incorrecta
|
Active dos veces Clave de acceso, Host, Nombre de cuenta
|
Los registros de Apache no muestran la actividad de los agentes
|
El módulo no se carga
|
Verifique los registros de errores httpd; verify LoadModule line
|
Registros no generados
|
Faltan registros/ dir o permisos
|
Verifique <agent_install_directory>/logs
|
Información Relacionada
¿Necesita más asistencia?
Si tiene alguna pregunta o experimenta algún problema, cree un ticket de soporte con estos datos:
- Detalles del error o captura de pantalla: proporcione un mensaje de error específico o una captura de pantalla del problema.
- Comando utilizado: especifique el comando exacto que estaba ejecutando cuando se produjo el problema.
- Registros de agentes de Apache: proporcione los registros de agentes de <agent_install_directory>/logs si se generan.