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:
- 12 primjera naredbi 'df' za provjeru korištenja Linux prostora na disku
- 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:
- sar (prikupiti, prijaviti ili sačuvati informacije o aktivnostima sistema).
- sadf (prikaz podataka prikupljenih od strane sar u više formata).
- mpstat (izvještavanje o statistici vezanoj za procesore).
- iostat (izvještaj CPU statistiku i I/O statistiku za uređaje i particije).
- pidstat (izvještaj o statistici za Linux zadatke).
- nfsiostat (izvještaj o statistici ulaza/izlaza za NFS).
- cifsiostat (izvještaj CIFS statistiku) i
- sa1 (prikuplja i pohranjuje binarne podatke u datoteci dnevnih podataka o aktivnostima sistema.
- 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.