Kako izraditi i dostaviti izvješća o aktivnosti sustava pomoću Linux skupova alata - 3. dio


Kao sistemski inženjer, često ćete trebati izraditi izvješća koja pokazuju upotrebu resursa vašeg sustava kako biste bili sigurni da: 1) se koriste optimalno, 2) sprječavaju uska grla i 3) osiguravaju skalabilnost, između ostalih razloga.

Pored dobro poznatih izvornih Linux alata koji se koriste za provjeru upotrebe diska, memorije i CPU-a - da navedemo nekoliko primjera, Red Hat Enterprise Linux 7 nudi dva dodatna skupa alata za poboljšanje podataka koje možete prikupiti za svoja izvješća: sysstat i dstat .

U ovom ćemo članku opisati oboje, no krenimo prvo s pregledom upotrebe klasičnih alata.

Izvorni alati za Linux

Pomoću df-a moći ćete prijaviti prostor na disku i upotrebu inoda od strane datotečnog sustava. Morate nadzirati oboje jer će vam nedostatak prostora onemogućiti spremanje daljnjih datoteka (a može čak uzrokovati i pad sustava), baš kao što će nestanak inoda značiti da daljnje datoteke ne možete povezati s odgovarajućim podacima strukture, stvarajući tako isti efekt: nećete moći spremiti te datoteke na disk.

# 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]

Pomoću du možete procijeniti korištenje prostora datoteke bilo datotekom, direktorijom ili datotečnim sustavom.

Na primjer, pogledajmo koliko prostora koristi direktorij/home, koji uključuje sve korisnikove osobne datoteke. Prva naredba vratit će ukupni prostor koji trenutno koristi cijeli/home direktorij, dok će druga također prikazati raščlanjeni popis po poddirektoriju:

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

Ne propustite:

  1. 12 primjera naredbi "df" za provjeru upotrebe Linux diskovnog prostora
  2. 10 primjera naredbi "du" za pronalaženje upotrebe datoteka na disku/direktorija

Još jedan uslužni program koji ne smije nedostajati vašem skupu alata je vmstat. Omogućit će vam na brzinu informacije o procesima, upotrebi CPU-a i memorije, aktivnosti diska i još mnogo toga.

Ako se pokrene bez argumenata, vmstat će vratiti prosjeke od zadnjeg ponovnog pokretanja. Iako možete povremeno koristiti ovaj oblik naredbe, korisnije će biti uzeti određenu količinu uzoraka korištenja sustava, jedan za drugim, s definiranim vremenskim odvajanjem između uzoraka.

Na primjer,

# vmstat 5 10

vratit će 10 uzoraka uzetih svakih 5 sekundi:

Kao što možete vidjeti na gornjoj slici, izlaz vmstata podijeljen je stupcima: procs (procesi), memorija, swap, io, sustav i procesor. Značenje svakog polja može se naći u odjeljcima OPIS POLJA na man stranici na vmstatu.

Gdje vmstat može dobro doći? Ispitajmo ponašanje sustava prije i za vrijeme njam ažuriranja:

# vmstat -a 1 5

Imajte na umu da kako se datoteke mijenjaju na disku, povećava se količina aktivne memorije, a povećava se i broj blokova zapisanih na disk (bo) i procesorsko vrijeme koje je posvećeno korisničkim procesima (nama).

Ili tijekom postupka spremanja velike datoteke izravno na disk (uzrokovano dsyncom):

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

U ovom slučaju možemo vidjeti još veći broj blokova koji se zapisuju na disk (bo), što je bilo i očekivano, ali i povećanje količine CPU vremena koje treba čekati da se I/O operacije završe prije zadaci obrade (wa).

Ne propustite: Vmstat - Linux Performance Monitoring

Ostali alati za Linux

Kao što je spomenuto u uvodu ovog poglavlja, postoje i drugi alati pomoću kojih možete provjeriti status i upotrebu sustava (ne pruža ih samo Red Hat već i druge glavne distribucije iz njihovih službeno podržanih spremišta).

