Ukážka práce s linuxovým príkazom sar
O príkaze
Príkaz slúži k monitorovaniu a manipulácií s informáciami o aktivite systému. Umožňuje sledovanie vybratých hardvérových systémových prostriedkov napr.: CPU, RAM, sieťové adaptéry atď., pričom informácie je možné zhromažďovať dynamicky v určených časových intervaloch, vypisovať ich v konzolovom okne alebo zapisovať do binárneho súboru. Kompletný výpis funkcionality príkazu je popísaný v manuálových stránkach príkazu v Linuxe alebo taktiež napríklad na adrese http://linux.die.net/man/1/sar.
Pre použitie príkazu sar je potrebné mať v operačnom systéme nainštalovaný balík sysstats,
Ktorý obsahuje nasledujúce nástroje:
sar: zbiera a hlási informácie o aktivite systému.
iostat: hlási využitie CPU a štatistiky V/V.
mpstat: hlási štatistiky globálne a pre jednotlivé CPU.
pidstat: hlási štatistiky linuxových úloh (procesov).
sadf: v rozličných formátoch zobrazuje dáta, ktoré zozbieral sar.
nfsiostat: hlási štatistiku V/V súborových systémov NFS.
cifsiostat: hlási štatistiku V/V súborových systémov CIFS.
Inštalácia balíka sysstats
Inštalácia sa spustí klasickým príkazom pre inštalovanie súčastí aplikácií v Linuxe, v režime root:
apt-get install sysstat
Po úspešnej inštalácií je potrebné upraviť súbor /etc/default/sysstat, v ktorom je potrebné povoliť zber štatistických informácií:
mcedit /etc/default/sysstat
Zmeniť ENABLED= “false“ na ENABLED= “true“ a uložiť súbor.
Taktiež je dobre upraviť intervaly zberu informácií:
mcedit /etc/cron.d/sysstat
Zmente:
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
Na:
To zmení interval zberu informácií z 10 minút na 2 minúty, uložte súbor.
Po týchto zmenách je nevyhnutné reštartovať knižnicu sysstats.
service sysstat restart
Vytvorenie skriptu
Vytvorenie skriptovacieho súboru pre uloženie informácií o zaťažení CPU daného systému do binárneho súboru.
Príkaz ktorý spustí ukladanie informácií o CPU do binárneho súboru má syntax:
sar –o datafile <interval> <počet>
Pričom datafile je názov súboru, interval je hodnota charakterizujúca časový interval zberu dát napr.: 2 (2 sekundy) a počet je hodnota definujúca počet opakovaní napr.:5:
sar –o datafile 2 5
Pri potrebe vykonávať niekoľko procesov v rámci systému súčasne je výhodné spustiť príkaz sar v pozadí (informácie nebudú vypisované v konzole), k tomu slúži príkaz presmerovania:
sar -o datafile 2 5 >/dev/null 2>&1 &
Tento príkaz vykoná to isté ako predošlý príkaz, rozdiel je však v tom, že bude spustený v „pozadí“.
Ako príklad skriptovacieho súboru uvediem jednoduchý bash-ovský skriptovací súbor:
#!/bin/bash
# Vypíše na obrazovku výzvu pre zadanie názvu súboru. echo "Zadaj meno suboru"
# Načíta zadaný názov do premennej NAZOV. read NAZOV
# Spustí príkaz pre ukladanie informácií o CPU do daného súboru. sar -o $NAZOV 2 10 >/dev/null 2>&1 &
# Vypíše hlásenie o úspešnom vytvorení súboru. echo "Vytvorenie suboru prebehlo uspesne !" |
Po spustení skriptovacieho súboru a úspešnom vytvorení binárneho súboru, sa v binárnom súbore uloží 10 hodnôt zaťaženia CPU, pričom každá hodnota bude nameraná 2 sekundy po predchádzajúcej, vytvorenie súboru a ukladanie hodnôt prebehne v „pozadí“.
Pre zobrazenie vytvoreného binárneho súboru je nutné použiť príkaz:
sar –f datafile
Pričom datafile je názov súboru.
Výsledný binárny súbor po zobrazení príkazom sar –f.
Takto vytvorený súbor je možné použiť na analýzu zaťaženia hostiteľského zariadenia počas behu skúmaného procesu, pričom je samozrejme možné okrem informácií o CPU sledovať množstvo iných údajov v rámci ponúkanej funkcionality príkazu sar.
Niekoľko ďalších článkov o príkaze sar:
http://linux.die.net/man/1/sar
http://sys-log.bencane.com/2012/07/sar-sysstat-linux-performance-statistics-with-ease
http://packages.debian.org/squeeze/sysstat
http://www.ibm.com/developerworks/aix/library/au-unix-perfmonsar.html