Existuje mnoho nástrojů/utilit, které lze použít k analýze aktuálního výkonu systému. Ale jak změříme historický výkon systému? K tomu můžete použít nástroj System Activity Report (SAR). Pomocí nástroje sar se budete moci podívat zpět za určité období a uvidíte, jak server běžel.
V tomto příspěvku uvidíme, jak nainstalovat a používat nástroje sysstat; což vám umožní prozkoumat historické systémové statistiky.
Instalace sysstat
Nejprve nainstalujte soubor „sysstat “, který poskytuje nástroj sar.
# apt-get install sysstat ### Debian-based distributions # yum install sysstat ### RedHat Based distribution
Historická data pro různé linuxové distribuce jsou uložena v níže uvedených adresářích:
1. Red Hat, Fedora, CentOS a Scientific Linux by měly používat /var/log/sa adresář
2. Uživatelé Debianu, Mintu a Ubuntu by měli používat /var/log/sysstat adresář
Ve výchozím nastavení se statistiky sar shromažďují každých 10 minut. Data se shromažďují pomocí jednoduché úlohy cron nakonfigurované v /etc/cron.d/sysstat . Tuto úlohu lze upravit tak, aby shromažďovala data tak často, jak potřebujete. Příklad souboru /etc/cron.d/sysstat je uveden níže.
# cat /etc/cron.d/sysstat # Run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib64/sa/sa1 1 1 # 0 * * * * root /usr/lib64/sa/sa1 600 6 & # Generate a daily summary of process accounting at 23:53 53 23 * * * root /usr/lib64/sa/sa2 -A
Shromažďování historických dat sar
1. Získání živých dat sar je snadné se sar. Standardně sar pracuje v režimu CPU. Jednoduše pomocí pojmenovaného příkazu obdržíme vzorky aktivity CPU každých 10 minut aktuálního dne.
# sar Linux 2.6.32-504.el6.x86_64 (geeklab) 09/28/2018 _x86_64_ (16 CPU) 12:00:01 AM CPU %user %nice %system %iowait %steal %idle 12:10:01 AM all 7.28 0.00 2.94 0.02 0.00 89.77 12:20:01 AM all 7.16 0.00 2.47 0.02 0.00 90.35 12:30:01 AM all 6.96 0.00 2.43 0.01 0.00 90.59 12:40:01 AM all 6.92 0.00 2.42 0.01 0.00 90.64 ...
2. Předpokládejme, že chcete analyzovat výkon systému v minulosti. Podívejte se například na výkon systému mezi 10:00. do 12:00 když aplikační tým čelil zpomalení aplikace.
# sar -r -s 10:00:00 -e 12:00:00
sar používá -s argument pro zadání počátečního času extrahování dat a další (-e) pro nastavení koncového času. Tyto parametry musí být zapsány ve formátu HH:MM:SS, jinak je sar bude ignorovat s chybou. -r argument se používá k zobrazení údajů o využití paměti.
3. Historická data sar jsou uložena v adresáři /var/log/sa v případě distribucí založených na RedHat. Soubory jsou jednoduše binární formáty obsahující data sar pro každé uchované datum. Soubory mají předponu sa. Sa23 jsou tedy údaje sar pro 23. den v měsíci. Například na systému CenOS/RHEL.
# ls /var/log/sa sa01 sa04 sa07 sa10 sa13 sa16 sa19 sa22 sa25 sa28 sar01 sar04 sar07 sar10 sar13 sar16 sar19 sar22 sar25 sar30 sa02 sa05 sa08 sa11 sa14 sa17 sa20 sa23 sa26 sa30 sar02 sar05 sar08 sar11 sar14 sar17 sar20 sar23 sar26 sar31 sa03 sa06 sa09 sa12 sa15 sa18 sa21 sa24 sa27 sa31 sar03 sar06 sar09 sar12 sar15 sar18 sar21 sar24 sar27
Chcete-li zobrazit minulé statistiky I/O pro 10. den v měsíci, spusťte následující příkaz:
# sar -f /var/log/sysstat/sa10 -b
Změna uchovávání historických dat
Uchovávání historických dat sar lze změnit pomocí souboru /etc/sysconfig/sysstat nebo /etc/sysstat/sysstat . Změňte HISTORII nastavení parametrů na požadovaný počet dní pro uchování dat. Například pro uchování 28 dnů záznamů bychom mohli použít toto:
# cat /etc/sysconfig/sysstat # sysstat-9.0.4 configuration file. # 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"