صفحه اصلی > آموزشی : دستورات مانیتورینگ لینوکس: 20 ابزار خط فرمان برای نظارت بر عملکرد لینوکس

دستورات مانیتورینگ لینوکس: 20 ابزار خط فرمان برای نظارت بر عملکرد لینوکس


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

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

1- Top – Linux Process Monitoring

فرمان Linux top یک برنامه نظارت بر عملکرد است که اغلب توسط بسیاری از مدیران سیستم برای نظارت بر عملکرد لینوکس استفاده می‌شود و در بسیاری از سیستم‌عامل‌ها مانند لینوکس و یونیکس موجود است.

دستور Top برای نمایش تمام فرآیندهای در حال اجرا به‌صورت بلادرنگ در یک لیست مرتب و به‌روز‌رسانی منظم استفاده می‌شود. دستور Top، CPU، MEMORY، Swap ، اندازه کش، اندازه بافر و Process PID، کاربر، دستورات مورد استفاده و بسیاری از موارد دیگر را نشان می‌دهد.

همچنین این دستور، استفاده از مصارف بالا از حافظه و cpu را در فرآیندهای در حال اجرا را نشان می‌دهد. دستور top برای مدیران سیستم بسیار مفید است تا در‌صورت لزوم اقدامات اصلاحی را انجام دهند. اجازه دهید در عمل به دستور top نگاهی بیندازیم.

# top

2- VmStat  – آمار حافظه مجازی

دستور VmStat لینوکس برای نمایش آمار حافظه مجازی، نخ‌های هسته، دیسک‌ها، فرآیندهای سیستم، بلوک‌های I/O، وقفه‌ها، فعالیت CPU و موارد دیگر استفاده می‌شود.

نصب VmStat بر روی لینوکس

VmStat به صورت پیش‌فرض در سیستم‌های لینوکس در‌دسترس نیست، برای استفاده از این دستور ابتدا باید پکیجی به نام sysstat (یک ابزار نظارتی قدرتمند) که شامل برنامه vmstat را نصب کنید.

