
به اشتراک بگذارید

به اشتراک بگذارید
تصور کنید وبسایت شما حکم یک مجتمع تجاری بزرگ را دارد و ورودیهای آن، درخواستهایی هستند که کاربران (مشتریان) ارسال میکنند. اگر نگهبان دم در (وبسرور) نداند چه کسی وارد و چه کسی خارج میشود، هرجومرج تمام ساختمان را فرا میگیرد. مانیتورینگ درخواستهای ارسالی به وبسرور دقیقاً همان دوربین مداربستهای است که به شما اجازه میدهد در لحظه ببینید چه ترافیکی به سمت وبسایت شما میآید. بدون این نظارت، شما در برابر حملات لایه 7، باتهای مزاحم و مصرف بیرویه منابع کاملاً نابینا خواهید بود.
در دنیای میزبانی وب سرعت حرف اول را میزند. آمارهای اخیر نشان میدهد که بیش از 40% ترافیک وبسایتها توسط باتها تولید میشود؛ بنابراین اگر نتوانید این ترافیک را مانیتور کنید، عملاً نیمی از پهنای باند و منابع سرور خود را هدر دادهاید. در این مقاله قرار است یاد بگیریم:
حتماً زمانی که این مقاله را باز کردهاید، یا با کندی ناگهانی سرور مواجه شدهاید و یا احساس میکنید ترافیک غیرعادی به سمت سایت شما سرازیر شده است. نگران نباشید؛ ما در این راهنما وقت شما را با تعاریف تاریخی تلف نمیکنیم و مستقیم به سراغ دستورات عملیاتی میرویم.
آنچه در این مقاله میخوانید:
به زبان ساده، این فرآیند شامل رصد و ثبت تمامی فعالیتهایی است که بین مرورگر کاربر و نرمافزار وبسرور (مثل Nginx یا Apache) رخ میدهد. هر بار که کسی سایت شما را باز میکند، یک درخواست (Request) به سمت سرور فرستاده می شود که حاوی اطلاعاتی مثل آدرس IP، نوع مرورگر، صفحه درخواستی و زمان پاسخدهی است. تحلیل لاگهای وبسرور (Log Analysis) به ما اجازه میدهد این دادههای خام را به اطلاعات معنادار تبدیل کنیم.
ساختار کلی مانیتورینگ درخواستهای وبسرور را میتوان به شکل زیر تصور کرد:
کاربر / بات
⬇️
فایروال (لایه 1)
⬇️
وبسرور (Nginx/Apache) ───> [ ثبت در فایل Access.log ]
⬇️
ابزارهای مانیتورینگ (Tail, GoAccess, AWK)
مشاهده ترافیک ورودی سرور فقط برای امنیت نیست؛ بلکه برای زنده نگه داشتن کسبوکار شما حیاتی است. اگر شما یک وبمستر یا متخصص سئو هستید، باید بدانید باتهای گوگل چه زمانی و با چه سرعتی سایت شما را کراول میکنند. دلایل اصلی نیاز به این مهارت عبارتند از:
قبل از اینکه به بخش عملیاتی برسیم، باید مطمئن شوید که ابزارهای لازم را در اختیار دارید. اکثر این موارد به صورت پیشفرض در سرورهای لینوکسی وبداده فعال هستند:

در این بخش با ما همراه باشید تا بهصورت عملی، ابزارهای مختلف را بررسی کنیم. ما از سادهترین دستورات شروع کرده و به ابزارهای گرافیکی میرسیم. در این آموزش فرض بر این است که سرور شما ناگهان کند شده و Load Average بالا رفته است. ما میخواهیم منبع این ترافیک را پیدا کنیم.
سریعترین راه برای اینکه ببینید همین الان چه اتفاقی میافتد، استفاده از دستور tail است. این دستور خطوط آخر فایل لاگ را به شما نشان میدهد.
برای وب سرور انجیناکس (Nginx):
tail -f /var/log/nginx/access.log برای وب سرور آپاچی (Apache):
tail -f /var/log/apache2/access.log ◀️ با اضافه کردن سوئیچ f- (مخفف follow) به دستور tail، ترمینال شما به یک مانیتور زنده تبدیل میشود که هر درخواست جدید را بلافاصله چاپ میکند.
حالا چطور در 30 ثانیه بفهمیم کدام IP بیشترین درخواست را ارسال کرده است؟ از این دستور جادویی استفاده کنید:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10 در این دستور:
اگر از محیط متنی خسته شدهاید و به دنبال چیزی شبیه به گوگل آنالیتیکس اما در محیط ترمینال هستید، GoAccess بهترین انتخاب است. این ابزار فوقالعاده سبک، لاگها را تحلیل کرده و در قالب نمودار نمایش میدهد.
| ویژگی | دستورات لینوکس (grep/awk) | ابزار GoAccess |
| رابط کاربری | متنی و ساده | بصری و گرافیکی |
| سرعت تحلیل | بسیار سریع | سریع (تحت ترمینال) |
| مناسب برای | عیبیابی لحظهای | گزارشگیری و تحلیل |
برای نصب و اجرای ابزار GoAccess در اوبونتو دستور زیر را وارد کنید:
sudo apt install goaccess
goaccess /var/log/nginx/access.log --log-format=COMBINED 
بعد از اینکه از طریق مانیتورینگ درخواستهای ارسالی به وبسرور، متوجه شدید یک IP خاص در حال اتک زدن است، نباید معطل بمانید. سریعاً آن را روش های زیر در فایروال مسدود کنید:
مسدود کردن IP مخرب با استفاده از فایروال لینوکس UFW:
sudo ufw deny from 1.2.3.4 to any مسدود کردن IP مخرب با استفاده از IPTables:
iptables -A INPUT -s 1.2.3.4 -j DROP مانیتورینگ درخواستهای ارسالی به وبسرور مهارتی است که تفاوت بین یک مدیر سرور آماتور و حرفهای را مشخص میکند. در این مقاله آموختیم که چگونه با ابزارهای ساده اما قدرتمند لینوکس، نبض سرور خود را در دست بگیریم و اجازه ندهیم ترافیک مخرب، کسبوکار ما را تهدید کند. به یاد داشته باشید که مانیتورینگ یک فعالیت دائمی است، نه فقط برای زمانهای بحران.
امیدواریم این آموزش از بلاگ وبداده برای شما مفید بوده باشد. اگر در مسیر مانیتورینگ سرور خود با چالشی روبرو شدید یا دستور بهتری برای تحلیل ترافیک میشناسید، حتماً در بخش نظرات با ما در میان بگذارید .
خیر؛ استفاده از دستورات پایه مثل tail یا ابزارهای سبکی مثل GoAccess تأثیری کمتر از ۱٪ بر منابع سرور دارد و کاملاً امن است.