Paket sysstat sadrži sljedeće uslužne programe:

  1. sar (prikupiti, prijaviti ili spremiti podatke o aktivnosti sustava).
  2. sadf (prikaži podatke koje je prikupio sar u više formata).
  3. mpstat (statistika vezana uz procesore izvještaja).
  4. iostat (prijaviti statistiku CPU-a i I/O statistiku za uređaje i particije).
  5. pidstat (statistika izvještaja za Linux zadatke).
  6. nfsiostat (prijaviti ulazno/izlaznu statistiku za NFS).
  7. cifsiostat (izvještava o statistikama CIFS-a) i
  8. sa1 (prikupljati i pohranjivati binarne podatke u datoteku dnevnih podataka aktivnosti sustava.
  9. sa2 (napišite dnevno izvješće u direktorij/var/log/sa).

dok dstat dodaje neke dodatne značajke funkcionalnosti koju pružaju ti alati, uz više brojača i fleksibilnosti. Cjelokupan opis svakog alata možete pronaći pokretanjem yum info sysstat odnosno yum info dstat ili provjerom pojedinačnih man stranica nakon instalacije.

Da biste instalirali oba paketa:

# yum update && yum install sysstat dstat

Glavna konfiguracijska datoteka za sysstat je/etc/sysconfig/sysstat. U toj ćete datoteci pronaći sljedeće parametre:

# 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"

Kada se instalira sysstat, dodaju se i omogućuju dva cron posla u /etc/cron.d/sysstat. Prvi posao pokreće alat za knjiženje aktivnosti sustava svakih 10 minuta i pohranjuje izvješća u/var/log/sa/saXX gdje je XX dan u mjesecu.

Dakle,/var/log/sa/sa05 sadržavat će sva izvješća o aktivnosti sustava od 5. u mjesecu. To pretpostavlja da koristimo zadanu vrijednost u varijabli POVIJEST u gornjoj konfiguracijskoj datoteci:

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

Drugi posao generira dnevni sažetak obračunavanja procesa svakog dana u 23:53 i pohranjuje ga u/var/log/sa/sarXX datoteke, gdje XX ima isto značenje kao u prethodnom primjeru:

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

Na primjer, možda ćete htjeti prikazati statistiku sustava od 9:30 do 17:30 šestog u mjesecu u .csv datoteku koja se lako može pregledati pomoću LibreOffice Calc ili Microsoft Excel (ovaj pristup će vam također omogućiti da stvoriti grafikone ili grafikone):

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

Alternativno biste mogli upotrijebiti zastavicu -j umjesto -d u gornjoj naredbi sadf za izlaz sistemske statistike u JSON formatu, što bi moglo biti korisno ako, na primjer, trebate potrošiti podatke u web aplikaciji.

Napokon, pogledajmo što dstat nudi. Imajte na umu da ako se pokrene bez argumenata, dstat prema zadanim postavkama pretpostavlja -cdngy (skraćenica za CPU, disk, mrežu, memorijske stranice i statistiku sustava) i dodaje jedan redak svake sekunde (izvršenje se može prekinuti bilo kada Ctrl + C) :

# dstat

Da biste statistiku prikazali u .csv datoteci, upotrijebite oznaku –out izlaz iza koje slijedi ime datoteke. Pogledajmo kako ovo izgleda na LibreOffice Calc:

Toplo vam savjetujem da provjerite man stranicu sysstata u PDF formatu radi lakšeg čitanja. Pronaći ćete nekoliko drugih opcija koje će vam pomoći u stvaranju prilagođenih i detaljnih izvješća o aktivnosti sustava.

Ne propustite: Sysstat - Linux alat za praćenje aktivnosti korištenja

Sažetak

U ovom smo vodiču objasnili kako koristiti i izvorne Linux alate i određene uslužne programe koji se isporučuju s RHEL 7 za izradu izvješća o korištenju sustava. U jednom ili drugom trenutku oslonit ćete se na ove izvještaje kao najbolji prijatelji.

Vjerojatno ste koristili druge alate koje nismo obradili u ovom vodiču. Ako je to slučaj, slobodno ih podijelite s ostatkom zajednice, zajedno s bilo kojim drugim prijedlozima/pitanjima/komentarima, koristeći obrazac u nastavku.

Radujemo se vašem javljanju.