آیا قصد دارید که به مانیتورینگ عملکرد سرور لینوکس بپردازید؟ در ادامه به فرمانهای داخلی و برخی افزونهها میپردازیم که این کار را برای شما انجام میدهند. این در حالی است که بسیاری از توزیعهای لینوکس با مجموعهای از ابزارهای مانیتورینگ همراه هستند. این ابزارها معیارهایی برای شما فراهم میکنند که با...
1398/12/222858 بازدید
آیا قصد دارید که به مانیتورینگ عملکرد سرور لینوکس بپردازید؟ در ادامه به فرمانهای داخلی و برخی افزونهها میپردازیم که این کار را برای شما انجام میدهند. این در حالی است که بسیاری از توزیعهای لینوکس با مجموعهای از ابزارهای مانیتورینگ همراه هستند. این ابزارها معیارهایی برای شما فراهم میکنند که با کمک آنها میتوانید اطلاعاتی در مورد فعالیتهای سیستم بهدست بیاورید. شما با کمک این ابزارها میتوانید عوامل احتمالی کاهش عملکرد سیستم را پیدا کنید. فرمانهایی که در ادامه در مورد آنها بحث میشود، برخی از اساسیترین فرمانها برای آنالیز سیستم و عیبیابی سرور لینوکس هستند و میتوانند مواردی چون مشکلات سیستم، حافظه، پردازشگر و شبکه را یپدا کنند.
۱) فرمان top برای مانیتورینگ فعالیتهای پردازشی
فرمان top باعث نمایش فرآیندهای جاری لینوکس میشود. این فرمان یک تصویر پویا از وضعیت لحظه یک سیستم در حال اجرا را در اختیار قرار میدهد. فرمان top به صورت پیشفرض، نشاندهنده فرآیندها و وظایفی در سرور است که بیشترین حجم از ظرفیت CPU را به خود اختصاص دادهاند. لیست خروجی از فرمان top هر ۵ ثانیه یک بار بروزرسانی میشود.
فرمان top برای مانیتورینگ لینوکس
فرمان مانیتورینگ لینوکس top با برخی گزینهها نیز همراه است که با حروف زیر مشخص میشوند:
t نمایش خلاصه اطلاعات
m نمایش اطلاعات حافظه
A نمایش نزولی مصرفکنندگان منابع مختلف سیستم. این گزینه برای تشخیص سریع وظایفی که به سطح عملکرد بالایی از سیستم نیاز دارند، مفید خواهد بود.
f ایجاد یک تنظیمات صفحهنمایش پویا برای فرمان. مناسب برای تنظیم یک وظیفه خاص
o امکان تنظیم ترتیب فرآیندها به صورت سفارشی
r renice درنظر گرفتن فرمان
k kill درنظر گرفتن فرمان
z تنظیم حالت رنگی
۲) فرمان vmstat – آمار حافظه مجازی
فرمان vmstat گزارشهایی در مورد فرآیندها، حافظه، صفحات، بلوکهای IO، مشکلات و فعالیتهای CPU ارائه میدهد.
۳) فرمان w – بررسی کاربران وارد شده و کاری که در حال حاضر انجام میدهند.
فرمان w اطلاعاتی در مورد کابران کنونی سیستم و فرآیندهای سیستم در اختیار قرار میدهد.
php
1# w username23# w vivek
نمونه خروجی
php
117:58:47 up 5 days, 20:28, 2 users, load average: 0.36, 0.26, 0.2423USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT45root pts/0 10.1.3.145 14:55 5.00s 0.04s 0.02s vim /etc/resolv.conf67root pts/1 10.1.3.145 17:43 0.00s 0.03s 0.00s w
۴) فرمان uptime- نمایش زمان راهاندازی سیستم لینوکس
فرمان uptime برای این منظور مورد استفاده قرار میگیرد که بفهمیم چه مدتزمانی سرور در حال اجرا بوده است. اینکه زمان کنونی، مدت زمانی که از راهاندازی سیستم گذشته است، چه تعداد کاربران در حال حاضر وارد سیستم هستند و بار متوسط سیستم برای پانزده دقیقه گذشته یا یک ساعت و پنج ساعت گذشته چقدر است.
مقدار ۱ میتواند به عنوان بار بهینه درنظر گرفته شود. البته این بار برای سیستمهای مختلف متغیر خواهد بود. برای سیستمهایی که یک پردازشگر دارند، مقدار ۱ تا ۳ و برای سیستمهای SMP مقدار بار ۶ تا ۱۰ قابلقبول است.
۵) فرمان ps – نمایش فرآیندهای لینوکس
فرمان ps تصویری از وضعیت کنونی فرآیندهای سیستم ارائه میدهد. برای انتخاب تمام فرآیندهای در حال اجرا میتوانید از گزینههای –A یا –e نیز استفاده کنید.
۸) فرمان sar – مانیتورینگ، جمعآوری و گزارش فعالیتهای سیستم لینوکس
فرمان sar به منظور مانیتورینگ، جمعآوری و گزارش و ذخیره اطلاعات فعالیتهای سیستم لینوکس مورد استفاده قرار میگیرد. برای مشاهده شمارنده شبکه، فرمان زیر را وارد کنید:
php
1# sar -n DEV | more
شمارنده شبکه از ۲۴ ساعت گذشته:
php
1# sar -n DEV -f /var/log/sa/sa24 | more
همچنین میتوانید وضعیت لحظهای را با استفاده از فرمان sar نشان دهید:
php
1# sar 4 5
خروجی:
php
1Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/20092306:45:12 PM CPU %user %nice %system %iowait %steal %idle4506:45:16 PM all 2.00 0.00 0.22 0.00 0.00 97.786706:45:20 PM all 2.07 0.00 0.38 0.03 0.00 97.528906:45:24 PM all 0.94 0.00 0.28 0.00 0.00 98.78101106:45:28 PM all 1.56 0.00 0.22 0.00 0.00 98.22121306:45:32 PM all 3.53 0.00 0.25 0.03 0.00 96.191415Average: all 2.02 0.00 0.27 0.01 0.00 97.70
۹) فرمان mpstat – مانیتورینگ میزان استفاده از پردازندههای چندگانه در لینوکس
فرمان mpstat نشاندهنده فعالیتهای مربوط به هر کدام از پردازندههاست که شماره آنها از صفر شروع میشود. این در حالی است که با فرمان زیر میتوانید مقدار متوسط کاربری هر کدام از CPU ها را مشاهده کنید.
خط آخر دارای اطلاعات بسیار مهمی است.
mapped: 933712K کل حافظه اختصاص داده شده به فایلها
writeable/private: 4304K مقدار فضای خصوصی و قابلنگارش
shared: 768000K مقدار فضایی که با دیگران به اشتراک گذاشته شده است
۱۱) فرمان netstat – ابزار مانیتورینگ آمارگیری و شبکه لینوکس
فرمان netstat آماری از ارتباطات شبکه، جداول روتینگ، عملکرد رابط کاربری و اعضای مولتیکست در اختیار قرار میدهد.
php
1# netstat -tulpn23# netstat –nat
۱۲) فرمان ss – آمار شبکه
فرمان ss برای نمایش آمار سوکتها به کار میرود. اطلاعات مشابه فرمان netstat نمایش داده میشوند. البته باید توجه داشته باشید که کاربرد فرمان netstat تقریباً منسوخ شده است. بر این اساس، شما نیاز به فرمان ss خواهید داشت. برای نمایش آمار تمام سوکتهای TCP و UDP در لینوکس داریم:
php
1# ss -t -a
و یا:
php
1# ss -u -a
مایش تمام سوکتهای TCP مرتبط با فرآیندهای امنیتی SELinux
php
1# ss -t -a –Z
۱۳) فرمان iptraf – نمایش آمار لحظهای شبکه لینوکس
فرمان iptraf یک مانیتورینگ فعال برای IP LAN است. این فرمان برای ایجاد اطلاعات آماری مختلف شبکه از جمله اطلاعات TCP، تعداد UDP، اطلاعات مرتبط با ICMP و OSPF به کار میرود. همچنین اطلاعات بار شبکه داخلی، آمار نقطهای، خطاهای بررسی IP نیز از جمله اطلاعاتی هستند که با این فرمان ارائه میشوند. به طور کلی این فرمان میتواند اطلاعات زیر را به صورت خوانا در اختیار قرار دهد:
آمار ترافیک شبکه به تفکیک ارتباطهای TCP
آمار ترافیک IP به تفکیک رابط کاربری شبکه
آمار ترافیک شبکه به تفیک پروتکل
آمار ترافیک شبکه به تفکیک پورت TCP/UDP و ابعاد packet
آمار ترافیک شبکه به تفکیک آدرس Layer2
آمار کلی رابط کاربری: آمار ترافیک IP به تفکیک رابط کاربری شبکهآمار ترافیک شبکه به تفکیک ارتباط TCP
۱۴) فرمان tcpdump - آنالیز جزئی ترافیک شبکه
فرمان tcpdump یکی از فرمانهای ساده مانیتورینگ لینوکس است که ترافیک موجود در شبکه را بررسی میکند. در همین حال، برای استفاده از آن باید دانش مناسبی نسبت به پروتکل TCP/IP داشته باشید. به عنوان مثال، برای نمایش اطلاعات ترافیک مربوط به DNS داریم:
php
1# tcpdump -i eth1 'udp port 53'
نمایش تمام پکتهای IPv4 HTTP ورودی و خروجی پورت 80. به عبارتی، چاپ فقط پکتهایی که حاوی داده هستند.
php
1# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
تمام ارتباط های FTP مربوط به 202.54.1.5
php
1# tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20'
چاپ تمام ارتباطات HTTP با 192.168.1.5
php
1# tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'
استفاده از ابزار wireshark برای مشاهده جزئيات اطلاعات فایلها
php
1# tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80
۱۵) فرمان iotop – مانیتورینگ I/O لینوکس
فرمان iotop با استفاده از کرنل لینوکس به بررسی کاربرد I/O میپردازد. این فرمان جدولی از کاربردهای کنونی I/O بر اساس فرآیندها یا thread های سرور ارائه میدهد.
php
1$ sudo iotop
نمونه خروجی
مانیتورینگ I/O لینوکس با استفاده از فرمان iotop
۱۶) فرمان htop – مشاهده فعالانه فرآیندها
فرمان htop یک ابزار رایگان و متنباز است که برای مشاهده فرآیندها در لینوکس به کار میرود. عملکرد این فرمان به مراتب بهتر از فرمان top است. کاربرد آن بسیار آسان است. شما میتوانید از این فرمان برای حذف یا اصلاح فرآیندها استفاده کنید؛ بدون اینکه به PID آنها یا خروج از رابط کاربری htop نیاز داشته باشید.
php
1$ htop
نمونه خروجی
مانیتورینگ فرآیندهای لینوکس با فرمان htop
۱۷) فرمان atop – مانیتورینگ پیشرفته پردازش و سیستم لینوکس
Atop یک ابزار بسیار قدرتمند است که برای مانیتورینگ هوشمند بار سیستم لینوکس به کار میرود. این ابزار از دیدگاه عملکردی، مهمترین مشکلات سختافزاری را نشان میدهد. همچنین مشخص میکند که کدام فرآیند باعث ایجاد بار نگرانکننده در CPU و حافظه شده است.
php
1$ atop
فرمان atop برای مانیتورینگ عملکرد لینوکس
۱۸) فرمانهای ac و lastcomm
شما حتماً نیاز دارید که فعالیتهای ورود و فرآیندها را در لینوکس تحتنظر داشته باشید. برای این منظور، بسته psacct یا acct دارای برخی ابزارها هستند که برای مانیتورینگ لینوکس میتوانند مفید واقع شوند. از جمله:
فرمان ac : نمایش آمار زمان ارتباط کاربران
فرمان lastcomm: نمایش اطلاعاتی در مورد فرمانهای اجرا شده قبلی
فرمان accton: فعال و غیرفعالکردن حسابرسی فرآیندها
فرمان sa: خلاصهکردن اطلاعات حسابهای کاربری
۱۹) نرمافزار monit – مدیریت فرآیندها
Monit یک نرمافزار رایگان متنباز است که به عنوان یک ابزار مدیریت فرآیند عمل میکند. این نرمافزار این قابلیت را دارد که سرویسهایی را که با مشکل مواجه میشوند، دوباره راهاندازی کند. این در حالی است که شما میتوانید از ابزارهایی مانند Systemd یا daemontools نیز برای این منظور استفاده کنید.
۲۰) فرمان nethogs – پیدا کردن شناسههایی که بیشترین پهنای باند لینوکس را در اختیار دارند.
Nethogs یک ابزار کوچک و ساده، و درعین حال عالی برای شبکه است. این ابزار پهنای باند را بر اساس عنوان فرآیندها مانند Firefox و wget دستهبندی میکند. اگر به صورت ناگهانی با ترافیک شدید شبکه مواجه شُدید، NetHogs را راهاندازی کنید. در این حالت، مشاهده میکنید که کدام PID موجب اشغال بیش از حد پهنای باند شده است.
php
1$ sudo nethogs
ابزار متنباز nethogs برای مانیتورینگ لینوکس
۲۱) فرمان iftop – نمایش میزان کاربرد پهنای باند از طریق رابط کاربری
فرمان iftop شرایط ترافیک شبکه را در یک رابط کاربری مانند eth0 زیر نظر میگیرد. این فرمان جدولی از وضعیت کنونی میزان کاربرد پهنای باند به تفکیک هاستها نشان میدهد.
php
1$ sudo iftop
عملکرد iftop در مانیتورینگ لینوکس
۲۲) ابزار vnstat – مانیتورینگ ترافیک شبکه بر اساس کنسول
Vnstat یک ابزار سده مانیتورینگ ترافیک شبکه برای لینوکس است. این ابزار تاریخچه ساعتی، روزانه و ماهانه ترافیک شبکه را برای یک رابط کاربری خاص نگهداری میکند.
php
1$ vnstat
ابزار vnstatبرای مانیتورینگ ترافیک شبکه لینوکس
۲۳) ابزار nmon – ابزار مدیریتی و تنظیمکننده سیستمهای لینوکس
nmon یک ابزار مدیریت سیستم لینوکس به منظور اِعمال اصلاحات و تنظیمات است. این ابزار میتواند اطلاعات مربوط به پردازشگر، حافظه، شبکه، فضای دیسک، فایلهای سیستمی، NFS، منابع مورد استفاده فرآینده و پارتیشنها را نمایش دهد.
php
1$ nmon
فرمان nmon برای مانیتورینگ لینوکس
۲۴) ابزار glances – پایش مداوم سیستم لینوکس
glances یک ابزار متنباز مانیتورنیگ لینوکس است که در پلتفرمهای چندگانه قابلاستفاده خواهد بود. این ابزار مجموعه متنابهی از اطلاعات در صفحهنمایش ارائه میدهد. این در حالی است که میتوان از آن در حالت کلاینت/سرور نیز استفاده کرد.
php
1$ glances
ابزار glances برای مانیتورینگ لینوکس
۲۵) فرمان strace – مانیتورینگ فراخوانهای لینوکس
آیا میخواهید فراخوانها و سیگنالهای سیستم لینوکس را ردیابی کنید؟ برای این منظور میتوانید از فرمان strace استفاده نمایید. این ابزار بهویژه برای عیبیابی وبسرور و دیگر مشکلات سرور مفید خواهد بود.
۲۶) فایل سیستمی /proc/ - آمار مختلف کرنل لینوکس
فایل سیستمی /proc/ اطلاعات گستردهای از سختافزارها و دیگر جنبههای کرنل لینوکس ارائه میدهد. نمونههای از کاربرد /proc را در زیر میبینید.
۲۷) نرمافزار Nagios – مانیتورینگ سرور/ شبکه لینوکس
Nagios یک نرمافزار محبوب متنباز برای مانیتورینگ شبکه و منابع سیستم است. شما با کمک این ابزار میتوانید به سادگی به مانیتورینگ تمام هاستها، تجهیزات شبکه و خدمات بپردازید. Nagios میتواند در زمان بروز مشکل به شما هشدار بدهد و پس از رفع مشکل نیز به شما اطلاعرسانی کند. در همین حال، FAN یک نمونه کاملاً اتوماتیک از Nagios محسوب میشود و هدف از آن، ارائه تجهیزات کاملی از «جامعه Nagios» است. FAN یک تصویر سیدیرام با فرمت استاندارد ISO تهیه میکند که نصب سرور Nagios را بسیار راحت مینماید. علاوه بر این، مجموعهای از ابزارها به توزیع لینوکس اضافه میشوند تا تجربه کاربری بهتری برای Nagios ایجاد کنند.
۲۸) ابزار Cacti – ابزار تحتوب مانیتورینگ لینوکس
Cacti یک مجموعه کامل ارزیابی شبکه است که برای ارتقای قدرت ذخیره داده RRDTool و نمایش نمودار عملکرد طراحی شده است. این ابزار یک قالب نمودار پیشرفته با روش جمعآوری دادههای چندگانه و مدیریت کاربران مختلف است. این در حالی است که تمام اینها در یک رابط کاربری ساده فراهم شده است. چنین چیزی میتواند برای شبکههای پیچیده با مجموعه گستردهای از تجهیزات راهگشا باشد. دادههای مربوط به شبکه، پردازشگر، کاربران وارد شده، سروهای آپاچی و DNS از طریق این ابزار قابلمشاهده هستند.
۲۹) ابزار امنیت سیستم KDE – گزارش نمودار لحظهای از وضعیت سیستم لینوکس
KSysguard یک برنامه مانیتورینگ سیستم و شبکه برای KDE دسکتاپ محسوب میشود. این ابزار میتواند از طریق ssh اجرا گردد. KSysguard دارای ویژگیها و ابزارهای زیادی است؛ از جمله یک ساختار کلاینت/ سرور برای فعالسازی مانیتورینگ هاستهای محلی و ریموت. رابط کاربری گرافیکی KSysguard از ابزارهایی موسوم به «سنسورها» برای دریافت اطلاعات بهره میبرد. یک سنسور میتواند مقادیر ساده و یا اطلاعات پیچیده مانند جداول را منتقل کند. برای هر نوع از اطلاعات، یک یا چند صفحه ارائه میشود. این صفحات در یک فایل کاری طبقهبندی میشوند که هر کدام از آنها به صورت جداگانه قابلذخیره و بارگذاری خواهند بود. بنابراین KSysguard نهتنها یک ابزار مدیریت انجام وظیفه سیستم است، بلکه یک برنامه بسیار قدرتمند برای برای کنترل مزارع بزرگ سرور نیز محسوب میشود.
ابزار امنیتی KDE برای مانیتورینگ لینوکس
۳۰) مانیتورینگ سیستم لینوکس Gnome
این برنامه مانیتورینگ سیستم به شما اجازه میدهد که اطلاعات پایه سیستم در مورد فرآیندها، میزان کاربرد متابع و فایلهای سیستمی را نمایش دهید. اگرچه این ابزار به مانند KDE System Guard قدرتمند نیست، ولی میتواند برای کاربران تازهکار بسیار مفید باشد.
برنامه مانیتورینگ سیستم لینوکس Gnome
برخی ابزارهای اضافی دیگر برای مانیتورینگ سیستم لینوکس
nmap – اسکن سرور برای مشاهده پورتهای باز
lsof – تهیه فهرست از فایلهای باز، ارتباطات شبکه و موارد دیگر
ntop web based tool – ابزار مانیتورینگ ترافیک شبکه لینوکس. با این ابزار میتوانید وضعیت شبکه، توزیع پروتکلهای ترافیک برای یودیپی، تیسیپی، دیاناس و اچتیتیپی را زیر نظر بگیرید.
Conky –یک ابزار مانیتورینگ عالی باری سیستم مبتنی بر ویندوز ایکس. این ابزار انعطافپذیری بسیار زیادی دارد و میتواند متغیرهای زیادی از سیستم را پایش کند.
GKrellM – این ابزار میتواند برای مانیتورینگ وضعیت سیپییو، حافظه اصلی، دیسکهای سخت، رابطهای کاربری شبکه، میلباکسهای محلی و ریموت و بسیاری موارد دیگر به کار رود.
mtr – این ابزار ترکیبی از کاربری برنامههای تریسروت و پینگ در یک فرمت شبکهای واحد است.
vtop – مانیتورنیگ ورودی و خروجی لینوکس به صورت گرافیکی
gtop – یک داشبورد مانیتورینگ بسیار خوب برای ترمینال لینوکس و یونیکس