Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Configurazione

Passaggio 1: Installa l'agente

Passaggio 2: Incorpora configurazione in Apache

Passaggio 3: Riavviare HTTPD

Verifica

Passaggio 1: Avvia l'app

Passaggio 2: Vai a AppDynamics Dashboard

Risoluzione dei problemi

Informazioni correlate

Ulteriori informazioni

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)

- Una licenza di AppDynamics che include il supporto per l'agente Apache

- Applicazione funzionante o utilizzo dell'applicazione presente nel collegamento GitHub dalla sezione Informazioni correlate

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

- Documentazione di AppDynamics

- Installare Apache Agent

- Esempio di agente AppDynamics GitHub Apache

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.