Rendszertevékenységi jelentések készítése és kézbesítése Linux eszközkészletekkel – 3. rész
Rendszermérnökként gyakran kell olyan jelentéseket készítenie, amelyek bemutatják rendszere erőforrásainak kihasználását, hogy megbizonyosodjon a következőkről: 1) azok optimális kihasználása, 2) a szűk keresztmetszetek elkerülése és 3) a skálázhatóság biztosítása, többek között.
A jól ismert natív Linux-eszközökön kívül, amelyeket a lemez-, memória- és CPU-használat ellenőrzésére használnak – hogy csak néhány példát említsünk, a Red Hat Enterprise Linux 7 két további eszközkészletet is kínál a jelentésekhez gyűjthető adatok bővítésére: sysstat és dstat.
Ebben a cikkben mindkettőt leírjuk, de először kezdjük a klasszikus eszközök használatának áttekintésével.
Natív Linux-eszközök
A df segítségével jelentést tehet a lemezterületről és a fájlrendszer inode-használatáról. Mindkettőt figyelnie kell, mert a helyhiány miatt nem tud további fájlokat menteni (és akár a rendszer összeomlását is okozhatja), ahogyan az inode-ok elfogyása azt jelenti, hogy nem tud további fájlokat összekapcsolni a megfelelő adatokkal. struktúrákat, így ugyanazt a hatást produkálja: ezeket a fájlokat nem tudja majd lemezre menteni.
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]
A du segítségével megbecsülheti a fájlterület-használatot fájl, könyvtár vagy fájlrendszer szerint.
Például nézzük meg, mennyi helyet foglal el a /home könyvtár, amely a felhasználó összes személyes fájlját tartalmazza. Az első parancs a teljes /home könyvtár által jelenleg használt teljes területet adja vissza, míg a második egy alkönyvtárra bontott listát is megjelenít:
du -sch /home
du -sch /home/*
Ne hagyd ki:
- 12 „df” parancspélda a Linux lemezterület használatának ellenőrzésére
- 10 „du” parancs példa a fájlok/könyvtárak lemezhasználatának megkeresésére
Egy másik segédprogram, amely nem hiányozhat az eszközkészletből, a vmstat. Gyors pillantással megtekintheti a folyamatokról, a CPU- és memóriahasználatról, a lemeztevékenységről és egyebekről szóló információkat.
Ha argumentumok nélkül fut, a vmstat az utolsó újraindítás óta számított átlagokat adja vissza. Bár a parancsnak ezt a formáját időnként használhatja, hasznosabb lesz, ha egymás után vesz egy bizonyos mennyiségű rendszerhasználati mintát, a minták meghatározott időbeli elválasztásával.
Például,
vmstat 5 10
5 másodpercenként 10 mintát küld vissza:
Amint a fenti képen látható, a vmstat kimenete oszlopokra van osztva: procs (folyamatok), memória, csere, >io, rendszer és cpu. Az egyes mezők jelentése a FIELD DESCRIPTION szakaszokban található a vmstat kézikönyvoldalán.
Hol jöhet jól a vmstat? Vizsgáljuk meg a rendszer viselkedését a yum frissítés előtt és közben:
vmstat -a 1 5
Kérjük, vegye figyelembe, hogy a lemezen lévő fájlok módosításával növekszik az aktív memória mennyisége, valamint a lemezre írt blokkok száma (bo) és a CPU-idő. a felhasználói folyamatoknak szentelve (mi).
Vagy egy nagy fájl közvetlenül a lemezre mentése során (a dsync okozta):
vmstat -a 1 5
dd if=/dev/zero of=dummy.out bs=1M count=1000 oflag=dsync
Ebben az esetben azt láthatjuk, hogy a (bo) lemezre még több blokk íródik, ami várható volt, de a CPU várakozási idejének növekedése is. A feladatok feldolgozása előtt végrehajtandó I/O műveletek (wa).
Ne hagyd ki: Vmstat – Linux teljesítményfigyelés
Egyéb Linux-eszközök
Amint a fejezet bevezetőjében említettük, vannak más eszközök is, amelyek segítségével ellenőrizheti a rendszer állapotát és kihasználtságát (ezeket nem csak a Red Hat biztosítja, hanem a hivatalosan támogatott egyéb nagyobb disztribúciók is. adattárak).
A sysstat csomag a következő segédprogramokat tartalmazza:
- sar (rendszertevékenység-információk gyűjtése, jelentése vagy mentése).
- sadf (a sar által gyűjtött adatok megjelenítése többféle formátumban).
- mpstat (feldolgozókkal kapcsolatos statisztikák jelentése).
- iostat (az eszközök és partíciók CPU-statisztikáinak és I/O-statisztikáinak jelentése).
- pidstat (statisztikai jelentés a Linux-feladatokhoz).
- nfsiostat (bemeneti/kimeneti statisztikák az NFS-hez).
- cifsiostat (CIFS statisztikák jelentése) és
- sa1 (bináris adatok gyűjtése és tárolása a rendszertevékenység napi adatfájljában.
- sa2 (írjon napi jelentést a /var/log/sa könyvtárba) eszközök.
míg a dstat néhány extra funkciót ad az eszközök által biztosított funkciókhoz, valamint több számlálót és rugalmasságot. Az egyes eszközök átfogó leírását megtalálhatja a yum info sysstat vagy a yum info dstat futtatásával, vagy a telepítés után az egyes kézikönyvoldalak ellenőrzésével.
Mindkét csomag telepítéséhez:
yum update && yum install sysstat dstat
A sysstat fő konfigurációs fájlja az /etc/sysconfig/sysstat. Ebben a fájlban a következő paramétereket találja:
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"
Ha a sysstat telepítve van, a rendszer két cron-feladatot ad hozzá és engedélyezi az /etc/cron.d/sysstat mappában. Az első feladat 10 percenként futtatja a rendszertevékenység-számláló eszközt, és a jelentéseket a /var/log/sa/saXX helyen tárolja, ahol az XX a a hónap napja.
Így a /var/log/sa/sa05 tartalmazza az összes rendszertevékenység-jelentést a hónap 5. napjától. Ez azt feltételezi, hogy a fenti konfigurációs fájl HISTORY változójának alapértelmezett értékét használjuk:
*/10 * * * * root /usr/lib64/sa/sa1 1 1
A második feladat minden nap 23:53-kor készít egy összefoglalót a folyamatkönyvelésről, és /var/log/sa/sarXX fájlokban tárolja, ahol a XX. jelentése ugyanaz, mint az előző példában:
53 23 * * * root /usr/lib64/sa/sa2 -A
Előfordulhat például, hogy a rendszerstatisztikát a hónap hatodikának 9:30 és 17:30 között .csv formátumban szeretné megjeleníteni. > fájl, amely könnyen megtekinthető a LibreOffice Calc vagy a Microsoft Excel segítségével (ez a megközelítés lehetővé teszi diagramok vagy grafikonok létrehozását is):
sadf -s 09:30:00 -e 17:30:00 -dh /var/log/sa/sa06 -- | sed 's/;/,/g' > system_stats20150806.csv
Alternatív megoldásként használhatja a -j jelzőt a -d helyett a fenti sadf parancsban a rendszerstatisztikák JSON formátumban történő kiadásához. formátumban, ami akkor lehet hasznos, ha például egy webalkalmazásban kell felhasználnia az adatokat.
Végül nézzük meg, mit kínál a dstat. Kérjük, vegye figyelembe, hogy ha argumentumok nélkül fut, a dstat alapértelmezés szerint a -cdngy elemet feltételezi (a CPU, lemez, hálózat, memórialapok és rendszerstatisztikák rövidítése), és hozzáad egyet. sor másodpercenként (a végrehajtás bármikor megszakítható a Ctrl + C billentyűkombinációval):
dstat
A statisztikák .csv fájlba történő kiadásához használja a –output jelzőt, majd egy fájlnevet. Nézzük meg, hogyan néz ki ez a LibreOffice Calc:
Nyomatékosan azt tanácsolom, hogy az olvasás megkönnyítése érdekében nézze meg a dstat kézikönyvoldalát és a sysstat kézikönyvoldalát PDF formátumban. Számos egyéb lehetőséget is talál, amelyek segítenek egyéni és részletes rendszertevékenység-jelentések létrehozásában.
Ne hagyja ki: Sysstat – Linux használati tevékenység figyelő eszköz
Összegzés
Ebben az útmutatóban elmagyaráztuk, hogyan használhatjuk mind a natív Linux-eszközöket, mind az RHEL 7 által biztosított speciális segédprogramokat a rendszerhasználatról szóló jelentések készítéséhez. Egyik vagy másik ponton a legjobb barátokként fogsz ezekre a jelentésekre hagyatkozni.
Valószínűleg más eszközöket is használt, amelyekkel ebben az oktatóanyagban nem foglalkoztunk. Ha igen, nyugodtan ossza meg őket a közösség többi tagjával, valamint bármilyen egyéb javaslatot/kérdést/megjegyzést is – az alábbi űrlap segítségével.
Várom válaszukat.