Wéi produzéiert a liwwert Systemaktivitéitsberichter mat Linux Toolsets - Deel 3


Als Systemingenieur musst Dir dacks Berichter produzéieren déi d'Notzung vun Äre Systemressourcen weisen fir sécherzestellen datt: 1) se optimal genotzt ginn, 2) Flaschenhals verhënneren, an 3) Skalierbarkeet garantéieren, ënner anerem Grënn.

Nieft de bekannten native Linux Tools, déi benotzt gi fir Disk, Memory an CPU Notzung ze kontrolléieren - fir e puer Beispiller ze nennen, Red Hat Enterprise Linux 7 bitt zwee zousätzlech Toolsets fir d'Donnéeën ze verbesseren, déi Dir fir Är Berichter sammele kënnt: sysstat an dstat .

An dësem Artikel wäerte mir béid beschreiwen, awer loosst eis als éischt ufänken andeems Dir d'Benotzung vun de klassesche Tools iwwerpréift.

Native Linux Tools

Mat df kënnt Dir Disk Space an Inode Notzung vum Dateiesystem berichten. Dir musst béid iwwerwaachen, well e Mangel u Plaz verhënnert datt Dir weider Dateien späichere kënnt (a vläicht souguer de System verursaachen), sou wéi d'Inoden auslafen heescht datt Dir keng weider Dateie mat hiren entspriechende Donnéeën verbënnt Strukturen, sou datt dee selwechten Effekt produzéiert gëtt: Dir kënnt dës Dateien net op Disk späicheren.

# 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]

Mat du, kënnt Dir Dateiraumverbrauch duerch entweder Datei, Verzeechnes oder Dateiesystem schätzen.

Zum Beispill, loosst eis kucken wéi vill Plaz vum /home Verzeechnes benotzt gëtt, deen all perséinlech Dateie vum Benotzer enthält. Den éischte Kommando wäert de Gesamtraum zréckginn, dee momentan vum ganzen/Heem Verzeichnis benotzt gëtt, wärend deen zweeten och eng disaggregert Lëscht duerch Ënnerverzeechnes weist:

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

Verpasst net:

  1. 12 'df' Kommando Beispiller fir d'Linux Disk Space Notzung ze kontrolléieren
  2. 10 'du' Kommando Beispiller fir Disk Notzung vu Dateien/Verzeichnungen ze fannen

En aneren Utility deen net aus Ärem Toolset fehle kann ass vmstat. Et erlaabt Iech op ee séiere Bléck Informatioun iwwer Prozesser, CPU an Erënnerungsverbrauch, Disk Aktivitéit a méi ze gesinn.

Wann ouni Argumenter lafen, gëtt vmstat Duerchschnëtt zënter dem leschte Restart zréck. Wärend Dir dës Form vum Kommando eemol an enger Zäit benotze kënnt, wäert et méi hëllefräich sinn eng gewëssen Unzuel u Systemverbrauchsproben ze huelen, een nom aneren, mat enger definéierter Zäittrennung tëscht Proben.

Zum Beispill,

# vmstat 5 10

wäert 10 Proben all 5 Sekonnen zréckginn:

Wéi Dir am Bild hei uewen gesitt, ass d'Ausgab vu vmstat duerch Kolonnen gedeelt: procs (Prozesser), Erënnerung, Swap, io, System a CPU. D'Bedeitung vun all Feld kann an der FIELD DESCRIPTIOUN Rubriken an der Man Säit vun vmstat fonnt ginn.

Wou kann vmstat praktesch kommen? Loosst eis d'Behuele vum System virun a wärend engem Yum Update ënnersichen:

# vmstat -a 1 5

Notéiert w.e.g. datt wann d'Dateien op der Disk geännert ginn, de Betrag vum aktive Gedächtnis eropgeet an och d'Zuel vun de Blocken, déi op Disk geschriwwe sinn (bo) an d'CPU Zäit, déi fir Benotzerprozesser (eis) gewidmet ass.

Oder während dem Spuerprozess vun enger grousser Datei direkt op Disk (verursaacht duerch dsync):

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

An dësem Fall kënne mir eng nach méi grouss Zuel vu Blocks gesinn, déi op Disk (bo) geschriwwe ginn, wat ze erwaarden war, awer och eng Erhéijung vun der Quantitéit vun der CPU Zäit, déi et muss waarden bis I/O Operatiounen fäerdeg sinn ier Veraarbechtungsaufgaben (wa).

Verpasst net: Vmstat - Linux Performance Monitoring

Aner Linux Tools

Wéi an der Aféierung vun dësem Kapitel ernimmt, ginn et aner Tools déi Dir benotze kënnt fir de Systemstatus an d'Notzung ze kontrolléieren (se ginn net nëmme vu Red Hat geliwwert, awer och vun anere grousse Verdeelungen vun hiren offiziell ënnerstëtzte Repositories).

