مانیتورینگ لینوکس؛ ابزارها و راهکارها

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

۱) فرمان top برای مانیتورینگ فعالیت‌های پردازشی

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

فرمان top برای مانیتورینگ لینوکس

فرمان top برای مانیتورینگ لینوکس

 

فرمان مانیتورینگ لینوکس top با برخی گزینه‌ها نیز همراه است که با حروف زیر مشخص می‌شوند:

t              نمایش خلاصه اطلاعات

m            نمایش اطلاعات حافظه

A             نمایش نزولی مصرف‌کنندگان منابع مختلف سیستم. این گزینه برای تشخیص سریع وظایفی که به سطح عملکرد بالایی از سیستم نیاز دارند، مفید خواهد بود.

f              ایجاد یک تنظیمات صفحه‌نمایش پویا برای فرمان. مناسب برای تنظیم یک وظیفه خاص

o             امکان تنظیم ترتیب فرآیندها به صورت سفارشی

r              renice درنظر گرفتن فرمان

k              kill درنظر گرفتن فرمان

z              تنظیم حالت رنگی

۲) فرمان vmstat – آمار حافظه مجازی

فرمان vmstat گزارش‌هایی در مورد فرآیندها، حافظه، صفحات، بلوک‌های IO، مشکلات و فعالیت‌های CPU ارائه می‌دهد.

# vmstat 3

نمونه خروجی

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

۰  ۰      ۰ ۲۵۴۰۹۸۸ ۵۲۲۱۸۸ ۵۱۳۰۴۰۰    ۰    ۰     ۲    ۳۲    ۴    ۲  ۴  ۱ ۹۶  ۰  ۰

۱  ۰      ۰ ۲۵۴۰۹۸۸ ۵۲۲۱۸۸ ۵۱۳۰۴۰۰    ۰    ۰     ۰   ۷۲۰ ۱۱۹۹  ۶۶۵  ۱  ۰ ۹۹  ۰  ۰

۰  ۰      ۰ ۲۵۴۰۹۵۶ ۵۲۲۱۸۸ ۵۱۳۰۴۰۰    ۰    ۰     ۰     ۰ ۱۱۵۱ ۱۵۶۹  ۴  ۱ ۹۵  ۰  ۰

۰  ۰      ۰ ۲۵۴۰۹۵۶ ۵۲۲۱۸۸ ۵۱۳۰۵۰۰    ۰    ۰     ۰     ۶ ۱۱۱۷  ۴۳۹  ۱  ۰ ۹۹  ۰  ۰

۰  ۰      ۰ ۲۵۴۰۹۴۰ ۵۲۲۱۸۸ ۵۱۳۰۵۱۲    ۰    ۰     ۰   ۵۳۶ ۱۱۸۹  ۹۳۲  ۱  ۰ ۹۸  ۰  ۰

۰  ۰      ۰ ۲۵۳۸۴۴۴ ۵۲۲۱۸۸ ۵۱۳۰۵۸۸    ۰    ۰     ۰     ۰ ۱۱۸۷ ۱۴۱۷  ۴  ۱ ۹۶  ۰  ۰

۰  ۰      ۰ ۲۴۹۰۰۶۰ ۵۲۲۱۸۸ ۵۱۳۰۶۴۰    ۰    ۰     ۰    ۱۸ ۱۲۵۳ ۱۱۲۳  ۵  ۱ ۹۴  ۰  ۰

نمایش Slabinfo مصرف حافظه

# vmstat –m

دریافت اطلاعات در مورد صفحات فعال و غیرفعال حافظه

# vmstat -a

۳) فرمان w – بررسی کاربران وارد شده و کاری که در حال حاضر انجام می‌دهند.

فرمان w اطلاعاتی در مورد کابران کنونی سیستم و فرآیندهای سیستم در اختیار قرار می‌دهد.

# w username

# w vivek

نمونه خروجی

۱۷:۵۸:۴۷ up 5 days, 20:28,  ۲ users,  load average: 0.36, 0.26, 0.24

USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT

root     pts/0    ۱۰٫۱٫۳٫۱۴۵       ۱۴:۵۵    ۵٫۰۰s  ۰٫۰۴s  ۰٫۰۲s vim /etc/resolv.conf

root     pts/1    ۱۰٫۱٫۳٫۱۴۵       ۱۷:۴۳    ۰٫۰۰s  ۰٫۰۳s  ۰٫۰۰s w

