Vyhledávání na webu

Jak vytvářet a doručovat zprávy o činnosti systému pomocí sad nástrojů Linux – část 3


Jako systémový inženýr budete často muset vytvářet sestavy, které ukazují využití zdrojů vašeho systému, abyste se ujistili, že: 1) jsou využívány optimálně, 2) zabraňují úzkým místům a 3) zajišťují škálovatelnost, mimo jiné.

Kromě dobře známých nativních linuxových nástrojů, které se používají ke kontrole využití disku, paměti a CPU – abychom jmenovali několik příkladů, Red Hat Enterprise Linux 7 poskytuje dvě další sady nástrojů pro vylepšení dat, která můžete shromažďovat pro své sestavy: sysstat a dstat.

V tomto článku popíšeme oba, ale začněme nejprve přezkoumáním použití klasických nástrojů.

Nativní nástroje pro Linux

S df budete moci hlásit využití místa na disku a inode systémem souborů. Musíte sledovat obojí, protože nedostatek místa vám zabrání ukládat další soubory (a může dokonce způsobit zhroucení systému), stejně jako nedostatek inodů znamená, že nebudete moci propojit další soubory s jejich odpovídajícími daty. struktur, čímž se dosáhne stejného efektu: tyto soubory nebudete moci uložit na disk.


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]

Pomocí du můžete odhadnout využití prostoru pro soubory buď souborem, adresářem nebo souborovým systémem.

Podívejme se například, kolik místa zabírá adresář /home, který obsahuje všechny osobní soubory uživatele. První příkaz vrátí celkový prostor aktuálně využívaný celým adresářem /home, zatímco druhý také zobrazí rozčleněný seznam podle podadresářů:


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

Nepřehlédněte:

  1. 12 příkladů příkazů „df“ ke kontrole využití místa na disku Linuxu
  2. 10 příkladů příkazů „du“ k nalezení využití disku pro soubory/adresáře

Další nástroj, který nesmí chybět ve vaší sadě nástrojů, je vmstat. Umožní vám to rychlým pohledem vidět informace o procesech, využití CPU a paměti, aktivitě disku a další.

Pokud se spustí bez argumentů, vmstat vrátí průměry od posledního restartu. I když můžete tuto formu příkazu použít jednou za čas, bude užitečnější vzít určité množství vzorků využití systému, jeden po druhém, s definovaným časovým odstupem mezi vzorky.

Například,


vmstat 5 10

vrátí 10 vzorků odebraných každých 5 sekund:

Jak můžete vidět na obrázku výše, výstup vmstat je rozdělen do sloupců: procs (procesy), paměť, swap, io, systém a cpu. Význam každého pole lze nalézt v sekcích POPIS POLE na manuálové stránce vmstat.

Kde se může vmstat hodit? Podívejme se na chování systému před a během yum aktualizace:


vmstat -a 1 5

Vezměte prosím na vědomí, že jak jsou soubory na disku upravovány, množství aktivní paměti se zvyšuje a také počet bloků zapsaných na disk (bo) a čas CPU, který je věnované uživatelským procesům (nás).

Nebo během procesu ukládání velkého souboru přímo na disk (způsobené dsync):


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

V tomto případě můžeme vidět ještě větší počet bloků zapsaných na disk (bo), což se dalo očekávat, ale také nárůst času CPU, na který musí čekat I/O operace, které je třeba dokončit před zpracováním úloh (wa).

Nepřehlédněte: Vmstat – Linux Performance Monitoring

Další nástroje Linuxu

Jak bylo zmíněno v úvodu této kapitoly, existují další nástroje, které můžete použít ke kontrole stavu a využití systému (neposkytuje je pouze Red Hat, ale také další hlavní distribuce z jejich oficiálně podporovaných úložiště).

