Järjestelmän toimintaraporttien tuottaminen ja toimittaminen Linux-työkalusarjoilla - Osa 3


Järjestelmäsuunnittelijana sinun on usein laadittava raportteja, jotka osoittavat järjestelmäsi resurssien käytön varmistaaksesi, että: 1) niitä hyödynnetään optimaalisesti, 2) estetään pullonkauloja ja 3) varmistetaan muun muassa skaalautuvuus.

Tunnettujen Linuxin alkuperäisten työkalujen lisäksi, joita käytetään levyn, muistin ja prosessorin käytön tarkistamiseen – muutamia esimerkkejä mainitakseni, Red Hat Enterprise Linux 7 tarjoaa kaksi lisätyökalusarjaa, jotka parantavat raportteja varten kerättävien tietojen määrää: sysstat ja dstat.

Tässä artikkelissa kuvataan molemmat, mutta aloitetaan ensin tarkastelemalla klassisten työkalujen käyttöä.

Alkuperäiset Linux-työkalut

df:n avulla voit raportoida tiedostojärjestelmän levytilan ja inode-käytön. Sinun on seurattava molempia, koska tilanpuute estää sinua tallentamasta lisää tiedostoja (ja voi jopa aiheuttaa järjestelmän kaatumisen), aivan kuten inodien loppuminen tarkoittaa, että et voi linkittää muita tiedostoja vastaaviin tietoihin rakenteita, mikä tuottaa saman vaikutuksen: et voi tallentaa näitä tiedostoja levylle.


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-komennolla voit arvioida tiedostotilan käyttöä tiedoston, hakemiston tai tiedostojärjestelmän mukaan.

Katsotaanpa esimerkiksi, kuinka paljon tilaa käyttää /home-hakemisto, joka sisältää kaikki käyttäjän henkilökohtaiset tiedostot. Ensimmäinen komento palauttaa koko /home-hakemiston tällä hetkellä käyttämän tilan, kun taas toinen komento näyttää myös alihakemistoittain hajautetun luettelon:


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

Älä missaa:

  1. 12 df-komentoesimerkkiä Linuxin levytilan käytön tarkistamiseksi
  2. 10 "du"-komentoesimerkkiä tiedostojen/hakemistojen levykäytön löytämiseksi

Toinen apuohjelma, joka ei voi puuttua työkalusarjasta, on vmstat. Sen avulla voit nähdä yhdellä silmäyksellä tiedot prosesseista, suorittimen ja muistin käytöstä, levyn toiminnasta ja muusta.

Jos ajetaan ilman argumentteja, vmstat palauttaa keskiarvot viimeisen uudelleenkäynnistyksen jälkeen. Vaikka voit käyttää tätä komennon muotoa silloin tällöin, on hyödyllisempää ottaa tietty määrä järjestelmän käyttönäytteitä peräkkäin siten, että näytteiden välillä on määrätty aikaero.

Esimerkiksi,


vmstat 5 10

palauttaa 10 näytettä joka 5. sekunti:

Kuten yllä olevasta kuvasta näkyy, vmstatin tulos on jaettu sarakkeilla: pros (prosessit), muisti, swap, >io, järjestelmä ja suoritin. Kunkin kentän merkitys löytyy KENTÄN KUVAUS-osioista vmstat-manuaalisivulla.

Missä vmstat voi olla hyödyllinen? Tarkastellaan järjestelmän toimintaa ennen yum-päivitystä ja sen aikana:


vmstat -a 1 5

Huomaa, että kun levyllä olevia tiedostoja muokataan, aktiivisen muistin määrä kasvaa, samoin kuin levylle kirjoitettujen lohkojen määrä (bo) ja suorittimen aika, joka on omistettu käyttäjien prosesseille (me).

Tai tallennettaessa suurta tiedostoa suoraan levylle (syynä on dsync):


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

Tässä tapauksessa voimme nähdä, että levylle (bo) kirjoitetaan vielä suurempi määrä lohkoja, mikä oli odotettavissa, mutta myös CPU-ajan piteneminen, jota sen on odotettava I/O-toiminnot suoritettavat ennen tehtävien käsittelyä (wa).

Älä missaa: Vmstat – Linuxin suorituskyvyn valvonta

Muut Linux-työkalut

Kuten tämän luvun johdannossa mainittiin, on muita työkaluja, joilla voit tarkistaa järjestelmän tilan ja käytön (niitä ei tarjoa ainoastaan Red Hat, vaan myös muut suuret jakelut niiden virallisesti tukemista arkistot).

