Linux Performansını İzlemek İçin Sahip Olmanız Gereken 20 Komut Satırı Aracı


Linux sistem performansı sorunlarını günlük olarak izlemek ve hata ayıklamakla görevli bir Sistem veya Ağ yöneticisi olmak son derece zorlu bir sorumluluktur.

Bu, sarsılmaz bir adanmışlık, Linux sistemleri hakkında derin bir anlayış ve optimum performans ve güvenilirliği sağlama konusunda sürekli bir bağlılık gerektirir.

BT sektöründe Linux Yöneticisi olarak on yılımı çalışmaya adadıktan sonra, sistemlerin sürekli çalışmasını izleme ve sağlama gibi zorlu bir görevi gerçekten takdir etmeye başladım.

Bunun ışığında, sık kullanılan ilk 20 komut satırı izleme aracının kapsamlı bir listesini hazırladık. Bu paha biçilmez araçlar, her Linux/Unix Sistem Yöneticisi için vazgeçilmez olduğunu kanıtlayabilir ve onlara sistemlerinin durumunu ve performansını verimli bir şekilde izleme, teşhis etme ve koruma olanağı sağlar.

Bu izleme araçları, Linux'un tüm sürümlerinde mevcuttur ve performans sorunlarının gerçek nedenlerini izlemek ve bulmak için yararlı olabilir. Burada gösterilen komutların listesi, izleme senaryonuza uygun olanı seçmeniz için fazlasıyla yeterlidir.

1. Yukarı – Linux Süreç İzleme

Linux top komutu, birçok sistem yöneticisi tarafından Linux performansını izlemek için sıklıkla kullanılan bir performans izleme programıdır ve Linux/Unix benzeri birçok işletim sisteminde mevcuttur.

Top komutu, çalışan ve aktif tüm gerçek zamanlı işlemleri sıralı bir listede görüntülemek ve düzenli olarak güncellemek için kullanılır. CPU kullanımı, Bellek kullanımı, Takas Belleği, Önbellek Boyutu, Arabellek Boyutu görüntülenir. >, İşlem PID'si, Kullanıcı, Komutlar ve çok daha fazlası.

Ayrıca çalışan işlemlerin yüksek bellek ve işlemci kullanımını da gösterir. Top komutu, sistem yöneticilerinin izlemesi ve gerektiğinde düzeltici önlem alması için çok kullanışlıdır. Top komutunu çalışırken görelim.

top

2. VmStat – Sanal Bellek İstatistikleri

Linux VmStat komutu, sanal bellek, çekirdek iş parçacıkları, diskler, sistem işlemlerine ilişkin istatistikleri görüntülemek için kullanılır , G/Ç engellemeleri, kesintiler, CPU etkinliği ve çok daha fazlası.

VmStat'ı Linux'a yükleyin

Varsayılan olarak vmstat komutu Linux sistemlerinde mevcut değildir, vmstat programını içeren sysstat (güçlü bir izleme aracı) adı verilen bir paketi yüklemeniz gerekir.

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 komut formatının yaygın kullanımı şudur.

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 – Açık Dosyaları Listele

Linux/Unix benzeri birçok sistemde, tüm açık dosya ve işlemlerin bir listesini görüntülemek için lsof komutu kullanılır. Dahil edilen açık dosyalar, disk dosyaları, ağ yuvaları, borular, cihazlar ve işlemlerdir güçlü>.

Bu komutu kullanmanın ana nedenlerinden biri, diskin bağlantısının kesilememesi ve dosyaların kullanıldığı veya açıldığı hatasını göstermesidir. Bu komutla hangi dosyaların kullanımda olduğunu kolayca belirleyebilirsiniz.

lsof komutunun en yaygın biçimi şudur.

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 – Ağ Paket Analizörü

tcpdump komutu, ağ paket çözümleyicisi veya paket dinleyicisi programlarından en yaygın olarak kullanılan komut satırı programlarından biridir ve yakalamak veya filtrelemek için kullanılır. Bir ağ üzerinden belirli bir arayüzde alınan veya aktarılan >TCP/IP paketleri.

