محمد علی پور
محمد علی پور
خواندن ۲ دقیقه·۲ سال پیش

Application Performance Monitoring (APM)- بخش دوم / دیده‌بانی با نظارت بر عملکرد برنامه

Application Performance Monitoring
Application Performance Monitoring

در ادامه مطلب قبلی به بررسی و پیاده سازی یک سیستم مدیریت عملکرد نرم افزار یا APM خواهیم پرداخت .

همانطور که در بخش قبل اشاره کردیم، Elastic APM از بخش‌های مختلفی تشکیل شده است، از جمله APM Server و APM Agents .APM Agents مسئول دریافت داده‌های عملکرد برنامه‌ها است و APM Agents کتابخانه‌هایی هستند که به توسعه دهندگان امکان نصب و استفاده آسان از ابزارهای Elastic APM را می‌دهند.

کتابخانه Elastic APM Agent برای زبان PHP هم منتشر شده است که امکان نصب و استفاده آسان در برنامه‌های PHP فراهم می‌کند. شما از طریق این کتابخانه بدون اضافه کردن خطی کد در منطق برنامه، امکان دارید عملکرد اپلیکیشن خود را نظارت کنید.

از قابلیت های ارائه شده می توان به کنترل بر زمان اجرا، زمان پاسخ، تعداد درخواست‌ها و خطاهای برنامه را بررسی کنید. همچنین، این ابزار به شما امکان می‌دهد تا به صورت دقیق درک کنید کدام بخش‌ها در عملکرد برنامه تأثیر می‌گذارند و نقاط ضعف و بهبودپذیری را شناسایی کنید.

این کتابخانه از فریم‌ورک‌های مختلفی مانند Laravel، Symfony، CodeIgniter و Zend پشتیبانی می کند. با اضافه کردن کتابخانه APM Agent به برنامه PHP خود، شما می‌توانید ارتباط بین درخواست‌های ورودی، خروجی‌ها و بخش‌های مختلف کد را پیگیری کنید و مشکلات عملکردی را تجزیه و تحلیل کنید.

استفاده از Elastic APM Agent برای PHP بسیار ساده است. شما فقط باید کتابخانه APM Agent را در برنامه PHP خود نصب و پیکربندی کنید و سپس می‌توانید از توابع و APIهای ارائه شده توسط کتابخانه برای انتقال اطلاعات عملکردی به APM Server استفاده کنید.

بیایید به پیاده سازی یک مدل واقعی بپردازیم :

روش اول : نصب روی سیستم عامل (لینوکس)

  1. دانلود کتابخانه PHP apm agent متناسب با نسخه php از طریق گیت هاب
  2. اجرای کتابخانه دانلود شده روی سیستم عامل
wget https://github.com/elastic/apm-agent-php/releases/download/v1.8.2/apm-agent-php_1.8.2_all.deb dpkg -i /usr/src/apm-agent-php.deb

و در نهایت افزودن تنظیمات مربوط به APM به php.ini

elastic_apm.service_name=&quotmy-service-name&quot elastic_apm.secret_token=&quotxxxxxxx&quot elastic_apm.server_url=&quothttp://your apm url&quot elastic_apm.environment=&quotmy-environment&quot

روش دوم : نصب روی کانتینر

  • افرودن خطوط زیر به داکر فایل PHP
RUN wget -O /usr/src/apm-agent-php.deb https://github.com/elastic/apm-agent-php/releases/download/v1.8.2/apm-agent-php_1.8.2_all.deb  \    && dpkg -i /usr/src/apm-agent-php.deb \    && rm /usr/src/apm-agent-php.deb
  • افزودن تنظیمات APM به فایل .env
ELASTIC_APM_SECRET_TOKEN=&quotxxxxx&quot ELASTIC_APM_SERVICE_NAME=&quotmy-service&quot ELASTIC_APM_API_KEY=&quotxxxxxxx&quot ELASTIC_APM_TRANSACTION_MAX_SPANS=1000 ELASTIC_APM_TRANSACTION_SAMPLE_RATE=1.0 ELASTIC_APM_ENVIRONMENT=&quotdev&quot ELASTIC_APM_ENABLED=&quottrue&quot ELASTIC_APM_VERIFY_SERVER_CERT=&quotfalse&quot ELASTIC_APM_LOG_LEVEL=&quotWARNING&quot ELASTIC_APM_LOG_LEVEL_SYSLOG=&quotTRACE&quot ELASTIC_APM_LOG_LEVEL_STDERR=&quotWARNING&quot
  • بیلد پروژه
  • اجرای کیبانا در مرورگر
  • و در نهایت مشاهده مانیتورینگ از طریق مسیر زیر :
Observability → APM → Services

نمونه پیاده سازی شده در لینک زیر قابل مشاهده می باشد :

https://github.com/mohammadalipour/metrific

Software Engineer
شاید از این پست‌ها خوشتان بیاید