۴) فرمان uptime- نمایش زمان راه‌اندازی سیستم لینوکس

فرمان uptime  برای این منظور مورد استفاده قرار می‌گیرد که بفهمیم چه مدت‌زمانی سرور در حال اجرا بوده است. اینکه زمان کنونی، مدت زمانی که از راه‌اندازی سیستم گذشته است، چه تعداد کاربران در حال حاضر وارد سیستم هستند و بار متوسط سیستم برای پانزده دقیقه گذشته یا یک ساعت و پنج ساعت گذشته چقدر است.

# uptime

خروجی

۱۸:۰۲:۴۱ up 41 days, 23:42,  ۱ user,  load average: 0.00, 0.00, 0.00

مقدار ۱ می‌تواند به عنوان بار بهینه درنظر گرفته شود. البته این بار برای سیستم‌های مختلف متغیر خواهد بود.  برای سیستم‌هایی که یک پردازشگر دارند، مقدار ۱ تا ۳ و برای سیستم‌های SMP مقدار بار ۶ تا ۱۰ قابل‌قبول است.

۵) فرمان ps – نمایش فرآیندهای لینوکس

فرمان ps  تصویری از وضعیت کنونی فرآیندهای سیستم ارائه می‌دهد. برای انتخاب تمام فرآیندهای در حال اجرا می‌توانید از گزینه‌های –A یا –e نیز استفاده کنید.

# ps -A

نمونه خروجی

PID TTY          TIME CMD

۱ ?        ۰۰:۰۰:۰۲ init

۲ ?        ۰۰:۰۰:۰۲ migration/0

۳ ?        ۰۰:۰۰:۰۱ ksoftirqd/0

۴ ?        ۰۰:۰۰:۰۰ watchdog/0

۵ ?        ۰۰:۰۰:۰۰ migration/1

۶ ?        ۰۰:۰۰:۱۵ ksoftirqd/1

....

.....

۴۸۸۱ ?        ۰۰:۵۳:۲۸ java

۴۸۸۵ tty1     ۰۰:۰۰:۰۰ mingetty

۴۸۸۶ tty2     ۰۰:۰۰:۰۰ mingetty

۴۸۸۷ tty3     ۰۰:۰۰:۰۰ mingetty

۴۸۸۸ tty4     ۰۰:۰۰:۰۰ mingetty

۴۸۹۱ tty5     ۰۰:۰۰:۰۰ mingetty

۴۸۹۲ tty6     ۰۰:۰۰:۰۰ mingetty

۴۸۹۳ ttyS1    ۰۰:۰۰:۰۰ agetty

۱۲۸۵۳ ?        ۰۰:۰۰:۰۰ cifsoplockd

۱۲۸۵۴ ?        ۰۰:۰۰:۰۰ cifsdnotifyd

۱۴۲۳۱ ?        ۰۰:۱۰:۳۴ lighttpd

۱۴۲۳۲ ?        ۰۰:۰۰:۰۰ php-cgi

۵۴۹۸۱ pts/0    ۰۰:۰۰:۰۰ vim

۵۵۴۶۵ ?        ۰۰:۰۰:۰۰ php-cgi

۵۵۵۴۶ ?        ۰۰:۰۰:۰۰ bind9-snmp-stat

۵۵۷۰۴ pts/1    ۰۰:۰۰:۰۰ ps

فرمان ps همانند فرمان top است، با این تفاوت که اطلاعات بیشتری را در اختیار قرار می‌دهد.

نمایش خروجی با فرمت طولانی

# ps -Al

برای فعال‌کردن حالت کامل با اطلاعات اضافی (در این حالت متغیرهای مرتبط با فرآیند نیز نمایش داده می‌شود).

# ps –AlF

نمایش Thread ها (LWP و NLWP)

# ps –AlFH

مشاهده Thread ها بعد از فرآیندها

# ps –AlLm

چاپ تمام فرآیندها بر روی سرور

# ps ax

# ps axu

برای چاپ زیرشاخه فرآیندها نیز از فرمان‌های زیر استفاده کنید:

# ps -ejH

# ps axjf

# pstree

دریافت اطلاعات امنیتی از فرآیندهای لینوکس

# ps -eo euser,ruser,suser,fuser,f,comm,label

# ps axZ

# ps –eM

چاپ تمام فرآیندهایی که توسط کاربر Vivek اجرا شده‌اند.

