آموزش مانیتورینگ لود آپاچی با mod_status در لینوکس

آپاچی یکی از پرکاربردترین نرم افزارهای وب‌سرور در جهان است. نظرسنجی W3Techs تخمین می‌زند که حدود 29 درصد از وب سرورهای شناخته شده از آپاچی استفاده می‌کنند. دانستن نحوه انجام تغییرات اساسی هنگام اجرای وب سرور آپاچی بسیار مهم است.  در این مطلب، آموزش مانیتور بر لود وب‌سرور آپاچی و پیگیری درخواست‌ها با استفاده از ماژول mod_status، سازگار با تمام توزیع‌های لینوکس مدرن مانند RHEL، فدورا و اوبونتو را ارائه خواهیم کرد.


mod_status چیست؟

mod_status یک ماژول آپاچی است که اطلاعات لحظه‌ای را در مورد بارگذاری وب سرور و کانکشن‌های فعلی ارائه می‌کند که از طریق یک رابط HTML، در مرورگر قابل مشاهده است.

این رابط، آمار سرور را نمایش می‌دهد، از جمله:

  • تعداد کل درخواست‌های دریافت شده
  • کل بایت‌های ارائه شده
  • مصرف CPU
  • لود و آپتایم سرور 
  • آمار ترافیک
  • worker فعال (Active) و بیکار (idle)
  • Process ID‌‌های کلاینت‌های متصل و موارد دیگر.


محیط سرور تست

در این مطلب ما از پیکربندی زیر استفاده کرده‌ایم:

  • سیستم عامل: اوبونتو 24.04
  • کاربرد: Apache HTTP Server
  • داکیونت روت: var/www/html/
  • فایل پیکربندی آپاچی: etc/apache2/apache2.conf/ 
  • پورت HTTP پیش فرض: 80 TCP

مطمئن شوید که آپاچی روی سیستم شما نصب و اجرا شده است.

سرور مجازی یک ماشین مجازی کامل است که می‌توانید سیستم عامل مورد نظر خود را انتخاب و روی آن نصب نمائید.
خرید سرور مجازی در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.

فعال کردن mod_status در آپاچی

برای اکثر توزیع‌های مدرن، mod_status به طور پیش‌فرض فعال است و می‌توانید با اجرای دستور زیر آن را تایید کنید.


ls /etc/httpd/modules | grep mod_status      # RHEL-based
apachectl -M | grep status                   # Debian-based

 

بررسی mode_status آپاچی

بسته به توزیع لینوکس خود، می توانید وضعیت سرور را تنها با چند دستور فعال کنید. اگر از اوبونتو استفاده می کنید، فایل پیکربندی /mods-enabled/status.conf را باز کنید تا بررسی کنید که آیا server status فعال است یا خیر:

nano /etc/apache2/mods-enabled/status.conf


بخش   فایل را همانطور که در خطوط زیر نشان داده شده است ویرایش کنید تا امکان ایجاد گزارش server status از آدرس IP شما فراهم شود:

فعال کردن server-status در آپاجی

علامت # را از جلوی Require ip برداشته و آی‌پی خودتان که از ریق آن به صفحه دسترسی خواهید داشت را بنویسید.مانند تصویر بالا که آی‌پی در آن محو شده است.

   

برای دریافت معیارهای دقیق‌تر مانند لود CPU و درخواست بر ثانیه، بررسی کنید ExtendedStatus هم فعال باشد.

ExtendedStatus On

پس از ایجاد تغییرات، سرویس Apache را ریستارت کنید تا تغیرات اعمال شود:


sudo apachectl configtest
sudo systemctl restart apache2  # Debian-based

اکنون می‌توانید به صفحه وضعیت سرور (server-status) خود دسترسی پیدا کنید:


http://YOUR_SERVER_IP/server-status

صفحه server-status در آپاچی

برای اینکه هر چند ثانیه یکبار به طور خودکار ریفرش شود، ?refresh=5 (یا هر تعداد ثانیه) را به URL اضافه کنید:


http://YOUR_SERVER_IP/server-status?refresh=5

وضعیت سرور آپاچی را از خط فرمان بررسی کنید

برای بررسی وضعیت سرور آپاچی از خط فرمان، می‌توانید از lynx – به عنوان یک مرورگر وب مبتنی بر متن استفاده کنید.


sudo yum install lynx     # RHEL-based
sudo apt install lynx     # Debian-based

پس از نصب، دستور apachectl را برای بررسی وضعیت سرور آپاچی اجرا کنید:


sudo apachectl status

این یک نمای کلی از وضعیت سرور، از جمله تعداد درخواست‌های پردازش شده، زمان آپتایم سرور و سایر معیارهای مهم ارائه می‌دهد.


خروجی دستور apachectl status

برای مشاهده دقیق‌تر، می توانید از گزینه fullstatus استفاده کنید:


sudo apachectl fullstatus

نتیجه گیری

ماژول mod_status در آپاچی یک ابزار مانیتور قدرتمند و آسان برای بررسی لود و عملکرد سرور در لحظه است و به شما کمک می‌کند تا به طور فعال مشکلات را عیب یابی نموده و سرور خود را بهینه نگه دارید.