Einleitung
In diesem Dokument wird beschrieben, wie der AppDynamics Apache Web Server Agent mit einer Beispielanwendung auf einem Red Hat Enterprise Linux-System installiert wird.
Voraussetzungen
Anforderungen
-
Ein Apache HTTP Server (httpd) oder ein containerisierter Apache Service auf RHEL
-
Root- oder Sudozugriff für Installation und Konfiguration
-
Ein AppDynamics-Controller (SaaS oder vor Ort)
-
Zugangsdaten (Kontoname, Zugriffsschlüssel, Controller-Host)
Verwendete Komponenten
-
Betriebssystem: RHEL 8.x
-
Apache HTTP-Server: 2.4
-
AppDynamics Apache-Agent: 24.x (Linux 64-Bit)
-
Optionale Tools: Docker, Bash-Skripte für die Automatisierung
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
Der AppDynamics Apache Agent ermöglicht die Transparenz eingehender HTTP-Anforderungen und gibt Transaktionskorrelations-Header an Backend-Tiers wie Java oder Node.js-Agents weiter. Diese Konfiguration ist besonders nützlich, um die vollständige Rückverfolgbarkeit von Transaktionen in verteilten Architekturen zu beobachten.
Konfigurieren
Schritt 1: Agent installieren
- Rufen Sie AppDynamics-Downloads auf.
- Wählen Sie Web Server Agent für Linux 64-Bit aus.
- Laden Sie das TGZ-Archiv auf Ihren Zielserver oder den Docker-Buildkontext herunter.
Phase 2: Konfiguration in Apache einbetten
Tipp: Stellen Sie sicher, dass Sie die Details für den Codeausschnitt mit den richtigen Werten ändern.
# 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
Aktualisieren Sie dann die Hauptkonfiguration des Apache, um diese Datei einzuschließen:
echo "Include conf.d/appdynamics_agent.conf" >> /etc/httpd/conf/httpd.conf
Tipp: Beispiel für eine Dockerdatei. Unter dem Link "Github" finden Sie die vollständige Beispiel-App aus "Related Information" (Verwandte Informationen). Wenn Sie eine andere Version von Apache AppDynamics verwenden, muss Dockerfile entsprechend geändert werden.
#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"]
Schritt 3: HTTPD neu starten
Wenn der httpd-Prozess auf dem Server ausgeführt wird, wird im Fall von Docker darauf geachtet, dass der Container gestartet wird, während er Apache mit dem Agenten startet.
sudo systemctl restart httpd
Überprüfung
Schritt 1: Starten Sie Ihre App
Zugriff auf Ihren Apache-Server in einem Browser:
http://:80/
Oder über Docker
http://localhost:8080/
Phase 2: Zum AppDynamics Dashboard wechseln
-
Melden Sie sich bei Ihrem AppDynamics Controller an.
-
Navigieren Sie zuAnwendungen > Hello_World_Apache.
-
Suchen Sie innerhalb von 5 Minuten nach Metriken und Flow Maps.

Fehlerbehebung
Problem
|
Mögliche Ursache
|
Auflösung
|
Apache startet nicht neu
|
Falscher Pfad zu mod_appdynamics.so
|
Dateipfad und Berechtigungen überprüfen
|
Keine Kennzahlen in AppDynamics
|
Controller-Konfiguration falsch
|
Zugriffsschlüssel, Host, Kontoname doppelt prüfen
|
Apache-Protokolle zeigen keine Agentenaktivität an
|
Modul wird nicht geladen
|
httpd-Fehlerprotokolle überprüfen; LoadModule-Leitung überprüfen
|
Protokolle nicht generiert
|
Protokolle/Verzeichnis oder Berechtigungen fehlen
|
Überprüfen Sie <agent_install_directory>/die Protokolle.
|
Zugehörige Informationen
Benötigen Sie weitere Unterstützung?
Wenn Sie Fragen haben oder Probleme auftreten, erstellen Sie ein Support-Ticket mit folgenden Informationen:
- Fehlerdetails oder Screenshot:Stellen Sie eine spezifische Fehlermeldung oder einen Screenshot des Problems bereit.
- Verwendeter Befehl: Geben Sie den genauen Befehl an, der ausgeführt wurde, als das Problem auftrat.
- Apache-Agentenprotokolle: Geben Sie die Agentenprotokolle aus <agent_install_directory>/logs an, falls generiert.