Kako proizvoditi i dostavljati izvještaje o aktivnostima sistema koristeći Linux skupove alata - 3. dio


Kao sistem inženjer, često ćete morati da pravite izveštaje koji pokazuju iskorišćenost resursa vašeg sistema kako biste bili sigurni da: 1) se koriste optimalno, 2) da sprečite uska grla i 3) da obezbedite skalabilnost, između ostalih razloga.

Osim dobro poznatih izvornih Linux alata koji se koriste za provjeru korištenja 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 svoje izvještaje: sysstat i dstat.

U ovom članku ćemo opisati oba, ali počnimo s pregledom upotrebe klasičnih alata.

Izvorni Linux alati

Sa df, moći ćete prijaviti korištenje prostora na disku i inode po sistemu datoteka. Morate pratiti oba jer će vas nedostatak prostora spriječiti da budete u mogućnosti da sačuvate dalje datoteke (i može čak uzrokovati pad sistema), baš kao što će vam ponestane inode značiti da ne možete povezati dalje datoteke s njihovim odgovarajućim podacima strukture, što proizvodi isti efekat: nećete moći da sačuvate 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]

Sa du, možete procijeniti upotrebu prostora datoteke prema datoteci, direktoriju ili sistemu datoteka.

Na primjer, da vidimo koliko prostora koristi /home direktorij, koji uključuje sve lične datoteke korisnika. Prva naredba će vratiti ukupan prostor koji trenutno koristi cijeli /home direktorij, dok će druga također prikazati raščlanjenu listu po poddirektorijumu:


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

Ne propustite:

  1. 12 primjera naredbi 'df' za provjeru korištenja Linux prostora na disku
  2. 10 primjera naredbi 'du' za pronalaženje korištenja diska za datoteke/direktorije

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

Ako se pokrene bez argumenata, vmstat će vratiti prosjek od posljednjeg ponovnog pokretanja. Iako ovaj oblik naredbe možete koristiti s vremena na vrijeme, bit će korisnije uzeti određenu količinu uzoraka korištenja sistema, jedan za drugim, sa definiranim vremenskim razmakom između uzoraka.

Na primjer,


vmstat 5 10

će vratiti 10 uzoraka uzetih svakih 5 sekundi:

Kao što možete vidjeti na gornjoj slici, izlaz vmstat podijeljen je po kolonama: proces (procesi), memory, swap, io, sistem i cpu. Značenje svakog polja može se naći u odjeljcima OPIS POLJA na stranici man za vmstat.

Gdje može biti od koristi vmstat? Hajde da ispitamo ponašanje sistema prije i tokom yum ažuriranja:


vmstat -a 1 5

Imajte na umu da kako se datoteke modificiraju na disku, količina aktivne memorije se povećava, kao i broj blokova upisanih na disk (bo) i CPU vrijeme koje je posvećeno korisničkim procesima (nas).

Ili tokom procesa spremanja velike datoteke direktno na disk (uzrokuje dsync):


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 upisuju na disk (bo), što je bilo i očekivano, ali i povećanje količine CPU vremena koje mora čekati I/O operacije za dovršenje prije obrade zadataka (wa).

Ne propustite: Vmstat – Monitoring performansi Linuxa

Ostali Linux alati