# ps -U vivek -u vivek u

تنظیم خروجی فرمان ps در یک فرمت دلخواه کاربر

# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm

# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm

# ps -eopid,tt,user,fname,tmout,f,wchan

برای مشاهده شناسه‌های فرآیند Lighttpd داریم:

# ps -C lighttpd -o pid=

یا:

# pgrep lighttpd

و یا:

# pgrep -u vivek php-cgi

چاپ عنوان شناسه PID 55977

# ps -p 55977 -o comm=

۱۰ فرآیندی که بیشترین حجم حافظه را استفاده می‌کنند.

# ps -auxf | sort -nr -k 4 | head -10

۱۰ فرآیندی که بیشترین حجم CPU را مصرف می‌کنند.

# ps -auxf | sort -nr -k 3 | head -10

۶) فرمان free – نمایش میزان استفاده از حافظه سرور لینوکس

فرمان free مقدار حافظه فیزیکی و جایگزین آزاد و مورد استفاده سیستم،  و همین‌طور  بافرهایی که توسط کرنل استفاده می‌شود را نشان می‌دهد.

# free

نمونه خروجی

total       used       free     shared    buffers     cached

Mem:      ۱۲۳۰۲۸۹۶    ۹۷۳۹۶۶۴    ۲۵۶۳۲۳۲          ۰     ۵۲۳۱۲۴    ۵۱۵۴۷۴۰

-/+ buffers/cache:    ۴۰۶۱۸۰۰    ۸۲۴۱۰۹۶

Swap:      ۱۰۵۲۲۴۸          ۰    ۱۰۵۲۲۴۸

۷) فرمان iostat – مانیتورینگ بار متوسط CPU و فعالیت‌های دیسک  لینوکس

فرمان iostat گزارش عملکرد پردازشگر مرکزی، ورودی و خروجی قطعات، پارتیشن‌ها و فایل‌هیا سیستمی شبکه را نشان می‌دهد.

# iostat

نمونه خروجی

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in)     ۰۶/۲۶/۲۰۰۹

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

۳٫۵۰    ۰٫۰۹    ۰٫۵۱    ۰٫۰۳    ۰٫۰۰   ۹۵٫۸۶

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

sda              ۲۲٫۰۴        ۳۱٫۸۸       ۵۱۲٫۰۳   ۱۶۱۹۳۳۵۱  ۲۶۰۱۰۲۸۶۸

sda1              ۰٫۰۰         ۰٫۰۰         ۰٫۰۰       ۲۱۶۶        ۱۸۰

sda2             ۲۲٫۰۴        ۳۱٫۸۷       ۵۱۲٫۰۳   ۱۶۱۸۹۰۱۰  ۲۶۰۱۰۲۶۸۸

sda3              ۰٫۰۰         ۰٫۰۰         ۰٫۰۰       ۱۶۱۵          ۰

۸) فرمان sar – مانیتورینگ، جمع‌آوری و گزارش فعالیت‌های سیستم لینوکس

فرمان sar به منظور مانیتورینگ، جمع‌آوری و گزارش و ذخیره اطلاعات فعالیت‌های سیستم لینوکس مورد استفاده قرار می‌گیرد. برای مشاهده شمارنده شبکه، فرمان زیر را وارد کنید:

# sar -n DEV | more

شمارنده شبکه از ۲۴ ساعت گذشته:

# sar -n DEV -f /var/log/sa/sa24 | more

همچنین می‌توانید وضعیت لحظه‌ای را با استفاده از فرمان sar نشان دهید:

# sar 4 5

خروجی:

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in)                     ۰۶/۲۶/۲۰۰۹

۰۶:۴۵:۱۲ PM       CPU     %user     %nice   %system   %iowait    %steal     %idle

۰۶:۴۵:۱۶ PM       all      ۲٫۰۰      ۰٫۰۰      ۰٫۲۲      ۰٫۰۰      ۰٫۰۰     ۹۷٫۷۸

۰۶:۴۵:۲۰ PM       all      ۲٫۰۷      ۰٫۰۰      ۰٫۳۸      ۰٫۰۳      ۰٫۰۰     ۹۷٫۵۲

۰۶:۴۵:۲۴ PM       all      ۰٫۹۴      ۰٫۰۰      ۰٫۲۸      ۰٫۰۰      ۰٫۰۰     ۹۸٫۷۸

