Linux Araç Setlerini Kullanarak Sistem Etkinlik Raporları Nasıl Üretilir ve Sunulur - Bölüm 3


Bir sistem mühendisi olarak, diğer nedenlerin yanı sıra, 1) kaynakların en iyi şekilde kullanıldığından, 2) darboğazları önlemek ve 3) ölçeklenebilirliği sağlamak için sisteminizin kaynaklarının kullanımını gösteren raporlar üretmeniz gerekecektir.

Birkaç örnek vermek gerekirse, disk, bellek ve CPU kullanımını kontrol etmek için kullanılan iyi bilinen yerel Linux araçlarının yanı sıra, Red Hat Enterprise Linux 7, raporlarınız için toplayabileceğiniz verileri geliştirmek üzere iki ek araç seti sağlar: sysstat ve dstat.

Bu yazıda her ikisini de anlatacağız ama önce klasik araçların kullanımını inceleyerek başlayalım.

Yerel Linux Araçları

df ile dosya sistemine göre disk alanı ve inode kullanımını raporlayabileceksiniz. Her ikisini de izlemeniz gerekir çünkü alan eksikliği daha fazla dosya kaydetmenizi engelleyecektir (ve hatta sistemin çökmesine neden olabilir), tıpkı inode'ların tükenmesinin daha fazla dosyayı karşılık gelen verilerle bağlayamayacağınız anlamına gelmesi gibi böylece aynı etkiyi yaratırsınız: bu dosyaları diske kaydedemezsiniz.


df -h 		[Display output in human-readable form]
df -h --total         [Produce a grand total]


df -i 		[Show inode count by filesystem]
df -i --total 	[Produce a grand total]

du ile dosya alanı kullanımını dosyaya, dizine veya dosya sistemine göre tahmin edebilirsiniz.

Örneğin kullanıcının tüm kişisel dosyalarının bulunduğu /home dizininin ne kadar alan kullandığını görelim. İlk komut, /home dizininin tamamı tarafından halihazırda kullanılan toplam alanı döndürürken, ikincisi ayrıca alt dizine göre ayrıştırılmış bir liste de görüntüler:


du -sch /home
du -sch /home/*

Kaçırmayın:

  1. Linux Disk Alanı Kullanımını Kontrol Etmek İçin 12 'df' Komut Örneği
  2. Dosyaların/Dizinlerin Disk Kullanımını Bulmak İçin 10 'du' Komut Örneği

Araç setinizde eksik olamayacak bir diğer yardımcı program da vmstat'tır. İşlemler, CPU ve bellek kullanımı, disk etkinliği ve daha fazlası hakkındaki bilgileri hızlı bir bakışta görmenizi sağlar.

Bağımsız değişkenler olmadan çalıştırılırsa vmstat, son yeniden başlatmadan bu yana ortalamaları döndürür. Komutun bu biçimini arada bir kullanabilseniz de, örnekler arasında belirli bir zaman aralığı olacak şekilde belirli miktarda sistem kullanım örneğini birbiri ardına almak daha yararlı olacaktır.

Örneğin,


vmstat 5 10

her 5 saniyede bir alınan 10 örneği döndürür:

Yukarıdaki resimde görebileceğiniz gibi, vmstat çıktısı sütunlara bölünmüştür: procs (işlemler), bellek, swap, io, sistem ve cpu. Her alanın anlamı vmstat'ın kılavuz sayfasındaki ALAN AÇIKLAMASI bölümlerinde bulunabilir.

vmstat nerede işe yarayabilir? Yum güncellemesi öncesinde ve sırasında sistemin davranışını inceleyelim:


vmstat -a 1 5

Diskteki dosyalar değiştirildikçe etkin bellek miktarının ve dolayısıyla diske (bo) yazılan blok sayısının ve CPU süresinin de arttığını lütfen unutmayın. (bizim) kullanıcı süreçlerine adanmıştır.

Veya büyük bir dosyanın doğrudan diske kaydedilmesi sırasında (dsync'ten kaynaklanır):


vmstat -a 1 5
dd if=/dev/zero of=dummy.out bs=1M count=1000 oflag=dsync

Bu durumda, (bo) diskine daha fazla sayıda bloğun yazıldığını görebiliriz ki bu beklenen bir durumdur, ancak aynı zamanda beklemesi gereken CPU süresi miktarında da bir artış vardır. Görevleri işlemeden önce tamamlanması gereken G/Ç işlemleri (wa).

Kaçırmayın: Vmstat – Linux Performans İzleme

Diğer Linux Araçları

Bu bölümün girişinde de belirtildiği gibi, sistem durumunu ve kullanımını kontrol etmek için kullanabileceğiniz başka araçlar da vardır (bunlar yalnızca Red Hat tarafından değil aynı zamanda resmi olarak desteklenen diğer büyük dağıtımlar tarafından da sağlanır). depolar).

sysstat paketi aşağıdaki yardımcı programları içerir:

  1. sar (sistem etkinliği bilgilerini toplayın, raporlayın veya kaydedin).
  2. sadf (sar tarafından toplanan verileri birden çok biçimde görüntüler).
  3. mpstat (işlemcilerle ilgili istatistikleri rapor edin).
  4. iostat (cihazlar ve bölümler için CPU istatistiklerini ve G/Ç istatistiklerini raporlayın).
  5. pidstat (Linux görevleri için istatistikleri rapor edin).
  6. nfsiostat (NFS için giriş/çıkış istatistiklerini rapor edin).
  7. cifsiostat (CIFS istatistiklerini rapor edin) ve
  8. sa1 (ikili verileri sistem etkinliği günlük veri dosyasında toplayın ve saklayın.
  9. sa2 (/var/log/sa dizinine günlük bir rapor yazın) araçları.

dstat ise daha fazla sayaç ve esnekliğin yanı sıra bu araçların sağladığı işlevselliğe bazı ekstra özellikler ekler. Her bir aracın genel açıklamasını sırasıyla yum info sysstat veya yum info dstat'ı çalıştırarak veya kurulumdan sonra ayrı ayrı man sayfalarını kontrol ederek bulabilirsiniz.

Her iki paketi de yüklemek için:


yum update && yum install sysstat dstat

sysstat'ın ana yapılandırma dosyası /etc/sysconfig/sysstat'tır. Bu dosyada aşağıdaki parametreleri bulacaksınız:


How long to keep log files (in days).
If value is greater than 28, then log files are kept in
multiple directories, one for each month.
HISTORY=28
Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=31
Parameters for the system activity data collector (see sadc manual page)
which are used for the generation of log files.
SADC_OPTIONS="-S DISK"
Compression program to use.
ZIP="bzip2"

sysstat yüklendiğinde, /etc/cron.d/sysstat dosyasında iki cron işi eklenir ve etkinleştirilir. İlk iş, sistem etkinliği hesaplama aracını her 10 dakikada çalıştırır ve raporları /var/log/sa/saXX dizininde saklar; burada XX, ayın günü.

Böylece /var/log/sa/sa05, ayın 5'inden itibaren tüm sistem etkinliği raporlarını içerecektir. Bu, yukarıdaki yapılandırma dosyasındaki HISTORY değişkeninde varsayılan değeri kullandığımızı varsayar:


*/10 * * * * root /usr/lib64/sa/sa1 1 1