Kao što je spomenuto u uvodu ovog poglavlja, postoje i drugi alati koje možete koristiti za provjeru statusa i korištenja sistema (ne pruža ih samo Red Hat već i druge velike distribucije iz njihovih službeno podržanih spremišta).

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

  1. sar (prikupiti, prijaviti ili sačuvati informacije o aktivnostima sistema).
  2. sadf (prikaz podataka prikupljenih od strane sar u više formata).
  3. mpstat (izvještavanje o statistici vezanoj za procesore).
  4. iostat (izvještaj CPU statistiku i I/O statistiku za uređaje i particije).
  5. pidstat (izvještaj o statistici za Linux zadatke).
  6. nfsiostat (izvještaj o statistici ulaza/izlaza za NFS).
  7. cifsiostat (izvještaj CIFS statistiku) i
  8. sa1 (prikuplja i pohranjuje binarne podatke u datoteci dnevnih podataka o aktivnostima sistema.
  9. sa2 (napišite dnevni izvještaj u /var/log/sa direktorij) alati.

dok dstat dodaje neke dodatne karakteristike funkcionalnosti koju pružaju ti alati, zajedno sa više brojača i fleksibilnosti. Opći opis svakog alata možete pronaći tako što ćete pokrenuti yum info sysstat ili yum info dstat, respektivno, ili provjeriti pojedinačne man stranice nakon instalacije.

Da instalirate oba paketa:


yum update && yum install sysstat dstat

Glavni konfiguracijski fajl za sysstat je /etc/sysconfig/sysstat. U toj datoteci ćete 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 je sysstat instaliran, dva cron posla se dodaju i omogućavaju u /etc/cron.d/sysstat. Prvi posao pokreće alat za obračun aktivnosti sistema svakih 10 minuta i pohranjuje izvještaje u /var/log/sa/saXX gdje je XX dan u mjesecu.

Dakle, /var/log/sa/sa05 će sadržavati sve izvještaje o aktivnostima sistema od 5. u mjesecu. Ovo pretpostavlja da koristimo zadanu vrijednost u varijabli HISTORY u konfiguracijskoj datoteci iznad:


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

Drugi posao generiše dnevni sažetak računovodstva procesa u 23:53 svakog dana i pohranjuje ga u datoteke /var/log/sa/sarXX, gdje je XX ima isto značenje kao u prethodnom primjeru:


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

Na primjer, možda ćete htjeti poslati statistiku sistema od 9:30 ujutro do 17:30 šestog u mjesecu u .csv > fajl koji se lako može pregledati pomoću LibreOffice Calc ili Microsoft Excel (ovaj pristup će vam također omogućiti da kreirate grafikone ili grafikone):


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

Alternativno, možete koristiti -j zastavicu umjesto -d u gornjoj naredbi sadf za ispis sistemske statistike u JSONu formatu, koji bi mogao biti koristan ako trebate konzumirati podatke u web aplikaciji, na primjer.

Na kraju, da vidimo šta dstat može ponuditi. Imajte na umu da ako se pokrene bez argumenata, dstat pretpostavlja -cdngy prema zadanim postavkama (skraćeno za CPU, disk, mrežu, memorijske stranice i sistemske statistike, respektivno) i dodaje jednu red svake sekunde (izvršenje se može prekinuti bilo kada pomoću Ctrl + C):


dstat

Za izlaz statistike u datoteku .csv, koristite oznaku –output nakon koje slijedi naziv datoteke. Pogledajmo kako ovo izgleda na LibreOffice Calc:

Preporučujem vam da pogledate man stranicu za dstat zajedno sa man stranicom za sysstat u PDF formatu radi lakšeg čitanja. Naći ćete nekoliko drugih opcija koje će vam pomoći da kreirate prilagođene i detaljne izvještaje o aktivnostima sistema.

Ne propustite: Sysstat – alat za praćenje aktivnosti korištenja Linuxa

Sažetak

U ovom vodiču smo objasnili kako koristiti i izvorne Linux alate i specifične uslužne programe koji se isporučuju sa RHEL 7 da bismo napravili izvještaje o korištenju sistema. U jednom ili drugom trenutku ćete se osloniti na ove izvještaje kao najbolji prijatelji.

Vjerovatno ste koristili druge alate koje nismo pokrili u ovom vodiču. Ako je tako, slobodno ih podijelite sa ostatkom zajednice zajedno sa svim drugim prijedlozima/pitanjima/komentarima koje imate – koristeći formu ispod.

Radujemo se Vašem odgovoru.