Balíček sysstat obsahuje následující nástroje:

  1. sar (shromažďovat, hlásit nebo ukládat informace o aktivitě systému).
  2. sadf (zobrazuje data shromážděná sar v několika formátech).
  3. mpstat (přehled statistik souvisejících se zpracovateli).
  4. iostat (přehled statistiky CPU a I/O statistiky pro zařízení a oddíly).
  5. pidstat (statistika sestav pro úlohy systému Linux).
  6. nfsiostat (přehled vstupní/výstupní statistiky pro NFS).
  7. cifsiostat (přehled statistiky CIFS) a
  8. sa1 (shromažďujte a ukládejte binární data do souboru denních dat o aktivitě systému.
  9. sa2 (napište denní přehled do adresáře /var/log/sa).

zatímco dstat přidává k funkcím poskytovaným těmito nástroji některé další funkce spolu s více čítači a flexibilitou. Celkový popis každého nástroje můžete najít spuštěním yum info sysstat nebo yum info dstat nebo kontrolou jednotlivých manuálových stránek po instalaci.

Jak nainstalovat oba balíčky:


yum update && yum install sysstat dstat

Hlavní konfigurační soubor pro sysstat je /etc/sysconfig/sysstat. V tomto souboru najdete následující parametry:


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"

Když je nainstalován sysstat, jsou přidány a povoleny dvě úlohy cron v /etc/cron.d/sysstat. První úloha spustí nástroj pro účtování systémové aktivity každých 10 minut a ukládá sestavy do /var/log/sa/saXX, kde XX je den v měsíci.

/var/log/sa/sa05 tedy bude obsahovat všechny zprávy o aktivitě systému od 5. dne v měsíci. To předpokládá, že používáme výchozí hodnotu v proměnné HISTORY v konfiguračním souboru výše:


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

Druhá úloha generuje denní souhrn účtování procesů v 23:53 každý den a ukládá jej do souborů /var/log/sa/sarXX, kde XX má stejný význam jako v předchozím příkladu:


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

Můžete například chtít odeslat systémové statistiky od 9:30 do 17:30 šestého dne v měsíci do .csv soubor, který lze snadno zobrazit pomocí LibreOffice Calc nebo Microsoft Excel (tento přístup vám také umožní vytvářet tabulky nebo grafy):


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

Alternativně můžete použít příznak -j místo -d v příkazu sadf výše k výstupu systémových statistik v JSON, což by mohlo být užitečné, pokud potřebujete data spotřebovat například ve webové aplikaci.

Nakonec se podívejme, co nabízí dstat. Upozorňujeme, že pokud je spuštěn bez argumentů, dstat ve výchozím nastavení předpokládá -cdngy (zkratka pro CPU, disk, síť, stránky paměti a systémové statistiky) a přidá jeden řádek každou sekundu (provádění lze kdykoli přerušit pomocí Ctrl + C):


dstat

Pro výstup statistik do souboru .csv použijte příznak –output následovaný názvem souboru. Podívejme se, jak to vypadá na LibreOffice Calc:

Důrazně vám doporučuji podívat se na manuálovou stránku dstat spolu s manuálovou stránkou sysstat ve formátu PDF pro vaše pohodlí při čtení. Najdete zde několik dalších možností, které vám pomohou vytvořit vlastní a podrobné zprávy o činnosti systému.

Nepřehlédněte: Sysstat – nástroj pro sledování aktivity využití systému Linux

souhrn

V této příručce jsme vysvětlili, jak používat jak nativní linuxové nástroje, tak specifické nástroje poskytované s RHEL 7 za účelem vytváření zpráv o využití systému. V té či oné chvíli se na tyto zprávy budete spoléhat jako na nejlepší přátele.

Pravděpodobně jste použili jiné nástroje, které jsme v tomto tutoriálu nepopsali. Pokud ano, neváhejte je sdílet se zbytkem komunity spolu s dalšími návrhy/dotazy/připomínkami, které můžete mít - pomocí formuláře níže.

Těšíme se na setkání s Vámi.