۰۶:۴۵:۲۸ PM       all      ۱٫۵۶      ۰٫۰۰      ۰٫۲۲      ۰٫۰۰      ۰٫۰۰     ۹۸٫۲۲

۰۶:۴۵:۳۲ PM       all      ۳٫۵۳      ۰٫۰۰      ۰٫۲۵      ۰٫۰۳      ۰٫۰۰     ۹۶٫۱۹

Average:          all      ۲٫۰۲      ۰٫۰۰      ۰٫۲۷      ۰٫۰۱      ۰٫۰۰     ۹۷٫۷۰

۹) فرمان mpstat – مانیتورینگ میزان استفاده از پردازنده‌های چندگانه در لینوکس

فرمان mpstat نشان‌دهنده فعالیت‌های مربوط به هر کدام از پردازنده‌هاست که شماره آنها از صفر شروع می‌شود. این در حالی است که با فرمان زیر می‌توانید مقدار متوسط کاربری هر کدام از CPU ها را مشاهده کنید.

# mpstat -P ALL

نمونه خروجی

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in)                    ۰۶/۲۶/۲۰۰۹

۰۶:۴۸:۱۱ PM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s

۰۶:۴۸:۱۱ PM  all    ۳٫۵۰    ۰٫۰۹    ۰٫۳۴    ۰٫۰۳    ۰٫۰۱    ۰٫۱۷    ۰٫۰۰   ۹۵٫۸۶   ۱۲۱۸٫۰۴

۰۶:۴۸:۱۱ PM    ۰    ۳٫۴۴    ۰٫۰۸    ۰٫۳۱    ۰٫۰۲    ۰٫۰۰    ۰٫۱۲    ۰٫۰۰   ۹۶٫۰۴   ۱۰۰۰٫۳۱

۰۶:۴۸:۱۱ PM    ۱    ۳٫۱۰    ۰٫۰۸    ۰٫۳۲    ۰٫۰۹    ۰٫۰۲    ۰٫۱۱    ۰٫۰۰   ۹۶٫۲۸     ۳۴٫۹۳

۰۶:۴۸:۱۱ PM    ۲    ۴٫۱۶    ۰٫۱۱    ۰٫۳۶    ۰٫۰۲    ۰٫۰۰    ۰٫۱۱    ۰٫۰۰   ۹۵٫۲۵      ۰٫۰۰

۰۶:۴۸:۱۱ PM    ۳    ۳٫۷۷    ۰٫۱۱    ۰٫۳۸    ۰٫۰۳    ۰٫۰۱    ۰٫۲۴    ۰٫۰۰   ۹۵٫۴۶     ۴۴٫۸۰

۰۶:۴۸:۱۱ PM    ۴    ۲٫۹۶    ۰٫۰۷    ۰٫۲۹    ۰٫۰۴    ۰٫۰۲    ۰٫۱۰    ۰٫۰۰   ۹۶٫۵۲     ۲۵٫۹۱

۰۶:۴۸:۱۱ PM    ۵    ۳٫۲۶    ۰٫۰۸    ۰٫۲۸    ۰٫۰۳    ۰٫۰۱    ۰٫۱۰    ۰٫۰۰   ۹۶٫۲۳     ۱۴٫۹۸

۰۶:۴۸:۱۱ PM    ۶    ۴٫۰۰    ۰٫۱۰    ۰٫۳۴    ۰٫۰۱    ۰٫۰۰    ۰٫۱۳    ۰٫۰۰   ۹۵٫۴۲      ۳٫۷۵

۰۶:۴۸:۱۱ PM    ۷    ۳٫۳۰    ۰٫۱۱    ۰٫۳۹    ۰٫۰۳    ۰٫۰۱    ۰٫۴۶    ۰٫۰۰   ۹۵٫۶۹     ۷۶٫۸۹

لینوکس مقدار کاربری پردازنده‌های چندگانه را به صورت جداگانه نشان می‌دهد.

۱۰) فرمان pmap – مانیتورینگ مقدار استفاده فرآیندها از حافظه در لینوکس

فرمان pmap گزارشی از میزان استفاده حافظه توسط یک فرآیند را ارائه می‌دهد. با استفاده از این فرمان می‌توانید مشکلات احتمالی حافظه را پیدا کنید.

# pmap -d PID

برای نمایش اطلاعات حافظه فرآیند با شناسه ۴۷۳۹۴ داریم:

# pmap -d 47394

