Introduzione
In questo documento viene descritto come installare AppDynamics Apache Web Server Agent in un sistema Red Hat Enterprise Linux con un'applicazione di esempio.
Prerequisiti
Requisiti
-
Un server HTTP Apache in esecuzione (httpd) o un servizio Apache containerizzato su RHEL
-
Accesso root o sudo per installazione e configurazione
-
Un controller AppDynamics (SaaS o locale)
-
Credenziali di accesso (Nome account, Chiave di accesso, Host controller)
Componenti usati
-
SO: RHEL 8.x
-
Server HTTP Apache: 2.4
-
Agente AppDynamics Apache: 24.x (Linux a 64 bit)
-
Strumenti opzionali: Docker, script bash per l'automazione
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
AppDynamics Apache Agent consente la visibilità delle richieste HTTP in ingresso e propaga le intestazioni di correlazione delle transazioni ai livelli backend, ad esempio agli agenti Java o Node.js. Questa configurazione è particolarmente utile per osservare la completa tracciabilità delle transazioni nelle architetture distribuite.
Configurazione
Passaggio 1: Installa l'agente
- Visita i download di AppDynamics.
- Scegliere Web Server Agent per Linux a 64 bit.
- Scaricare l'archivio con estensione tgz nel contesto di generazione del server di destinazione o del Docker.
Passaggio 2: Incorpora configurazione in Apache
Suggerimento: Assicurarsi di modificare i dettagli del frammento di codice con i valori corretti.
# 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
Quindi aggiornare la configurazione principale di Apache per includere questo file:
echo "Include conf.d/appdynamics_agent.conf" >> /etc/httpd/conf/httpd.conf
Suggerimento: File Dockerdi esempio. Fare riferimento al collegamento Github per l'app di esempio completa da Informazioni correlate. Se si utilizza un'altra versione dell'agente Apache AppDynamics, è necessario modificare Dockerfile di conseguenza.
#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"]
Passaggio 3: Riavviare HTTPD
Se viene eseguito sul server, riavviare il processo httpd; nel caso di Docker, è necessario avviare il contenitore mentre avvia apache con l'agente.
sudo systemctl restart httpd
Verifica
Passaggio 1: Avvia l'app
Accedere al server Apache in un browser:
http://:80/
O tramite Docker
http://localhost:8080/
Passaggio 2: Vai a AppDynamics Dashboard
-
Accedere a AppDynamics Controller.
-
Passare ad Applicazioni > Hello_World_Apache.
-
Cercare metriche e mappe di flusso entro 5 minuti.

Risoluzione dei problemi
Problema
|
Possibile causa
|
Risoluzione
|
Impossibile riavviare Apache
|
Percorso di mod_appdynamics.so non corretto
|
Convalida percorso e autorizzazioni file
|
Nessuna metrica in AppDynamics
|
Configurazione controller non corretta
|
Verifica due volte chiave di accesso, host, nome account
|
I registri Apache non mostrano l'attività dell'agente
|
Modulo non caricato
|
Controllare i registri errori httpd; verificare la riga LoadModule
|
Log non generati
|
Registri/directory o autorizzazioni mancanti
|
Controllo <directory_installazione_agente>/log
|
Informazioni correlate
Ulteriori informazioni
In caso di domande o di problemi, creare un biglietto di assistenza con i seguenti dettagli:
- Dettagli errore o screenshot:Fornire un messaggio di errore specifico o uno screenshot del problema.
- Comando utilizzato: specificare il comando che si stava eseguendo quando si è verificato il problema.
- Log agente Apache: fornire i log dell'agente da <agent_install_directory>/logs se generati.