İkinci iş, her gün 23:53'te süreç muhasebesinin günlük özetini oluşturur ve bunu /var/log/sa/sarXX dosyalarında saklar; burada XX önceki örnektekiyle aynı anlama sahiptir:


53 23 * * * root /usr/lib64/sa/sa2 -A

Örneğin, sistem istatistiklerinin çıktısını ayın altısının 9:30'undan 17:30'a kadar .csv 'ye çıkarmak isteyebilirsiniz. LibreOffice Calc veya Microsoft Excel kullanılarak kolayca görüntülenebilen dosya (bu yaklaşım aynı zamanda çizelgeler veya grafikler oluşturmanıza da olanak tanır):


sadf -s 09:30:00 -e 17:30:00 -dh /var/log/sa/sa06 -- | sed 's/;/,/g' > system_stats20150806.csv

Alternatif olarak, sistem istatistiklerinin JSON biçiminde çıktısını almak için yukarıdaki sadf komutunda -d yerine -j işaretini kullanabilirsiniz. Strong> biçimi, örneğin verileri bir web uygulamasında tüketmeniz gerekiyorsa yararlı olabilir.

Son olarak dstat'ın neler sunabileceğine bakalım. Bağımsız değişkenler olmadan çalıştırılırsa, dstat'ın varsayılan olarak -cdngy değerini varsaydığını (sırasıyla CPU, disk, ağ, bellek sayfaları ve sistem istatistiklerinin kısaltması) ve bir tane eklediğini lütfen unutmayın. satırı her saniye (yürütme herhangi bir zamanda Ctrl + C ile durdurulabilir):


dstat

İstatistikleri bir .csv dosyasına çıkarmak için –output bayrağını ve ardından bir dosya adını kullanın. Bunun LibreOffice Calc'te nasıl göründüğüne bakalım:

Okuma kolaylığınız için dstat'ın man sayfasıyla birlikte sysstat'ın PDF formatındaki man sayfasına da göz atmanızı şiddetle tavsiye ederim. Özel ve ayrıntılı sistem etkinliği raporları oluşturmanıza yardımcı olacak başka seçenekler de bulacaksınız.

Kaçırmayın: Sysstat – Linux Kullanım Etkinliği İzleme Aracı

Özet

Bu kılavuzda, sistem kullanımına ilişkin raporlar oluşturmak için hem yerel Linux araçlarının hem de RHEL 7 ile sağlanan belirli yardımcı programların nasıl kullanılacağını açıkladık. Bir noktada bu raporlara en iyi arkadaşlarınız olarak güveneceksiniz.

Muhtemelen bu eğitimde ele almadığımız diğer araçları kullanmış olacaksınız. Öyleyse, aşağıdaki formu kullanarak bunları diğer öneri/soru/yorumlarınızla birlikte topluluğun geri kalanıyla paylaşmaktan çekinmeyin.

Sizden haber almak için sabırsızlanıyoruz.