نمونه خروجی

۴۷۳۹۴:   /usr/bin/php-cgi

Address           Kbytes Mode  Offset           Device    Mapping

۰۰۰۰۰۰۰۰۰۰۴۰۰۰۰۰    ۲۵۸۴ r-x-- 0000000000000000 008:00002 php-cgi

۰۰۰۰۰۰۰۰۰۰۸۸۶۰۰۰     ۱۴۰ rw--- 0000000000286000 008:00002 php-cgi

۰۰۰۰۰۰۰۰۰۰۸a9000      ۵۲ rw--- 00000000008a9000 000:00000   [ anon ]

۰۰۰۰۰۰۰۰۰۰aa8000      ۷۶ rw--- 00000000002a8000 008:00002 php-cgi

۰۰۰۰۰۰۰۰۰f678000    ۱۹۸۰ rw--- 000000000f678000 000:00000   [ anon ]

۰۰۰۰۰۰۳۱۴a600000     ۱۱۲ r-x-- 0000000000000000 008:00002 ld-2.5.so

۰۰۰۰۰۰۳۱۴a81b000       ۴ r---- 000000000001b000 008:00002 ld-2.5.so

۰۰۰۰۰۰۳۱۴a81c000       ۴ rw--- 000000000001c000 008:00002 ld-2.5.so

۰۰۰۰۰۰۳۱۴aa00000    ۱۳۲۸ r-x-- 0000000000000000 008:00002 libc-2.5.so

۰۰۰۰۰۰۳۱۴ab4c000    ۲۰۴۸ ----- ۰۰۰۰۰۰۰۰۰۰۱۴c000 008:00002 libc-2.5.so

.....

......

..

۰۰۰۰۲af8d48fd000       ۴ rw--- 0000000000006000 008:00002 xsl.so

۰۰۰۰۲af8d490c000      ۴۰ r-x-- 0000000000000000 008:00002 libnss_files-2.5.so

۰۰۰۰۲af8d4916000    ۲۰۴۴ ----- ۰۰۰۰۰۰۰۰۰۰۰۰a000 008:00002 libnss_files-2.5.so

۰۰۰۰۲af8d4b15000       ۴ r---- 0000000000009000 008:00002 libnss_files-2.5.so

۰۰۰۰۲af8d4b16000       ۴ rw--- 000000000000a000 008:00002 libnss_files-2.5.so

۰۰۰۰۲af8d4b17000  ۷۶۸۰۰۰ rw-s- 0000000000000000 000:00009 zero (deleted)

۰۰۰۰۷fffc95fe000      ۸۴ rw--- 00007ffffffea000 000:00000   [ stack ]

ffffffffff600000    ۸۱۹۲ ----- ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰:۰۰۰۰۰   [ anon ]

mapped: 933712K    writeable/private: 4304K    shared: 768000K

خط آخر دارای اطلاعات بسیار مهمی است.

mapped: 933712K  کل حافظه اختصاص داده شده به فایل­ها

writeable/private: 4304K مقدار فضای خصوصی و قابل‌نگارش

shared: 768000K مقدار فضایی که با دیگران به اشتراک گذاشته شده است

۱۱) فرمان netstat – ابزار مانیتورینگ آمارگیری و شبکه لینوکس

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

# netstat -tulpn

# netstat –nat

۱۲) فرمان ss – آمار شبکه

فرمان ss برای نمایش آمار سوکت‌ها به کار می‌رود. اطلاعات مشابه فرمان netstat نمایش داده می‌شوند. البته باید توجه داشته باشید که کاربرد فرمان netstat تقریباً منسوخ شده است. بر این اساس، شما نیاز به فرمان ss خواهید داشت. برای نمایش آمار تمام سوکت‌های TCP و UDP در لینوکس داریم:

# ss -t -a

و یا:

# ss -u -a

مایش تمام سوکت‌های TCP مرتبط با فرآیندهای امنیتی SELinux

# ss -t -a –Z

۱۳) فرمان iptraf – نمایش آمار لحظه‌ای شبکه لینوکس

