簡介
本文檔介紹如何在具有示例應用程式的Red Hat Enterprise Linux系統上安裝AppDynamics Apache Web Server代理。
必要條件
需求
採用元件
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
AppDynamics Apache代理允許檢視傳入的HTTP請求,並將事務關聯標頭傳播到後端層,如Java或Node.js代理。此設定對觀察分散式架構中的完全事務可跟蹤性尤其有用。
設定
步驟 1:安裝代理
- 訪問AppDynamics下載。
- 選擇Web Server Agent for Linux 64位。
- 將.tgz歸檔檔案下載到目標伺服器或Docker生成上下文。
步驟 2:在Apache中嵌入配置
# 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
然後更新Apache的主配置以包含此檔案:
echo "Include conf.d/appdynamics_agent.conf" >> /etc/httpd/conf/httpd.conf
提示:Dockerfile示例。請參閱Github連結,從相關資訊獲取完整的示例應用。如果您使用任何其他版本的Apache AppDynamics代理,則需要相應地修改Dockerfile。
#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"]
步驟 3:重新啟動HTTPD
如果在伺服器上運行,請重新啟動httpd進程(對於Docker),在使用該代理啟動apache時啟動容器,以將其修復。
sudo systemctl restart httpd
驗證
步驟 1:啟動你的應用
在瀏覽器中訪問Apache伺服器:
http://:80/
或通過Docker
http://localhost:8080/
步驟 2:轉到AppDynamics儀表板

疑難排解
問題
|
可能起因
|
解析
|
Apache無法重新啟動
|
mod_appdynamics.so的路徑不正確
|
驗證檔案路徑和許可權
|
AppDynamics中沒有指標
|
控制器配置不正確
|
仔細檢查訪問金鑰、主機、帳戶名稱
|
Apache日誌不顯示代理活動
|
模組未載入
|
檢查httpd錯誤日誌;驗證LoadModule行
|
未生成日誌
|
缺少日誌/目錄或許可權
|
檢查<agent_install_directory>/logs
|
相關資訊
需要進一步協助?
如果您遇到問題或遇到問題,請建立包含以下詳細資訊的asupport票證:
- 錯誤詳細資訊或螢幕截圖:提供特定錯誤消息或問題的螢幕截圖。
- 使用的命令:指定發生問題時正在運行的確切命令。
- Apache代理日誌:如果生成,請從<agent_install_directory>/logs提供代理日誌。