Ayrıca, daha sonra analiz edilmek üzere yakalanan paketleri bir dosyaya kaydetme seçeneği de sunar. tcpdump neredeyse tüm büyük Linux dağıtımlarında mevcuttur.

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 – Ağ İstatistikleri

netstat, gelen ve giden ağ paket istatistiklerinin yanı sıra arayüz istatistiklerini izlemeye yönelik bir komut satırı aracıdır. Her sistem yöneticisinin ağ performansını izlemesi ve ağla ilgili sorunları gidermesi için çok yararlı bir araçtır.

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
...

Günümüzde netstat, ss komutu lehine kullanımdan kaldırılmış olsa da, ağ oluşturma araç setinizde hala netstat'ı keşfedebilirsiniz.

6. Htop – Linux Süreç İzleme

htop çok gelişmiş, etkileşimli ve gerçek zamanlı bir Linux süreç izleme aracıdır; Linux top komutuna çok benzer, ancak kullanıcı- komutu gibi bazı zengin özelliklere sahiptir. süreçleri yönetmeye yönelik kullanıcı dostu arayüz, kısayol tuşları, süreçlerin dikey ve yatay görünümleri ve çok daha fazlası.

htop

htop, Linux sistemleriyle birlikte gelmeyen üçüncü taraf bir araçtır; bunu sistem paket yöneticisi aracınızı kullanarak yüklemeniz gerekir.

Htop kurulumu hakkında daha fazla bilgi için – Linux'ta Htop'u (Linux İşlem İzleme) Kurma) makalemizi okuyun.

7. Iotop – Linux Disk G/Ç'yi izleyin

iotop ayrıca top command ve htop programına çok benzer, ancak gerçek zamanlı izleme ve görüntüleme için bir muhasebe işlevine sahiptir. Disk G/Ç ve işlemler.

iotop aracı, tam işlemi ve süreçlerin yüksek oranda kullanılan disk okuma/yazmalarını bulmak için çok kullanışlıdır.

Iotop'u Linux'a yükleyin

Varsayılan olarak iotop komutu Linux altında mevcut değildir ve gösterildiği gibi yüklemeniz gerekir.

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]

İotop komut formatının yaygın kullanımı şudur.

iotop

8. Iostat – Giriş/Çıkış İstatistikleri

iostat, sistem giriş ve çıkış depolama cihazı istatistiklerini toplayacak ve gösterecek basit bir araçtır. Bu araç genellikle cihazlar, yerel diskler ve NFSgibi uzak diskler dahil olmak üzere depolama cihazı performans sorunlarını izlemek için kullanılır. >.

Iostat'ı Linux'a yükleyin

iostat komutunu almak için gösterildiği gibi sysstat adında bir paket kurmanız gerekir.

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 komut formatının yaygın kullanımı şudur.

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 – Gerçek Zamanlı IP LAN İzleme

IPTraf, Linux için açık kaynaklı, konsol tabanlı, gerçek zamanlı bir ağ (IP LAN) izleme yardımcı programıdır. TCP bayrak bilgileri, ICMP ayrıntıları, TCP/UDP trafik arızaları, TCP bağlantı paketleri ve bayt sayıları dahil olmak üzere ağ üzerinden geçen IP trafiği monitörü gibi çeşitli bilgileri toplar.

Ayrıca TCP, UDP, IP, ICMP, IP dışı, IP sağlama toplamı hataları, arayüz etkinliği vb. ile ilgili genel ve ayrıntılı arayüz istatistikleri hakkında bilgi toplar.

10. Psacct veya Acct – Kullanıcı Etkinliğini İzleyin

psacct veya acct araçları, her kullanıcının sistemdeki etkinliğini izlemek için çok kullanışlıdır. Her iki arka plan programı da arka planda çalışır ve her kullanıcının sistemdeki genel etkinliğini ve ayrıca onlar tarafından hangi kaynakların tüketildiğini yakından izler.