فرمان iptraf یک مانیتورینگ فعال برای IP LAN است. این فرمان برای ایجاد اطلاعات آماری مختلف شبکه از جمله اطلاعات TCP، تعداد UDP، اطلاعات مرتبط با  ICMP و OSPF به کار می‌رود. همچنین اطلاعات بار شبکه داخلی، آمار نقطه‌ای، خطاهای بررسی IP نیز از جمله اطلاعاتی هستند که با این فرمان ارائه می‌شوند. به طور کلی این فرمان می‌تواند اطلاعات زیر را به صورت خوانا در اختیار قرار دهد:

 

 آمار کلی رابط کاربری: آمار ترافیک IP به تفکیک رابط کاربری شبکه

آمار کلی رابط کاربری: آمار ترافیک IP به تفکیک رابط کاربری شبکه

 آمار ترافیک شبکه به تفکیک ارتباط TCP

آمار ترافیک شبکه به تفکیک ارتباط TCP

۱۴) فرمان tcpdump – آنالیز جزئی ترافیک شبکه

فرمان tcpdump یکی از فرمان‌های ساده مانیتورینگ لینوکس است که ترافیک موجود در شبکه را بررسی می‌کند. در همین حال، برای استفاده از آن باید دانش مناسبی نسبت به پروتکل TCP/IP داشته باشید. به عنوان مثال‌، برای نمایش اطلاعات ترافیک مربوط به DNS داریم:

# tcpdump -i eth1 'udp port 53'

نمایش تمام پکت‌های IPv4 HTTP ورودی و خروجی پورت ۸۰٫ به عبارتی، چاپ فقط پکت‌هایی که حاوی داده هستند.

# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

تمام ارتباط های FTP مربوط به ۲۰۲٫۵۴٫۱٫۵

# tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20'

چاپ تمام ارتباطات HTTP با ۱۹۲٫۱۶۸٫۱٫۵

# tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'

استفاده از ابزار wireshark برای مشاهده جزئیات اطلاعات فایل‌ها

# tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

۱۵) فرمان iotop – مانیتورینگ I/O لینوکس

فرمان iotop با استفاده از کرنل لینوکس به بررسی کاربرد I/O می‌پردازد. این فرمان جدولی از کاربردهای کنونی I/O بر اساس فرآیندها یا thread های سرور ارا‌ئه می‌دهد.

$ sudo iotop

نمونه خروجی

مانیتورینگ I/O لینوکس با استفاده از فرمان iotop

مانیتورینگ I/O لینوکس با استفاده از فرمان iotop

۱۶) فرمان htop – مشاهده فعالانه فرآیندها

فرمان htop یک ابزار رایگان و متن‌باز است که برای مشاهده فرآیندها در لینوکس به کار می‌رود. عملکرد این فرمان به مراتب بهتر از فرمان top است. کاربرد آن بسیار آسان است. شما می‌توانید از این فرمان برای حذف یا اصلاح فرآیندها استفاده کنید؛ بدون اینکه به PID آنها یا خروج از رابط کاربری htop نیاز داشته باشید.

$ htop

نمونه خروجی

مانیتورینگ فرآیندهای لینوکس با فرمان htop

مانیتورینگ فرآیندهای لینوکس با فرمان htop

۱۷) فرمان atop – مانیتورینگ پیشرفته پردازش و سیستم لینوکس

Atop یک ابزار بسیار قدرتمند است که برای مانیتورینگ هوشمند بار سیستم لینوکس به کار می‌رود. این ابزار از دیدگاه عملکردی، مهمترین مشکلات سخت‌افزاری را نشان می‌دهد. همچنین مشخص می‌کند که کدام فرآیند باعث ایجاد بار نگران‌کننده در CPU و حافظه شده است.

$ atop

فرمان atop برای مانیتورینگ عملکرد لینوکس

فرمان atop برای مانیتورینگ عملکرد لینوکس

۱۸) فرمان‌های ac و lastcomm

شما حتماً نیاز دارید که فعالیت‌های ورود و فرآیندها را در لینوکس تحت‌نظر داشته باشید. برای این منظور، بسته psacct یا acct دارای برخی ابزارها هستند که برای مانیتورینگ لینوکس می‌توانند مفید واقع شوند. از جمله:

۱۹) نرم‌افزار monit – مدیریت فرآیندها

Monit یک نرم‌افزار رایگان متن‌باز است که به عنوان یک ابزار مدیریت فرآیند عمل می‌کند. این نرم‌افزار این قابلیت را دارد که سرویس‌هایی را که با مشکل مواجه می‌شوند، دوباره راه‌اندازی کند. این در حالی است که شما می‌توانید از ابزارهایی مانند Systemd یا daemontools نیز برای این منظور استفاده کنید.

