۰
(۰)

مقدمه: 

ممکن است سرور های لینوکسی بدون دلیل مشخصی دچار افت کیفیت، هنگ و یا کرش شوند. در چنین شرایطی این احتمال وجود دارد که یکی از منابع سخت افزاری سرور در حال استفاده بیش از حد توسط کاربران میباشد. ممکن است رم، سیپیو یا حتی پهنای باند بیش از حد مصرف شده باشد. یا اینکه بعضا ممکن است یکی از کاربران خواسته یا ناخواسته ویروسی را به سرور وارد کرده باشد.

در چنین شرایطی ما ملزم به کشف علت این رویداد هستیم. در این آموزش قصد داریم تعدادی از دستورات حرفه ای لینوکس جهت مانیتورینگ اکشن ها و میزان مصرف منابع را خدمت شما کاربران گرامی آموزش دهیم.

دستور top، مشاهده پروسس های لینوکس

دستور top در لینوکس، تمامی پروسه ها و فرایندهای Real-Time که فعال و یا درحال اجرا باشند را بصورت لیستی مرتب نمایش میدهد و این لیست مدام آپدیت میشود. با دستور top میتوان میزان مصرف CPU، میزان مصرف حافظه، Swap Memory، سایز Cache، سایز Buffer پروسس ها، PID، کاربران، دستورات و…. را مشاهده کرد. همچنین با این دستور، امکان مشاهده پروسس هایی که بیشترین میزان مصرف حافظه یا CPU را دارند، نیز فراهم میشود.

دستور top، مشاهده پروسس های لینوکس

vmstat، مصرف حافظه مجازی

از دیگر دستورات لینوکس دستور vmstat میباشد. این دستور جهت نمایش میزان مصرف حافظه مجازی (Virtual Memory Statistics)، رشته های هسته (kernel threads)، دیسک ها، پروسس های سیستمی، وقفه ها (interrupts)، میزان فعالیت پردازنده، (I/O Blocks) بلوک های I/O و… بکار میرود. بصورت پیشفرض vmstat، روی لینوکس وجود نداشته و باید جهت فعال سازی آن بسته sysstat را روی سیستم نصب کنید.

خروجی دستور vmstat

lsof، نمایش لیست فایل های در حال اجرا

دستور پر کاربرد دیگر در سیستم های مبتنی بر Linux/Unix، دستور lsof میباشد. lsof، جهت نمایش لیستی از تمامی فایل ها و پروسس های در حال اجرا به کار میرود. فایلهای باز شامل تمامی فایل های دیسک، سوکت های شبکه، پروسس ها، دستگاه ها (Devices) و Pipes ها میباشد.

از مهمترین موارد استفاده این دستور، زمانی است که هنگام mount/unmount کردن، دیسک نمیتواند un-mount شود و با خطایی نظیر “فایل در حال اجرا است و یا در حال استفاده میباشد”، همراه است. در نتیجه با استفاده از این دستور میتوانید تشخیص دهید که کدام فایل ها در حال حاضر باز میباشند.

خروجی دستور lsof

tcpdump، آنالیز بسته های شبکه

دستور tcpdump یکی از پرکاربردترین دستورات لینوکس میباشد. این دستور برای تحلیل بسته های شبکه (network packet analyzer) و یا برنامه محدود کردن بسته های شبکه ای (packets sniffer program) کاربرد زیادی دارد. همچنین امکان ذخیره سازی بسته های خاصی را در فایل ها جهت تجزیه و تحلیل در آینده نیز دارد. دستور tcpdump روی اکثر توزیع های مختلف لینوکس قابل استفاده میباشد.

tcpdump، آنالیز بسته های شبکه

netstat، مصارف شبکه

netstat دستور کاربردی جهت مانیتور کردن مقادیر ورودی و خروجی بسته های شبکه (network packets) میباشد. این دستور جهت مانیتور کردن عملکرد شبکه و برطرف کردن مشکلات احتمالی مربوطه به مدیر سرور کمک شایانی مینماید.

netstat، مصارف شبکه

htop، مشاهده پروسس های لینوکس

دستور htop، دستوری بسیار قدرتمند و Real Time جهت مانیتورینگ آنی پروسس های لینوکس میباشد. این دستور شبیه دستور Top بوده و تفاوت موجود، دارا بودن قابلیت های کاربردی دیگری نظیر مشاهده عمودی و یا افقی پروسس ها، کلید های میانبر، ارائه رابط کاربر پسند جهت مدیریت پروسس ها میباشد. دستور htop، از ابزار های سطح کاربری (third party tool) بوده و بطور پیش فرض روی سیستم های لینوکس نمیباشد. جهت نصب دستور htop، میبایست از بسته های مدیریتی YUM استفاده نمایید.

htop، مشاهده پروسس های لینوکس

iotop، مانیتورینگ I/O

از دیگر دستورات لینوکس، دستور iotop است که بسیار شبیه دستور Top و برنامه htop میباشد. با این تفاوت که دستور iotop با استفاده از توابع محاسباتی، جهت مانیتور کردن و نمایش دیسک I/O و پردازش های لحظه ای استفاده میکند. این دستور بیشتر زمانی بکار میآید که بخواهیم دقیقا پروسس های خواندن/نوشتن (Read/Writes processes) را که فضای زیادی از دیسک مصرف میکنند، بیابیم.

iotop، مانیتورینگ I/O

iostat، میزان مصرف ورودی ها و خروجی ها