$ sudo yum install sysstat   [On Older CentOS/RHEL & Fedora]
$ sudo dnf install sysstat   [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
$ sudo apt-get install sysstat  [On Debian/Ubuntu & Mint]
$ sudo pacman -S sysstat     [On Arch Linux]

رایج‌ترین استفاده از فرمت دستور vmstat به‌‌صورت زیر است:

# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so bi bo   in   cs us sy id wa st
1  0  43008 275212   1152 561208 4   16   100   105   65  113  0  1 96  3  0

تصویر ۲ دستورات مانیتورینگ لینوکس

3- Lsof –  لیست فایل‌های باز‌شده

دستور Lsof در بسیاری از سیستم‌های لینوکس / یونیکس برای نمایش لیست تمام فایل‌ها و فرآیندهای باز‌شده مورد‌استفاده قرار می‌گیرد. فایل‌های باز شامل فایل‌های دیسک، سوکت‌های شبکه، پایپ‌ها، دستگاه‌ها و فرآیندها است.

یکی از دلایل اصلی استفاده از این دستور در زمانی است که دیسک را نمی‌توان unmounted کرد و خطای استفاده یا باز‌شدن فایل‌ها را نشان می‌دهد. با این دستور، می‌توانید به‌راحتی تشخیص دهید که کدام فایل‌ها در حال استفاده هستند. رایج‌ترین فرمت برای دستور lsof مطابق زیر است:

# lsof
COMMAND  PID   TID TASKCMD          USER   FD   TYPE          DEVICE SIZE/OFF    NODE NAME
systemd    1                        root  cwd    DIR             8,2   224     128 /
systemd    1                        root  rtd    DIR             8,2   224     128 /
systemd       1                        root  txt    REG             8,2  1567768  134930842 /usr/lib/systemd/systemd
systemd    1                        root  mem    REG             8,2  2714928  134261052 /usr/lib64/libm-2.28.so
systemd    1                        root  mem    REG             8,2   628592  134910905 /usr/lib64/libudev.so.1.6.11
systemd    1                        root  mem    REG             8,2   969832  134261204 /usr/lib64/libsepol.so.1
systemd    1                        root  mem    REG             8,2  1805368  134275205 /usr/lib64/libunistring.so.2.1.0
systemd    1                        root  mem    REG             8,2   355456  134275293 /usr/lib64/libpcap.so.1.9.0
systemd       1                        root  mem    REG             8,2   145984  134261219 /usr/lib64/libgpg-error.so.0.24.2
systemd    1                        root  mem    REG             8,2 71528  134270542 /usr/lib64/libjson-c.so.4.0.0
systemd    1                        root  mem    REG             8,2   371736  134910992 /usr/lib64/libdevmapper.so.1.02
systemd    1                        root  mem    REG             8,2 26704  134275177 /usr/lib64/libattr.so.1.1.2448
systemd    1                        root  mem    REG             8,2  3058736  134919279 /usr/lib64/libcrypto.so.1.1.1c
...

تصویر ۳ دستورات مانیتورینگ لینوکس

4- Tcpdump – تحلیلگر بسته‌های شبکه

دستور tcpdump یکی از پرکاربردترین دستورات مانیتورینگ لینوکس در برنامه‌هایی است که برای آنالیز بسته‌های شبکه یا packet sniffer مورد‌استفاده قرار می‌گیرد و برای گرفتن یا فیلتر کردن بسته‌های TCP/IP که بر روی یک رابط خاص از طریق شبکه دریافت یا منتقل می‌شود، استفاده می‌گردد.

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

# tcpdump -i enp0s3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
10:19:34.635893 IP tecmint.ssh > 192.168.0.124.45611: Flags [P.], seq 2840044824:2840045032, ack 4007244093
10:19:34.636289 IP 192.168.0.124.45611 > tecmint.ssh: Flags [.], ack 208, win 11768, options
10:19:34.873060 IP _gateway.57682 > tecmint.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:34.873104 IP tecmint > _gateway: ICMP tecmint udp port netbios-ns unreachable, length 86
10:19:34.895453 IP _gateway.48953 > tecmint.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:34.895501 IP tecmint > _gateway: ICMP tecmint udp port netbios-ns unreachable, length 86
10:19:34.992693 IP 142.250.4.189.https > 192.168.0.124.38874: UDP, length 45
10:19:35.010127 IP 192.168.0.124.38874 > 142.250.4.189.https: UDP, length 33
10:19:35.135578 IP _gateway.39383 > 192.168.0.124.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:35.135586 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp port netbios-ns unreachable, length 86
10:19:35.155827 IP _gateway.57429 > 192.168.0.124.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:35.155835 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp port netbios-ns unreachable, length 86

تصویر ۴ دستورات مانیتورینگ لینوکس

5- Netstat – آمار شبکه

Netstat یک ابزار خط فرمان برای نظارت بر ورودی و خروجی و همچنین آمارهای رابط است. این یک ابزار بسیار مفید برای هر مدیر سیستم است که برای نظارت بر عملکرد شبکه و عیب‌یابی مشکلات مربوط به شبکه به آن نیاز خواهد داشت.

# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address      State
tcp     0   0 0.0.0.0:sunrpc       0.0.0.0:*            LISTEN
tcp     0   0 tecmint:domain       0.0.0.0:*            LISTEN
tcp     0   0 0.0.0.0:ssh          0.0.0.0:*            LISTEN
tcp     0   0 localhost:postgres   0.0.0.0:*            LISTEN
tcp     0   0 tecmint:ssh          192.168.0.124:45611  ESTABLISHED
tcp6    0   0 [::]:sunrpc          [::]:*               LISTEN
tcp6    0   0 [::]:ssh             [::]:*               LISTEN
tcp6    0   0 localhost:postgres   [::]:*               LISTEN
udp     0   0 0.0.0.0:mdns         0.0.0.0:*
udp     0   0 localhost:323        0.0.0.0:*
udp     0   0 tecmint:domain       0.0.0.0:*
udp     0   0 0.0.0.0:bootps       0.0.0.0:*
udp     0   0 tecmint:bootpc       _gateway:bootps      ESTABLISHED
...

تصویر ۵ دستورات مانیتورینگ لینوکس

در حالی که دستور netstat به نفع دستور ss منسوخ شده‌است، هنوز هم می‌توانید دستور netstat را در تول‌کیت شبکه خود بیابید.

6- Htop – نظارت بر فرآیند لینوکس

Htop یک ابزار بسیار پیشرفته و تعاملی و بلادرنگ است که برای نظارت بر فرآیند لینوکس است که بسیار شبیه به فرمان top لینوکس است. با این حال، این دستور دارای برخی از ویژگی‌هایی مانند رابط کاربر‌پسند برای مدیریت فرآیندها، کلیدهای میانبر و نمای افقی و عمودی از فرآیندها و حتی موارد بسیار بیشتر دیگری نیز است.

# htop

تصویر ۶ دستورات مانیتورینگ لینوکس

Htop یک ابزار شخص ثالث است که با سیستم‌های لینوکس ارائه نمی‌شود و شما باید آن را با‌استفاده از ابزار system package manager خودتان نصب کنید.

7- Iotop – نظارت بر ورودی / خروجی دیسک لینوکس

Iotop نیز بسیار شبیه به دستور top و برنامه htop است، اما تابع حسابداری برای مانیتورینگ و نمایش در زمان واقعی بر روی دیسک I/O و فرآیندها را دارد.

ابزار iotop برای یافتن دقیق فرآیند و استفاده بالا از دیسک خواندن / نوشتن توسط فرآیندها بسیار مفید است.

نصب Iotop بر روی لینوکس

دستور Iotop به‌صورت پیش‌فرض بر روی لینوکس در‌دسترس نیست و باید مطابق زیر آن را نصب کنید:

$ sudo yum install iotop   [On Older CentOS/RHEL & Fedora]
$ sudo dnf install iotop   [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
$ sudo apt-get install iotop  [On Debian/Ubuntu & Mint]
$ sudo pacman -S iotop     [On Arch Linux]

استفاده رایج از فرمت دستور iotop به‌صورت زیر است:

# iotop

تصویر ۷ دستورات مانیتورینگ لینوکس

8- Iostat – آمار ورودی / خروجی

Iostat ابزار ساده‌ای است که آمار دستگاه ذخیره‌سازی ورودی و خروجی سیستم را جمع‌آوری و نشان می‌دهد. این ابزار اغلب برای ردیابی مشکلات عملکرد دستگاه ذخیره‌سازی از جمله تجهیزات، دیسک‌های محلی و دیسک‌های راه دور مانند NFS استفاده می‌شود.

نصب Iostat بر روی لینوکس

برای دریافت دستور Iostat باید پکیجی به نام sysstat را مطابق نصب کنید:

$ sudo yum install sysstat   [On Older CentOS/RHEL & Fedora]
$ sudo dnf install sysstat   [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
$ sudo apt-get install sysstat  [On Debian/Ubuntu & Mint]
$ sudo pacman -S sysstat     [On Arch Linux]

استفاده معمول از فرمت دستور iostat به‌صورت زیر است:

# iostat
Linux 4.18.0-193.el8.x86_64 (tecmint)   04/05/2021   _x86_64_     (1 CPU)
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
        0.21 0.03 0.59 2.50 0.00   96.67
Device          tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda            3.95     83.35     89.63 1782431 1916653

تصویر ۸ دستورات مانیتورینگ لینوکس

9- IPTraf – نظارت بر IP LAN بلادرنگ

IPTraf یک ابزار منبع‌باز مبتنی بر کنسول به‌منظور نظارت بر شبکه به‌صورت بلادرنگ (IP LAN) برای لینوکس است. این ابزار اطلاعات مختلفی مانند نظارت بر ترافیک IP که از شبکه عبور می‌کند، از جمله اطلاعات TCP flag ،  جزئیات ICMP، خرابی ترافیک TCP/UDP، بسته‌های اتصال TCP و تعداد بایت‌ها را جمع‌آوری می‌کند.

همچنین، اطلاعات مربوط به آمار کلی و جزئی رابط TCP، UDP، IP، ICMP، NON-IP، خطاهای checksum IP، فعالیت رابط و غیره را جمع‌آوری می‌کند.

تصویر ۹ دستورات مانیتورینگ لینوکس

10- Psacct یا Acct –  مانیتور کردن فعالیت‌های کاربر

ابزارهای psacct یا acct برای نظارت بر فعالیت‌های هر کاربر مفید است. هر دو این دیامون‌ها در پس‌زمینه اجرا می‌شوند و فعالیت کلی هر کاربر و همچنین منابعی که توسط آن‌ها مصرف می‌شوند را زیر نظر می‌گیرد.

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

تصویر ۱۰ دستورات مانیتورینگ لینوکس

11- Monit – نظارت بر فرآیندها و خدمات لینوکس

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

این ابزار بر خدماتی مانند آپاچی، MySQL، Mail، FTP، ProFTP، Nginx، SSH و غیره نظارت می‌کند. وضعیت سیستم را می‌توان با استفاده از خط فرمان یا رابط کاربری مشاهده کرد.

تصویر ۱۱ دستورات مانیتورینگ لینوکس

12- NetHogs – نظارت بر تمام فرآیند‌های پهنای باند شبکه

NetHogs یک برنامه کوچک و منبع‌باز (مشابه دستور TOP لینوکس ) است که یک تب برای هر مورد فعالیت فرآیند شبکه در سیستم شما نگاه می‌داد. همچنین، این برنامه ترافیک پهنای باند استفاده‌شده برای هر برنامه یا اپلیکیشن را در شبکه به‌صورت بلادرنگ ردیابی می‌کند.

# nethogs

تصویر ۱۲ دستورات مانیتورینگ لینوکس

13- iftop – نظارت بر پهنای باند شبکه

Iftop یکی دیگر از ابزارهای رایگان مبتنی بر ترمینال و منبع‌باز برای مانیتورینگ سیستم است که لیستی از مصارف پهنای باند شبکه که از طریق رابط شبکه بر روی سیستم شما به‌روز‌رسانی می‌شود را نمایش می‌دهد.

iftop در زمینه استفاده از شبکه مشابه top است و دقیقا مانند این است که top بینش‌هایی را در‌مورد استفاده از CPU ارائه می‌دهد.

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

# iftop

تصویر ۱۳ دستورات مانیتورینگ لینوکس

14- Monitorix – مانیتورینگ سیستم و شبکه

Monitorix یک ابزار رایگان و سبک‌وزن است که برای اجرا و نظارت بر منابع سیستم و شبکه است تا حد‌امکان برای سرورهای لینوکس / یونیکس طراحی شده‌است.

دارای یک وب سرور HTTP داخلی است که به‌طور منظم اطلاعات سیستم و شبکه را جمع‌آوری می‌کند و آن‌ها را توسط نمودار نمایش می‌دهد. این ابزار میانگین بارگذاری و میزان مصرف سیستم، تخصیص حافظه، سلامت درایو دیسک، خدمات سیستم، پورت‌های شبکه، آمار MAIL (Sendmail، Postfix، Dovecot و غیره)، آمار MYSQL و بسیاری از موارد دیگر را مانیتور می‌کند.

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

تصویر ۱۴ دستورات مانیتورینگ لینوکس

15- Arpwatch – نظارت بر فعالیت اترنت

Arpwatch نوعی برنامه است که برای نظارت بر Address Resolution (تغییرات آدرس MAC و IP) اترنت در یک شبکه لینوکس طراحی شده‌است.

این ابزار به‌طور مرتب بر ترافیک اترنت نظارت می‌کند و یک گزارش از تغییرات جفت IP و آدرس MAC همراه با مهر زمانی در یک شبکه تولید می‌کند. آن همچنین قابلیتی برای ارسال هشدارهای ایمیل به مدیران، هنگامی ‌که یک جفت اضافه می‌شود یا تغییر می‌کند را دارد. این ابزار همچنین برای تشخیص ARP spoofing در یک شبکه بسیار مفید است.

تصویر ۱۵ دستورات مانیتورینگ لینوکس

16- Suricata  – نظارت بر امنیت شبکه

Suricata یک ابزار امنیت شبکه منبع‌باز و با عملکرد بالا است که برای تشخیص و پیشگیری از نفوذ لینوکس، FreeBSD و ویندوز استفاده می‌شود.

این ابزار توسط بنیاد غیر‌انتفاعی OISF (Open Information Security Foundation) طراحی شده‌است و متعلق به این سازمان است.

17- VnStat PHP   – نظارت بر پهنای باند شبکه

VnStat PHP یک اپلیکیشن فرانت‌اندی مبتنی بر وب است برای محبوب ترین ابزار شبکه به نام vnstat است. VnStat PHP بر ترافیک شبکه مورد‌استفاده در حالت گرافیکی به‌خوبی نظارت می‌کند.

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

18- Nagios – نظارت بر شبکه / سرور

Nagios یک سیستم مانیتورینگ قوی و منبع‌باز پیشرو است که مدیران شبکه و سیستم را قادر می‌سازد تا بتوانند مشکلات مربوط به سرور قبل از اینکه آن‌ها بر روی فرآیندهای اصلی تجارت تأثیر بگذارند را شناسایی و برطرف کنند.

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

19- Nmon – نظارت بر عملکرد لینوکس

Nmon (مخفف Nigel’s Performance Monitor) یک از دستورات مانیتورینگ لینوکس است که برای نظارت بر تمام منابع لینوکس مانند CPU، MEMORY، دیسک مورد‌استفاده، شبکه، فرآیندهای TOP، NFS، هسته و بسیاری از موارد دیگر استفاده می‌شود. این ابزار دارای دو حالت آنلاین و Capture است.

از حالت آنلاین این ابزار برای نظارت بر بلادرنگ و حالت Capture برای ذخیره‌سازی خروجی در فرمت CSV برای پردازش بعدی استفاده می‌شود.

تصویر ۱۶ دستورات مانیتورینگ لینوکس

20- Collectl – ابزار همه‌جانبه نظارت بر عملکرد

Collectl یکی دیگر از دستورات مانیتورینگ لینوکس قدرتمند و دارای قابلیت‌های بسیار است که می‌تواند برای جمع‌آوری اطلاعات در مورد منابع سیستم لینوکس مانند استفاده از پردازنده، حافظه، شبکه، indoes، فرآیندها، TCP، NFS، سوکت‌ها و بسیاری از موارد دیگر بکار رود.

تصویر ۱۷ دستورات مانیتورینگ لینوکس

امتیاز شما به این مطلب

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



منبع

پست های مرتبط

رفع مشکل لود stats.wp.com در سایت‌های وردپرسی و افزایش سرعت

مشکل لود شدن stats.wp.com به دلیل اسکریپت‌های خارجی است که برای جمع‌آوری…

تنظیم و تعیین زبان تبلیغات گوگل

یکی از تنظیمات مهم تبلیغات گوگل، تنظیمات مربوط به زبان است. با…

کدام هاست‌ها برای سایت فیلم مناسب است؟ (بهترین هاست سایت فیلم)

برای سایت‌های فیلم و سریال که با حجم بالای داده‌ها و کاربران…

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

آخرین پست ها

1403 © طراحی سایت | سئو | آقای وب