sysstat-paketti sisältää seuraavat apuohjelmat:

  1. sar (kerää, raportoi tai tallenna järjestelmän toimintatietoja).
  2. sadf (näytä sar:n keräämät tiedot useissa muodoissa).
  3. mpstat (raportoi prosessoreihin liittyvät tilastot).
  4. iostat (raportoi CPU-tilastot ja I/O-tilastot laitteista ja osioista).
  5. pidstat (Linux-tehtävien tilastoraportti).
  6. nfsiostat (raportoi NFS:n syöttö/tulostustilastot).
  7. cifsiostat (raportoi CIFS-tilastot) ja
  8. sa1 (kerää ja tallenna binaaridataa järjestelmän päivittäiseen toiminnan tietotiedostoon.
  9. sa2 (kirjoita päivittäinen raportti /var/log/sa-hakemistoon) työkalut.

kun taas dstat lisää joitakin lisäominaisuuksia näiden työkalujen tarjoamiin toimintoihin sekä lisää laskureita ja joustavuutta. Löydät yleiskuvauksen jokaisesta työkalusta suorittamalla yum info sysstat tai yum info dstat tai tarkistamalla yksittäiset man-sivut asennuksen jälkeen.

Molempien pakettien asentaminen:


yum update && yum install sysstat dstat

sysstatin päämääritystiedosto on /etc/sysconfig/sysstat. Löydät tiedostosta seuraavat parametrit:


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"

Kun sysstat on asennettu, kaksi cron-työtä lisätään ja otetaan käyttöön osoitteessa /etc/cron.d/sysstat. Ensimmäinen työ suorittaa järjestelmän toimintojen laskentatyökalun 10 minuutin välein ja tallentaa raportit hakemistoon /var/log/sa/saXX, jossa XX on kuukauden päivä.

Siten /var/log/sa/sa05 sisältää kaikki järjestelmän toimintaraportit kuukauden 5. päivästä alkaen. Tämä olettaa, että käytämme yllä olevan määritystiedoston HISTORY-muuttujan oletusarvoa:


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

Toinen työ luo päivittäisen yhteenvedon prosessikirjanpidosta joka päivä klo 23.53 ja tallentaa sen /var/log/sa/sarXX-tiedostoihin, joissa XX on sama merkitys kuin edellisessä esimerkissä:


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

Voit esimerkiksi tulostaa järjestelmätilastot 9.30 ja 17.30 välisenä aikana kuun kuudennen päivän aikana .csv-tiedostoon. > tiedosto, jota voi tarkastella helposti LibreOffice Calcilla tai Microsoft Excelillä (tämän lähestymistavan avulla voit myös luoda kaavioita tai kaavioita):


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

Voit vaihtoehtoisesti käyttää -j-merkkiä -d sijaan yllä olevassa sadf-komennossa järjestelmätilastojen tulostamiseen JSON-muodossa. -muodossa, josta voi olla hyötyä, jos haluat käyttää tietoja esimerkiksi verkkosovelluksessa.

Katsotaan lopuksi, mitä dstat tarjoaa. Huomaa, että jos ajetaan ilman argumentteja, dstat olettaa oletuksena -cdngy (lyhenne sanoista CPU, levy, verkko, muistisivut ja järjestelmätilastot) ja lisää yhden rivi joka sekunti (suoritus voidaan keskeyttää milloin tahansa painamalla Ctrl + C):


dstat

Jos haluat tulostaa tilastot .csv-tiedostoon, käytä –output-lippua ja tiedoston nimeä. Katsotaanpa, miltä tämä näyttää LibreOffice Calcissa:

Suosittelen vahvasti tutustumaan dstatin man-sivuun sekä sysstatin käsikirjasivuun PDF-muodossa lukemisen helpottamiseksi. Löydät useita muita vaihtoehtoja, joiden avulla voit luoda mukautettuja ja yksityiskohtaisia järjestelmän toimintaraportteja.

Älä missaa: Sysstat – Linuxin käyttötoiminnan seurantatyökalu

Yhteenveto

Tässä oppaassa olemme selostaneet, kuinka käyttää sekä alkuperäisiä Linux-työkaluja että tiettyjä RHEL 7:n mukana toimitettuja apuohjelmia järjestelmän käyttöraporttien tuottamiseksi. Jossain vaiheessa tulet luottamaan näihin raportteihin parhaina ystävinä.

Olet todennäköisesti käyttänyt muita työkaluja, joita emme ole käsitelleet tässä opetusohjelmassa. Jos näin on, voit vapaasti jakaa ne muun yhteisön kanssa muiden ehdotusten/kysymysten/kommenttien kanssa alla olevalla lomakkeella.

Me odotamme yhteydenottoasi.