De Sysstat Package enthält déi folgend Utilities:

  1. sar (sammelen, mellen oder späicheren Systemaktivitéitsinformatioun).
  2. sadf (weisen Daten gesammelt vu sar a verschidde Formater).
  3. mpstat (Statistiken iwwer Veraarbechter mellen).
  4. iostat (CPU-Statistiken an I/O-Statistike fir Apparater a Partitionen mellen).
  5. pidstat (Statistike Rapport fir Linux Aufgaben).
  6. nfsiostat (Input-/Outputstatistike fir NFS mellen).
  7. cifsiostat (bericht CIFS Statistiken) an
  8. sa1 (sammelt a späichert binär Donnéeën an der Systemaktivitéit alldeeglechen Datendatei.
  9. sa2 (schreiwen en deegleche Bericht am /var/log/sa Verzeichnis) Tools.

wärend dstat e puer extra Feature fir d'Funktionalitéit vun dësen Tools bäidréit, zesumme mat méi Teller a Flexibilitéit. Dir kënnt eng allgemeng Beschreiwung vun all Tool fannen andeems Dir yum info sysstat oder yum info dstat bzw.

Fir béid Packagen z'installéieren:

# yum update && yum install sysstat dstat

D'Haaptkonfiguratiounsdatei fir sysstat ass /etc/sysconfig/sysstat. Dir fannt déi folgend Parameteren an där Datei:

# 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"

Wann sysstat installéiert ass, ginn zwee Cron Jobs dobäigesat an aktivéiert an /etc/cron.d/sysstat. Déi éischt Aarbecht leeft d'Systemaktivitéiten Accounting Tool all 10 Minutten a späichert d'Rapporten an /var/log/sa/saXX wou XX den Dag vum Mount ass.

Also, /var/log/sa/sa05 enthält all Systemaktivitéitsberichter vum 5. vum Mount. Dëst gëtt ugeholl datt mir de Standardwäert an der HISTORY Variabel an der Konfiguratiounsdatei hei uewen benotzen:

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

Déi zweet Aarbecht generéiert all Dag en deegleche Resumé vun der Prozessrechnung um 23:53 Auer a späichert et an /var/log/sa/sarXX Dateien, wou XX déi selwecht Bedeitung huet wéi am virege Beispill:

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

Zum Beispill wëllt Dir Systemstatistike vun 9:30 bis 17:30 vum sechsten vum Mount op eng .csv-Datei ausginn, déi einfach mat LibreOffice Calc oder Microsoft Excel gekuckt ka ginn (dës Approche erlaabt Iech och erstellen Charts oder Grafike):

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

Dir kënnt alternativ den -j Fändel benotzen anstatt -d am sadf Kommando hei uewen fir d'Systemstatistiken am JSON Format auszeginn, wat nëtzlech ka sinn wann Dir d'Donnéeën an enger Webapplikatioun konsuméiere musst, zum Beispill.

Endlech, loosst eis kucken wat dstat ze bidden huet. Notéiert w.e.g. datt wann Dir ouni Argumenter leeft, dstat als Standard -cdngy iwwerhëlt (kuerz fir CPU, Disk, Netzwierk, Erënnerungssäiten a Systemstatistiken, respektiv), a füügt eng Zeil all Sekonn un (Ausféierung kann zu all Moment mat Ctrl + C ënnerbrach ginn) :

# dstat

Fir d'Statistiken op eng .csv Datei auszeginn, benotzt den –output Fändel gefollegt vun engem Dateinumm. Loosst eis kucken wéi dëst op LibreOffice Calc ausgesäit:

Ech roden Iech staark d'Man-Säit vu sysstat am PDF-Format ze kontrolléieren fir Är Liesbequemlechkeet. Dir fannt e puer aner Optiounen, déi Iech hëllefen, personaliséiert an detailléiert Systemaktivitéitsberichter ze kreéieren.

Verpasst net: Sysstat - Linux Usage Activity Monitoring Tool

Resumé

An dësem Guide hu mir erkläert wéi Dir béid gebierteg Linux Tools a spezifesch Utilities benotzt, déi mat RHEL 7 geliwwert ginn, fir Berichter iwwer d'Systemnotzung ze produzéieren. Op een oder anere Punkt wäert Dir op dës Berichter als bescht Frënn vertrauen.

Dir wäert wahrscheinlech aner Tools benotzt hunn, déi mir net an dësem Tutorial ofgedeckt hunn. Wann jo, fillt Iech gratis se mat dem Rescht vun der Gemeinschaft ze deelen zesumme mat all aner Virschléi/Froen/Kommentaren déi Dir hutt - andeems Dir de Formulaire hei drënner benotzt.

Mir freeën eis vun Iech ze héieren.