۲۰) فرمان nethogs – پیدا کردن شناسه‌هایی که بیشترین پهنای باند لینوکس را در اختیار دارند.

Nethogs یک ابزار کوچک و ساده، و درعین حال عالی برای شبکه است. این ابزار پهنای باند را بر اساس عنوان فرآیندها مانند Firefox و wget دسته‌بندی می‌کند. اگر به صورت ناگهانی با ترافیک شدید شبکه مواجه شُدید، NetHogs را راه‌اندازی کنید. در این حالت، مشاهده می‌کنید که کدام PID موجب اشغال بیش از حد پهنای باند شده است.

$ sudo nethogs

ابزار متن‌باز nethogs برای مانیتورینگ لینوکس

ابزار متن‌باز nethogs برای مانیتورینگ لینوکس

۲۱) فرمان  iftop – نمایش میزان کاربرد پهنای باند از طریق رابط کاربری

فرمان iftop شرایط ترافیک شبکه را در یک رابط کاربری مانند eth0 زیر نظر می‌گیرد. این فرمان جدولی از وضعیت کنونی میزان کاربرد پهنای باند به تفکیک هاست‌ها نشان می‌دهد.

$ sudo iftop

عملکرد iftop در مانیتورینگ لینوکس

عملکرد iftop در مانیتورینگ لینوکس

۲۲) ابزار vnstat – مانیتورینگ ترافیک شبکه بر اساس کنسول

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

$ vnstat

ابزار vnstatبرای مانیتورینگ ترافیک شبکه لینوکس

ابزار vnstatبرای مانیتورینگ ترافیک شبکه لینوکس

۲۳) ابزار nmon – ابزار مدیریتی و تنظیم‌کننده سیستم‌های لینوکس

nmon یک ابزار مدیریت سیستم لینوکس به منظور اِعمال اصلاحات و تنظیمات است.  این ابزار می‌تواند اطلاعات مربوط به  پردازشگر، حافظه، شبکه، فضای دیسک، فایل‌های سیستمی، NFS، منابع مورد استفاده فرآینده و پارتیشن‌ها را نمایش دهد.

$ nmon

 فرمان nmon برای مانیتورینگ لینوکس

فرمان nmon برای مانیتورینگ لینوکس

۲۴) ابزار glances – پایش مداوم سیستم لینوکس

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

$ glances

ابزار glances برای مانیتورینگ لینوکس

ابزار glances برای مانیتورینگ لینوکس

۲۵) فرمان strace – مانیتورینگ فراخوان‌های لینوکس

آیا می‌خواهید فراخوان‌ها و سیگنال‌های سیستم لینوکس را ردیابی کنید؟ برای این منظور می‌توانید از فرمان strace استفاده نمایید. این ابزار به‌ویژه برای عیب‌یابی وب‌سرور و دیگر مشکلات سرور مفید خواهد بود.

۲۶) فایل سیستمی /proc/ – آمار مختلف کرنل لینوکس

فایل سیستمی /proc/ اطلاعات گسترده‌ای از سخت‌افزارها و دیگر جنبه‌های کرنل لینوکس ارائه می‌دهد. نمونه‌های از کاربرد /proc را در زیر می‌بینید.

# cat /proc/cpuinfo

# cat /proc/meminfo

# cat /proc/zoneinfo

# cat /proc/mounts

۲۷) نرم‌افزار Nagios – مانیتورینگ سرور/ شبکه لینوکس

Nagios یک نرم‌افزار محبوب متن‌باز برای مانیتورینگ شبکه و منابع سیستم است. شما با کمک این ابزار می‌توانید به سادگی به مانیتورینگ تمام هاست‌ها، تجهیزات شبکه و خدمات بپردازید. Nagios می‌تواند در زمان بروز مشکل به شما هشدار بدهد و پس از رفع مشکل نیز به شما اطلاع‌رسانی کند. در همین حال، FAN یک نمونه کاملاً اتوماتیک از Nagios محسوب می‌شود و هدف از آن، ارائه تجهیزات کاملی از «جامعه Nagios»  است. FAN یک تصویر سی‌دی‌رام با فرمت استاندارد ISO تهیه می‌کند که نصب سرور Nagios را بسیار راحت می‌نماید. علاوه بر این،  مجموعه‌ای از ابزارها به توزیع لینوکس اضافه می‌شوند تا تجربه کاربری بهتری برای Nagios ایجاد کنند.

