Introduction
Ce document décrit comment installer AppDynamics Apache Web Server Agent sur un système Red Hat Enterprise Linux avec un exemple d'application.
Conditions préalables
Exigences
-
Un serveur HTTP Apache (httpd) ou un service Apache en conteneur sur RHEL
-
Accès racine ou sudo pour l'installation et la configuration
-
Un contrôleur AppDynamics (SaaS ou On-Prem)
-
Identifiants d'accès (nom du compte, clé d'accès, hôte du contrôleur)
Composants utilisés
-
SE : RHEL 8.x
-
Serveur HTTP Apache : 2.4
-
Agent AppDynamics Apache : 24.x (Linux 64 bits)
-
Outils facultatifs : Docker, scripts bash pour l'automatisation
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Informations générales
L'agent AppDynamics Apache permet de visualiser les demandes HTTP entrantes et propage les en-têtes de corrélation de transaction vers les niveaux principaux tels que les agents Java ou Node.js. Cette configuration est particulièrement utile pour observer la traçabilité complète des transactions dans les architectures distribuées.
Configurer
Étape 1 : Installer l'agent
- Visitez Téléchargements AppDynamics.
- Sélectionnez Web Server Agent pour Linux 64 bits.
- Téléchargez l'archive .tgz sur votre serveur cible ou dans le contexte de génération Docker.
Étape 2 : Intégrer la configuration dans Apache
Conseil : Veillez à modifier les détails de l'extrait de code avec les valeurs correctes.
# 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
Mettez ensuite à jour la configuration principale d'Apache pour inclure ce fichier :
echo "Include conf.d/appdynamics_agent.conf" >> /etc/httpd/conf/httpd.conf
Conseil : Exemple de fichier Dockerfile. Reportez-vous au lien Github pour obtenir l'exemple complet d'application à partir de Informations connexes. Si vous utilisez une autre version de l'agent Apache AppDynamics, Dockerfile doit être modifié en conséquence.
#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"]
Étape 3 : Redémarrez le HTTPD
Si l'exécution sur le serveur redémarre le processus httpd, dans le cas de Docker, il est pris en charge en démarrant le conteneur comme il démarre apache avec l'agent.
sudo systemctl restart httpd
Vérifier
Étape 1 : Démarrez votre application
Accédez à votre serveur Apache dans un navigateur :
http://:80/
Ou via Docker
http://localhost:8080/
Étape 2 : Accéder au tableau de bord AppDynamics
-
Connectez-vous à votre AppDynamics Controller.
-
Accédez à Applications > Hello_World_Apache.
-
Recherchez des mesures et des cartes de flux dans les 5 minutes.

Dépannage
Problème
|
Cause possible
|
Résolution
|
Apache ne parvient pas à redémarrer
|
Chemin incorrect vers mod_appdynamics.so
|
Valider le chemin et les autorisations du fichier
|
Aucune mesure dans AppDynamics
|
Configuration du contrôleur incorrecte
|
Double-cochez Clé d'accès, Hôte, Nom du compte
|
Les journaux Apache n'affichent pas l'activité des agents
|
Module non chargé
|
Vérifier les journaux d'erreurs httpd ; vérification de la ligne LoadModule
|
Journaux non générés
|
Journaux/ répertoire ou autorisations manquants
|
Vérifiez <répertoire_installation_agent>/logs
|
Informations connexes
Besoin d'aide supplémentaire ?
Si vous avez une question ou rencontrez des problèmes, veuillez créer un ticket d'assistance avec ces détails :
- Détails de l'erreur ou capture d'écran :Fournissez un message d'erreur spécifique ou une capture d'écran du problème.
- Commande utilisée : spécifiez la commande exacte que vous étiez en train d'exécuter lorsque le problème s'est produit.
- Journaux d'agent Apache : fournissez les journaux d'agent de <répertoire_installation_agent>/logs s'ils sont générés.