简介
本文档介绍如何在具有示例应用的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中的代理日志。