Bu araçlar, sistem yöneticilerinin her kullanıcının ne yaptığını, hangi komutları verdiğini, kaç kaynak kullandığını, sistemde ne kadar süre aktif olduklarını vb. gibi aktivitelerini takip etmesi açısından çok faydalıdır.

11. Monit – Linux Süreç ve Hizmetlerinin Takibi

Monit, sistem işlemlerini, programları, dosyaları, dizinleri, izinleri, sağlama toplamlarını ve dosya sistemlerini otomatik olarak izleyen ve yöneten ücretsiz bir açık kaynaklı ve web tabanlı süreç denetimi yardımcı programıdır.

Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH ve benzeri hizmetleri izler. Sistem durumu komut satırından veya kendi web arayüzü kullanılarak görüntülenebilir.

Kurulum ve konfigürasyon için Monit (Linux İşlem ve Hizmet İzleme) Programı Nasıl Kurulur ve Kurulumu yazımızı okuyun.

12. NetHogs – İşlem Başına Ağ Bant Genişliğini İzleyin

NetHogs, sisteminizdeki her işlem ağı etkinliğine ilişkin bir sekme tutan, açık kaynaklı, güzel ve küçük bir programdır (Linux top komutuna benzer). Ayrıca her program veya uygulama tarafından kullanılan gerçek zamanlı ağ trafiği bant genişliğini de takip eder.

nethogs

Kurulum ve kullanım için NetHogs Kullanarak Linux Ağ Bant Genişliğini İzleme yazımızı okuyun.

13. iftop – Ağ Bant Genişliği İzleme

iftop, sisteminizdeki ağ arayüzünden geçen ağ bant genişliği kullanımının (kaynak ve hedef ana bilgisayarlar) sıklıkla güncellenen listesini görüntüleyen başka bir terminal tabanlı ücretsiz açık kaynaklı sistem izleme yardımcı programıdır.

iftop, ağ kullanımı bağlamında "top" ile benzerdir; tıpkı "top" ifadesinin CPU kullanımına ilişkin analizler sağlaması gibi.

iftop saygın "en iyi" ağ izleme araçları ailesine aittir. Kullanıcı tarafından seçilen bir ağ arayüzünü gözlemlemek için özel olarak tasarlanan bu cihaz, belirtilen iki ana bilgisayar arasındaki mevcut bant genişliği kullanımına ilişkin gerçek zamanlı veriler sağlar.

iftop

Kurulum ve kullanım için iftop – Ağ Bant Genişliği Kullanımını İzleme yazımızı okuyun.

14. Monitorix – Sistem ve Ağ İzleme

Monitorix, Linux/Unix sunucularında mümkün olduğunca çok sayıda sistem ve ağ kaynağını çalıştırmak ve izlemek için tasarlanmış, ücretsiz ve hafif bir yardımcı programdır.

Düzenli olarak sistem ve ağ bilgilerini toplayan ve bunları grafikler halinde görüntüleyen yerleşik bir HTTP web sunucusuna sahiptir. Sistem yükü ortalamasını ve kullanımını, bellek tahsisini, disk sürücüsünün durumunu, sistem hizmetlerini, ağı izler. bağlantı noktaları, posta istatistikleri (Sendmail, Postfix, Dovecot vb.), MySQL istatistikler ve çok daha fazlası.

Genel sistem performansını izlemek için tasarlanmıştır ve arızaların, darboğazların, anormal faaliyetlerin vb. tespit edilmesine yardımcı olur.

Kurulum ve kullanım için Linux için Sistem ve Ağ İzleme Aracı Monitorix yazımızı okuyun.

15. Arpwatch – Ethernet Etkinlik Monitörü

Arpwatch, Ethernet'in Adres Çözümlemesini (MAC ve IP adres değişiklikleri) izlemek için tasarlanmış bir tür programdır. güçlü> bir Linux ağındaki ağ trafiği.

