آموزش مانیتورینگ لود آپاچی با 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
بسته به توزیع لینوکس خود، می توانید وضعیت سرور را تنها با چند دستور فعال کنید. اگر از اوبونتو استفاده می کنید، فایل پیکربندی /mods-enabled/status.conf را باز کنید تا بررسی کنید که آیا server status فعال است یا خیر:
nano /etc/apache2/mods-enabled/status.conf
بخش
علامت # را از جلوی Require ip برداشته و آیپی خودتان که از ریق آن به صفحه دسترسی خواهید داشت را بنویسید.مانند تصویر بالا که آیپی در آن محو شده است.
برای دریافت معیارهای دقیقتر مانند لود CPU و درخواست بر ثانیه، بررسی کنید ExtendedStatus هم فعال باشد.
ExtendedStatus On
پس از ایجاد تغییرات، سرویس Apache را ریستارت کنید تا تغیرات اعمال شود:
sudo apachectl configtest
sudo systemctl restart apache2 # Debian-based
اکنون میتوانید به صفحه وضعیت سرور (server-status) خود دسترسی پیدا کنید:
http://YOUR_SERVER_IP/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
این یک نمای کلی از وضعیت سرور، از جمله تعداد درخواستهای پردازش شده، زمان آپتایم سرور و سایر معیارهای مهم ارائه میدهد.
برای مشاهده دقیقتر، می توانید از گزینه fullstatus استفاده کنید:
sudo apachectl fullstatus
نتیجه گیری
ماژول mod_status در آپاچی یک ابزار مانیتور قدرتمند و آسان برای بررسی لود و عملکرد سرور در لحظه است و به شما کمک میکند تا به طور فعال مشکلات را عیب یابی نموده و سرور خود را بهینه نگه دارید.