المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

معلومات أساسية

التكوين

الخطوة 1: تثبيت الوكيل

الخطوة 2: تضمين التكوين في Apache

الخطوة 3: إعادة تشغيل HTTPD

التحقق من الصحة

الخطوة 1: بدء تشغيل التطبيق

الخطوة 2: الانتقال إلى لوحة معلومات AppDynamics

استكشاف الأخطاء وإصلاحها

معلومات ذات صلة

هل تحتاج إلى مزيد من المساعدة؟

المقدمة

يوضح هذا المستند كيفية تثبيت عميل AppDynamics Apache Web Server على نظام Red Hat Enterprise Linux باستخدام نموذج تطبيق.

المتطلبات الأساسية

المتطلبات

- خادم Apache HTTP (HTTPD) قيد التشغيل أو خدمة Apache في حاويات على RHEL

- الوصول الجذر أو الفرعي للتثبيت والتكوين

- وحدة تحكم AppDynamics (SAAs أو On-Prem)

- بيانات اعتماد الوصول (اسم الحساب ومفتاح الوصول ومضيف وحدة التحكم)

- ترخيص AppDynamics يتضمن دعم عميل Apache

- تطبيق عامل أو أستخدم التطبيق الموجود في إرتباط GitHub من قسم المعلومات ذات الصلة

المكونات المستخدمة

- نظام التشغيل: نظام التشغيل RHEL 8.x

- خادم Http من Apache: 2.4

- عميل AppDynamics Apache: 24.x (نظام التشغيل Linux إصدار 64 بت)

- الأدوات الاختيارية: برامج Docker و bash النصية للأتمتة

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

معلومات أساسية

يتيح "عامل AppDynamics Apache" إمكانية الرؤية في طلبات HTTP الواردة ونشر رؤوس إرتباط المعاملات إلى طبقات خلفية مثل عملاء Java أو Node.js. ويعد هذا الإعداد مفيدا بشكل خاص لمراقبة إمكانية تعقب المعاملات بالكامل في البنى الموزعة.

التكوين

الخطوة 1: تثبيت الوكيل

- قم بزيارة تنزيلات AppDynamics.

- أختر وكيل خادم الويب لنظام التشغيل 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 لتطبيق العينة الكامل من المعلومات ذات الصلة. إذا كنت تستخدم أي إصدار آخر من عميل AppDynamics الخاص ب Apache، فيجب تعديل 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

- قم بتسجيل الدخول إلى وحدة تحكم AppDynamics.

- انتقل إلى التطبيقات > Hello_World_Apache.

- ابحث عن القياسات وخرائط التدفق في غضون 5 دقائق.

استكشاف الأخطاء وإصلاحها

مسألة

السبب المحتمل

قرار

فشل أباتشي في إعادة التشغيل

مسار غير صحيح إلى mod_appdynamics.so

التحقق من صحة مسار الملف والأذونات

لا توجد مقاييس في AppDynamics

تكوين وحدة التحكم غير صحيح

التحقق المزدوج من مفتاح الوصول، المضيف، اسم الحساب

سجلات الأباتشي لا تظهر نشاط العميل

الوحدة النمطية التي لا يتم تحميلها

تحقق من سجلات أخطاء httpd؛ التحقق من سطر LoadModule

لم يتم إنشاء السجلات

السجلات/ dir أو الأذونات مفقودة

فحص <agent_install_directory>/السجلات

معلومات ذات صلة

- وثائق AppDynamics

- قم بتركيب عميل أباتشي

- نموذج عميل AppDynamics ل GitHub Apache

هل تحتاج إلى مزيد من المساعدة؟

إذا كان لديك سؤال أو واجهت مشاكل، يرجى إنشاء مخطط دعم بهذه التفاصيل:

- تفاصيل الخطأ أو لقطة الشاشة:قم بتوفير رسالة خطأ محددة أو لقطة شاشة للمشكلة.

- الأمر المستخدم: حدد الأمر المحدد الذي كنت تقوم بتشغيله عند حدوث المشكلة.

- سجلات عميل Apache: قم بتوفير سجلات العميل من <agent_install_directory>/log إذا تم إنشاؤها.