iostat دستور ساده ای جهت جمع آوری و نمایش میزان مصرف دستگاه های ذخیره سازی ورودی و خروجی میباشد. این دستور غالبا جهت بررسی عملکرد دستگاه های ذخیره سازی بکار میرود و میتوان با بکاربردن آن مشکلات مربوط به دیسک های لوکال، دستگاه های ورودی و خروجی و دیسک های ریموت نظیر NFS را عیب یابی نمود.

iostat، میزان مصرف ورودی ها و خروجی ها

iptraf، مانیتورینگ لحظه ای IP شبکه LAN

از دیگر دستورات لینوکس دستور iptraf میباشد. iptraf دستوری Open Source و مبتنی بر کنسول جهت مانیتورینگ لحظه ای IP شبکه میباشد؛ این دستور اطلاعات بسیار متنوعی نظیر ترافیک IP های ورودی به شبکه شامل TCP flag، ICMP، نقاط ضعف TCP/UDP، بسته های ارتباطی TCP و تعداد byne ها را مانیتور کرده و نمایش میدهد.

همچنین اطلاعات مفید و دقیقی از مصرف TCP، UDP، IP، ICMP، non-IP، خطاهای IP checksum ،interface activity و… را ارائه میدهد.

iptraf، مانیتورینگ لحظه ای IP شبکه LAN

psacct یا acct، مشاهده فعالیت های کاربران

دستور psacct یا acct، یکی دیگر از دستورات مفید برای مانیتور نمودن تمامی فعالیت های کاربران میباشد. این دستور ابزار بسیار مناسبی جهت مانیتور نمودن تمامی فعالیت های کاربران که در پس زمینه در حال اجرا هستند و نیز امکان بررسی دقیق تمامی فعالیت ها در یک نگاه کلی را فراهم نموده و همچنین مشخص میکند که کدام کاربران در حال استفاده از کدام منابع میباشند.

این دستورات برای ادمین های سرور بسیار کاربردی بوده و امکان بررسی فعالیت های کاربران نظیر اینکه در حال حاضر چه عملی را روی سرور انجام میدهند، کدام دستورات را اجرا میکنند، میزان منابع مصرفی هر یک از آن ها چقدر است، مدت زمانی که روی سیستم فعال هستند و… را میسر میکند.

monit، مشاهده سرویس ها و پردازش های لینوکس

monit دستوری منبع باز و از ابزار نظارتی پردازش ها میباشد که بطور اتوماتیک پردازش های سیستم مدیریتی، برنامه ها، فایل ها، پوشه ها، مجوز های دسترسی، فایل های سیستمی و… را مانیتور میکند. دستور monit، تمامی سرویس ها نظیر Apache، MySQL، Mail، FTP، ProFTP، Nginx، SSH و… را مانیتور مینماید.

نتیجه وضعیت سیستم، هم بصورت خط دستور و هم بصورت رابط گرافیکی قابل مشاهده میباشد.

nethogs، مانیتورینگ پهنای باند شبکه به ازای هر پردازش

nethogs نیز دستوری منبع باز کوچکی نظیر دستور top میباشد. این دستور جهت نمایش فعالیت های شبکه ای هر پروسس روی سیستم شما به کار میرود. همچنین امکان نمایش ترافیک لحظه ای استفاده شده توسط هر برنامه و یا نرم افزار کاربردی را فراهم میکند.

iftop، مانیتورینگ پهنای باند شبکه

دستور iftop نیز از دیگر دستورات لینوکس و دستوری منبع باز و terminal-based میباشد. iftop جهت نمایش لیستی از پهنای باند مصرفی که توسط هاست های مبدا و یا مقصد، به کارت شبکه سیستم شما وارد میشود، بکار میرود. توجه داشته باشید که دستور iftop جهت بررسی پهنای باند شبکه بکار میرود در حالی که دستور top جهت بررسی میزان مصرف پردازنده (CPU) بکار میرود؛ دستور iftop از خانواده دستور top بوده که اینترفیس مشخصی را مانیتور نموده و پهنای باند مصرفی بین دو هاست مربوطه را نمایش میدهد.

iftop، مانیتورینگ پهنای باند شبکه

arpwatch، مانیتورینگ فعالیت های Ethernet

دستور arpwatch، نوعی از دستورات لینوکس و از ابزار هایی است که برای مانیتور کردن آدرس (تغییرات MAC و IP address) های ترافیک شبکه های اترنت، روی شبکه های لینوکسی میباشد؛ این ابزار مرتبا ترافیک اترنت (Ethernet) را بررسی نموده و گزارشی از تمامی IP ها و MAC address هایی که در یک بازه زمانی روی شبکه تغییر میابند را ایجاد میکند؛ همچنین از قابلیت های دیگر این فرمان این است که زمانی که هرگونه تغییری روی این آدرس ها رخ دهد، میتواند ایمیل اطلاع رسانی برای به ادمین شبکه ارسال نماید.

collectl، ابزار مانیتورینگ چند منظوره

ابزار collectl، ابزار بسیار قدرتمند و جامعی میباشد که میتواند اطلاعات کاملی از منابع سرویس های لینوکس نظیر میزان مصرف CPU ، memory، network، inodes، processes، nfs، tcp، sockets و… را جمع آوری نماید.


دستورات فوق تنها بخش کوچکی از دستورات کاربردی لینوکس میباشند.


امیدواریم از این آموزش استفاده لازم را برده باشید.

چقدر این مطلب مفید بود؟

روی یک ستاره کلیک کنید تا به آن امتیاز دهید!

میانگین امتیاز ۰ / ۵. تعداد آرا: ۰

تا الان رای نیامده! اولین نفری باشید که به این پست امتیاز می دهید.