۲۸)  ابزار Cacti – ابزار تحت‌وب مانیتورینگ لینوکس

Cacti یک مجموعه کامل ارزیابی شبکه است که برای ارتقای قدرت ذخیره داده RRDTool و نمایش نمودار عملکرد طراحی شده است. این ابزار یک قالب نمودار پیشرفته با روش‌ جمع‌آوری داده‌های چندگانه و مدیریت کاربران مختلف است. این در حالی است که تمام اینها در یک رابط کاربری ساده فراهم شده است. چنین چیزی می‌تواند برای شبکه‌های پیچیده با مجموعه گسترده‌ای از تجهیزات راهگشا باشد. داده‌های مربوط به شبکه، پردازشگر، کاربران وارد شده، سروهای آپاچی و DNS از طریق این ابزار قابل‌مشاهده هستند.

۲۹) ابزار امنیت سیستم KDE – گزارش نمودار لحظه‌ای از وضعیت سیستم لینوکس

KSysguard یک برنامه مانیتورینگ سیستم و شبکه برای KDE دسکتاپ محسوب می‌شود. این ابزار می‌تواند از طریق ssh اجرا گردد. KSysguard دارای ویژگی‌ها و ابزارهای زیادی است؛ از جمله یک ساختار کلاینت/ سرور برای فعالسازی مانیتورینگ هاست‌های محلی و ریموت. رابط کاربری گرافیکی KSysguard از ابزارهایی موسوم به «سنسورها» برای دریافت اطلاعات بهره می‌برد. یک سنسور می‌تواند مقادیر ساده و یا اطلاعات پیچیده مانند جداول را منتقل کند. برای هر نوع از اطلاعات، یک یا چند صفحه ارائه می‌شود. این صفحات در یک فایل کاری طبقه‌بندی می‌شوند که هر کدام از آنها به صورت جداگانه قابل‌ذخیره و بارگذاری خواهند بود. بنابراین KSysguard نه‌تنها یک ابزار مدیریت انجام وظیفه سیستم است، بلکه یک برنامه بسیار قدرتمند برای برای کنترل مزارع بزرگ سرور نیز محسوب می‌شود.

 ابزار امنیتی KDE برای مانیتورینگ لینوکس

ابزار امنیتی KDE برای مانیتورینگ لینوکس

۳۰) مانیتورینگ سیستم لینوکس Gnome

این برنامه مانیتورینگ سیستم به شما اجازه می‌دهد که اطلاعات پایه سیستم در مورد فرآیندها، میزان کاربرد متابع و فایل‌های سیستمی را نمایش دهید. اگرچه این ابزار به مانند KDE System Guard قدرتمند نیست، ولی می‌تواند برای کاربران تازه‌کار بسیار مفید  باشد.

برنامه مانیتورینگ سیستم لینوکس Gnome

برنامه مانیتورینگ سیستم لینوکس Gnome

برخی ابزارهای اضافی دیگر برای مانیتورینگ سیستم لینوکس

nmap – اسکن سرور برای مشاهده پورت‌های باز

lsof – تهیه فهرست از فایل‌های باز، ارتباطات شبکه و موارد دیگر

ntop web based tool – ابزار مانیتورینگ ترافیک شبکه لینوکس. با این ابزار می‌توانید وضعیت شبکه، توزیع پروتکل‌های ترافیک برای یو‌دی‌پی، تی‌سی‌پی، دی‌ان‌اس و اچ‌تی‌تی‌پی را زیر نظر بگیرید.

Conky –یک ابزار مانیتورینگ عالی باری سیستم مبتنی بر ویندوز ایکس. این ابزار انعطاف‌پذیری بسیار زیادی دارد و می‌تواند متغیرهای زیادی از سیستم را پایش کند.

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

mtr – این ابزار ترکیبی از کاربری‌ برنامه‌های تریس‌روت و پینگ در یک فرمت شبکه‌ای واحد است.

vtop – مانیتورنیگ ورودی و خروجی لینوکس به صورت گرافیکی

gtop – یک داشبورد مانیتورینگ بسیار خوب برای ترمینال لینوکس و یونیکس

با ما در تماس باشید

کارشناسان ما در هر لحظه منتظر پاسخوگویی به سوالات شما هستند.

کلیه حقوق مادی و معنوی سیستم متعلق به آریانت می‌باشد.