Kuinka tuottaa ja toimittaa järjestelmän toimintaraportteja Linux-työkalupaketeilla - osa 3


Järjestelmäinsinöörinä joudut usein tuottamaan raportteja, jotka osoittavat järjestelmän resurssien hyödyntämisen, jotta voidaan varmistaa, että 1) niitä käytetään optimaalisesti, 2) estetään pullonkaulat ja 3) varmistetaan skaalautuvuus muun muassa.

Tunnettujen natiivien Linux-työkalujen lisäksi, joita käytetään levyn, muistin ja suorittimen käytön tarkistamiseen - muutaman esimerkin mainitsemiseksi, Red Hat Enterprise Linux 7 tarjoaa kaksi ylimääräistä työkalupakettia parantamaan raportteihisi kerättäviä tietoja: 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 ilmoittaa levytilan ja inode-käytön tiedostojärjestelmässä. Sinun on seurattava molempia, koska tilan puute estää sinua tallentamasta uusia tiedostoja (ja voi jopa aiheuttaa järjestelmän kaatumisen), aivan kuten inodeiden 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: n avulla voit arvioida tiedostotilan käyttöä joko tiedoston, hakemiston tai tiedostojärjestelmän avulla.

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

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

Älä missaa:

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

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

Jos suoritetaan ilman argumentteja, vmstat palauttaa keskiarvot edellisestä uudelleenkäynnistyksestä. Vaikka voit käyttää tätä komentomuotoa silloin tällöin, on hyödyllisempää ottaa tietty määrä järjestelmän käyttönäytteitä yksi toisensa jälkeen määritellyn aikavälein näytteiden välillä.

Esimerkiksi,

# vmstat 5 10

palauttaa 10 näytettä joka 5. sekunti:

Kuten yllä olevasta kuvasta näet, vmstat-tulos jaetaan sarakkeilla: procs (prosessit), muisti, swap, io, system ja cpu. Kunkin kentän merkitys löytyy VMstatin man-sivun KENTTÄKUVAUS-osioista.

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

# vmstat -a 1 5

Huomaa, että kun tiedostoja muokataan levylle, aktiivisen muistin määrä kasvaa, samoin levylle kirjoitettujen lohkojen määrä (bo) ja käyttäjäprosesseille (meille) varattu suorittimen aika.

Tai tallennettaessa suurta tiedostoa suoraan levylle (aiheuttaa 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 lisääntynyt CPU-aika, jonka sen on odotettava I/O-toimintojen suorittamista ennen käsittelytehtävät (wa).

Älä missaa: Vmstat - Linux Performance Monitoring

Muut Linux-työkalut

Kuten tämän luvun johdannossa mainittiin, on olemassa muita työkaluja, joiden avulla voit tarkistaa järjestelmän tilan ja käytön (niitä ei tarjoa vain Red Hat, vaan myös muut suuret jakelut virallisesti tuetuista arkistoistaan).

Sysstat-paketti sisältää seuraavat apuohjelmat:

  1. sar (kerää, raportoi tai tallenna järjestelmän toimintaa koskevia tietoja).
  2. sadf (näytä sarin keräämät tiedot useissa muodoissa).
  3. mpstat (raportin käsittelijöihin liittyvät tilastot).
  4. iostat (raportoi laitteiden ja osioiden suorittimen ja I/O-tilastot).
  5. pidstat (raportoi Linux-tehtävien tilastot).
  6. nfsiostat (raportoi NFS: n syöttö- ja tuotostilastot).
  7. cifsiostat (raportoi CIFS-tilastot) ja
  8. sa1 (kerää ja tallenna binaaritietoja järjestelmän päivittäiseen datatiedostoon.
  9. sa2 (kirjoita päivittäinen raportti hakemistoon/var/log/sa) työkalut.

kun taas dstat lisää joitain lisäominaisuuksia näiden työkalujen tarjoamaan toimintaan sekä lisää laskureita ja joustavuutta. Löydät yleisen kuvauksen 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ääasetustiedosto on/etc/sysconfig/sysstat. Tiedostosta löydät 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 tiedostossa /etc/cron.d/sysstat. Ensimmäinen työ suorittaa järjestelmän toiminnan kirjanpitotyökalun 10 minuutin välein ja tallentaa raportit kansioon/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 oletusarvoa HISTORY-muuttujassa yllä olevassa määritystiedostossa:

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

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

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

Voit esimerkiksi antaa järjestelmän tilastotiedot kuukauden kuudennesta kello 9.30–17.30 .csv-tiedostoon, jota voidaan helposti tarkastella 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-lippua -d: n sijasta yllä olevassa sadf-komennossa järjestelmän tilastojen tuottamiseksi JSON-muodossa, mikä voi olla hyödyllistä, jos sinun tarvitsee kuluttaa tietoja esimerkiksi verkkosovelluksessa.

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

# dstat

Jos haluat lähettää tilastot .csv-tiedostoon, käytä –output-lippua ja tiedostonimeä. Katsotaanpa, miten tämä näyttää LibreOffice Calcilla:

Kehotan sinua tarkistamaan sysstatin man-sivun PDF-muodossa lukemisen helpottamiseksi. Löydät useita muita vaihtoehtoja, joiden avulla voit luoda mukautettuja ja yksityiskohtaisia järjestelmän toimintaraportteja.

Älä missaa: Sysstat - Linux Usage Activity Monitoring Tool

Yhteenveto

Tässä oppaassa olemme selittäneet, kuinka sekä alkuperäisiä Linux-työkaluja että RHEL 7: n mukana toimitettuja apuohjelmia voidaan käyttää raporttien tuottamiseen järjestelmän käytöstä. Yhdessä tai toisessa vaiheessa luotat näihin raportteihin parhaimpina ystävinä.

Olet todennäköisesti käyttänyt muita työkaluja, joita emme ole käsitelleet tässä opetusohjelmassa. Jos on, jaa ne vapaasti muun yhteisön kanssa mahdollisten muiden ehdotusten/kysymysten/kommenttien kanssa alla olevan lomakkeen avulla.

Me odotamme yhteydenottoasi.