Sürekli olarak Ethernet trafiğini izler ve ağdaki zaman damgasıyla birlikte IP ve MAC adres çifti değişikliklerine ilişkin bir günlük oluşturur. Ayrıca bir eşleştirme eklendiğinde veya değiştiğinde yöneticilere e-posta uyarıları gönderme özelliği de vardır. Bir ağdaki ARP sahtekarlığını tespit etmede çok faydalıdır.

Kurulum ve kullanım için Arpwatch Ethernet Etkinliğini İzlemek yazımızı okuyun

16. Suricata – Ağ Güvenliği İzleme

Suricata, için yüksek performanslı, açık kaynaklı bir Ağ Güvenliği ve İzinsiz Giriş Tespiti ve Önleme İzleme Sistemi'dir. Linux, FreeBSD ve Windows.

Kâr amacı gütmeyen bir vakıf olan OISF (Açık Bilgi Güvenliği Vakfı) tarafından tasarlanmış ve ona aittir.

Kurulum ve kullanım için şu yazımızı okuyun: Suricata – Bir Ağ Saldırı Tespit ve Önleme Sistemi

17. VnStat PHP – Ağ Bant Genişliğini İzleme

VnStat PHP, "vnstat" adı verilen en popüler ağ oluşturma aracı için web tabanlı bir ön uç uygulamasıdır. VnStat PHP ağ trafiği kullanımını güzel bir grafik modunda izler.

Toplam GİRİŞ ve DIŞ ağ trafiği kullanımını saatlik, günlük, aylık olarak görüntüler. güçlü> ve tam özet raporlar.

Kurulum ve kullanım için Ağ Bant Genişliği Kullanımını İzleme yazımızı okuyun.

18. Nagios – Ağ/Sunucu İzleme

Nagios, ağ/sistem yöneticilerinin sunucuyla ilgili sorunları, büyük iş süreçlerini etkilemeden önce tespit etmelerine ve çözmelerine olanak tanıyan, lider, açık kaynaklı, güçlü bir izleme sistemidir.

Nagios sistemi ile yöneticiler uzak Linux'u, Windows'u, Anahtarları, Yönlendiricileri ve Yazıcıları tek bir pencereden izleyebilir. Kritik uyarıları gösterir ve ağınızda/sunucunuzda bir şeylerin ters gittiğini gösterir, bu da dolaylı olarak düzeltme işlemlerine başlamadan önce başlamanıza yardımcı olur.

Kurulum, yapılandırma ve kullanım için – Uzak Linux/Windows Ana Bilgisayarlarını İzlemek için Nagios İzleme Sistemini Kurma makalemizi okuyun

19. Nmon: Linux Performansını İzleyin

CPU, Bellek, Disk Kullanımı, Ağ, En iyi işlemler, NFS, Çekirdek ve çok daha fazlası gibi tüm Linux kaynaklarını izlemek için kullanılan Nmon (Nigel'in Performans İzleyicisi anlamına gelir) aracı. Bu araç iki modda gelir: Çevrimiçi Mod ve Yakalama Modu.

Çevrimiçi Mod, gerçek zamanlı izleme için kullanılır ve Yakalama Modu, çıktıyı daha sonra işlenmek üzere CSV formatında depolamak için kullanılır.

Kurulum ve kullanım için: Linux'ta Nmon (Performans İzleme) Aracı Kurulumu yazımızı okuyun.

20. Collectl: Hepsi Bir Arada Performans İzleme Aracı

Collectl, CPU kullanımı, bellek, ağ, inode'lar, işlemler, nfs, TCP gibi Linux sistem kaynakları hakkında bilgi toplamak için kullanılabilen, güçlü ve zengin özelliklere sahip komut satırı tabanlı bir yardımcı programdır. , prizler ve çok daha fazlası.

Kurulum ve kullanım için Linux'ta Collectl (Hepsi Bir Arada Performans İzleme) Aracı Kurulumu yazımızı okuyun.

Linux sunucularınızın performansını izlemek için ne tür izleme programları kullandığınızı bilmek istiyoruz. Bu listeye eklememizi istediğiniz önemli bir aracı gözden kaçırmışsak lütfen yorum yoluyla bize bildirin ve paylaşmayı unutmayın.