Zoeken op website

Systeemactiviteitsrapporten produceren en leveren met Linux Toolsets - Deel 3


Als systeemingenieur zult u vaak rapporten moeten opstellen die het gebruik van de systeembronnen aantonen om er zeker van te zijn dat: 1) ze optimaal worden benut, 2) knelpunten worden voorkomen en 3) onder andere de schaalbaarheid wordt gegarandeerd.

Naast de bekende native Linux-tools die worden gebruikt om schijf-, geheugen- en CPU-gebruik te controleren – om maar een paar voorbeelden te noemen, biedt Red Hat Enterprise Linux 7 twee extra toolsets om de gegevens die je voor je rapporten kunt verzamelen te verbeteren: sysstat en dstat.

In dit artikel zullen we beide beschrijven, maar laten we eerst beginnen met het bekijken van het gebruik van de klassieke tools.

Native Linux-hulpmiddelen

Met df kunt u schijfruimte en inodegebruik per bestandssysteem rapporteren. Je moet beide in de gaten houden, omdat een gebrek aan ruimte je ervan weerhoudt om nog meer bestanden op te slaan (en er zelfs voor kan zorgen dat het systeem crasht), net zoals het opraken van de inodes betekent dat je geen verdere bestanden met de bijbehorende gegevens kunt koppelen. structuren, waardoor hetzelfde effect ontstaat: u kunt deze bestanden niet op schijf opslaan.


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]

Met du kunt u het gebruik van de bestandsruimte schatten per bestand, directory of bestandssysteem.

Laten we bijvoorbeeld eens kijken hoeveel ruimte wordt gebruikt door de map /home, die alle persoonlijke bestanden van de gebruiker bevat. Het eerste commando retourneert de totale ruimte die momenteel wordt gebruikt door de volledige map /home, terwijl het tweede ook een opgesplitste lijst per submap weergeeft:


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

Mis het niet:

  1. 12 ‘df’-opdrachtvoorbeelden om het gebruik van Linux-schijfruimte te controleren
  2. 10 ‘du’-opdrachtvoorbeelden om schijfgebruik van bestanden/mappen te vinden

Een ander hulpprogramma dat niet mag ontbreken in uw toolset is vmstat. Hiermee kunt u in één oogopslag informatie zien over processen, CPU- en geheugengebruik, schijfactiviteit en meer.

Als vmstat zonder argumenten wordt uitgevoerd, retourneert het gemiddelden sinds de laatste herstart. Hoewel u deze vorm van de opdracht af en toe kunt gebruiken, is het nuttiger om een bepaald aantal systeemgebruiksmonsters de een na de ander te nemen, met een gedefinieerd tijdsverschil tussen de monsters.

Bijvoorbeeld,


vmstat 5 10

retourneert 10 monsters die elke 5 seconden zijn genomen:

Zoals je in de bovenstaande afbeelding kunt zien, is de uitvoer van vmstat verdeeld in kolommen: procs (processen), geheugen, swap, io, systeem en cpu. De betekenis van elk veld kunt u vinden in de secties VELDBESCHRIJVING op de manpagina van vmstat.

Waar kan vmstat van pas komen? Laten we het gedrag van het systeem voor en tijdens een yum-update onderzoeken:


vmstat -a 1 5

Houd er rekening mee dat wanneer bestanden op schijf worden gewijzigd, de hoeveelheid actief geheugen toeneemt, evenals het aantal blokken dat naar schijf (bo) wordt geschreven en de CPU-tijd die daarbij wordt gebruikt. gewijd aan gebruikersprocessen (ons).

Of tijdens het opslaan van een groot bestand rechtstreeks naar schijf (veroorzaakt door dsync):


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

In dit geval zien we dat er een nog groter aantal blokken naar schijf (bo) wordt geschreven, wat te verwachten was, maar ook een toename van de hoeveelheid CPU-tijd waarop moet worden gewacht I/O-bewerkingen moeten worden voltooid voordat taken (wa) worden verwerkt.

Mis het niet: Vmstat – Linux-prestatiemonitoring

Andere Linux-hulpmiddelen

Zoals vermeld in de inleiding van dit hoofdstuk, zijn er andere hulpmiddelen die u kunt gebruiken om de systeemstatus en het gebruik ervan te controleren (ze worden niet alleen geleverd door Red Hat maar ook door andere grote distributies van hun officieel ondersteunde versies). opslagplaatsen).

Het sysstat pakket bevat de volgende hulpprogramma's:

  1. sar (informatie over systeemactiviteit verzamelen, rapporteren of opslaan).
  2. sadf (geef gegevens verzameld door sar in meerdere formaten weer).
  3. mpstat (rapportverwerkersgerelateerde statistieken).
  4. iostat (rapporteer CPU-statistieken en I/O-statistieken voor apparaten en partities).
  5. pidstat (rapportstatistieken voor Linux-taken).
  6. nfsiostat (rapporteer invoer-/uitvoerstatistieken voor NFS).
  7. cifsiostat (rapporteer CIFS-statistieken) en
  8. sa1 (verzamel en bewaar binaire gegevens in het dagelijkse gegevensbestand van de systeemactiviteit.
  9. sa2 (schrijf een dagelijks rapport in de map /var/log/sa) tools.

terwijl dstat een aantal extra functies toevoegt aan de functionaliteit van deze tools, samen met meer tellers en flexibiliteit. Je kunt een algemene beschrijving van elke tool vinden door respectievelijk yum info sysstat of yum info dstat uit te voeren, of door de individuele manpagina's na de installatie te controleren.

Om beide pakketten te installeren:


yum update && yum install sysstat dstat

Het belangrijkste configuratiebestand voor sysstat is /etc/sysconfig/sysstat. In dat bestand vindt u de volgende parameters:


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"

Wanneer sysstat is geïnstalleerd, worden twee cron-taken toegevoegd en ingeschakeld in /etc/cron.d/sysstat. De eerste taak voert elke 10 minuten de boekhoudtool voor systeemactiviteiten uit en slaat de rapporten op in /var/log/sa/saXX waarbij XX de dag van de maand.

/var/log/sa/sa05 bevat dus alle systeemactiviteitsrapporten vanaf de 5e van de maand. Hierbij wordt ervan uitgegaan dat we de standaardwaarde gebruiken in de HISTORY variabele in het bovenstaande configuratiebestand:


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

De tweede taak genereert elke dag om 23:53 uur een dagelijkse samenvatting van de procesboekhouding en slaat deze op in /var/log/sa/sarXX bestanden, waarbij XX heeft dezelfde betekenis als in het vorige voorbeeld:


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

U wilt bijvoorbeeld systeemstatistieken van 9:30 uur tot en met 17:30 uur van de zesde van de maand uitvoeren naar een .csv > bestand dat gemakkelijk kan worden bekeken met LibreOffice Calc of Microsoft Excel (met deze aanpak kunt u ook diagrammen of grafieken maken):


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

U kunt ook de vlag -j gebruiken in plaats van -d in het sadf-commando hierboven om de systeemstatistieken uit te voeren in JSON-formaat, wat handig kan zijn als u de gegevens bijvoorbeeld in een webapplicatie moet gebruiken.

Laten we tot slot eens kijken wat dstat te bieden heeft. Houd er rekening mee dat dstat, als het zonder argumenten wordt uitgevoerd, standaard -cdngy aanneemt (afkorting voor respectievelijk CPU, schijf, netwerk, geheugenpagina's en systeemstatistieken) en er een toevoegt regel elke seconde (de uitvoering kan op elk moment worden onderbroken met Ctrl + C):


dstat

Om de statistieken naar een .csv bestand uit te voeren, gebruikt u de vlag –output gevolgd door een bestandsnaam. Laten we eens kijken hoe dit eruit ziet in LibreOffice Calc:

Voor uw leesgemak raad ik u ten zeerste aan om de manpagina van dstat samen met de manpagina van sysstat in PDF-formaat te bekijken. U zult verschillende andere opties vinden waarmee u aangepaste en gedetailleerde systeemactiviteitsrapporten kunt maken.

Mis het niet: Sysstat – Linux-gebruiksactiviteitmonitoringtool

Samenvatting

In deze handleiding hebben we uitgelegd hoe u zowel native Linux-tools als specifieke hulpprogramma's die bij RHEL 7 worden geleverd, kunt gebruiken om rapporten over het systeemgebruik te produceren. Op een gegeven moment zul je als beste vrienden op deze rapporten gaan vertrouwen.

Je hebt waarschijnlijk andere tools gebruikt die we niet in deze tutorial hebben behandeld. Zo ja, deel ze dan gerust met de rest van de gemeenschap, samen met eventuele andere suggesties/vragen/opmerkingen die u heeft, via het onderstaande formulier.

Wij kijken ernaar uit om van u te horen.