System Activity Reporter on tärkeä työkalu, joka auttaa järjestelmän ylläpitäjiä saamaan yleiskuvan palvelinkoneesta ja eri tärkeiden mittareiden tilasta eri ajankohtina.
Jos oletetaan, että sinulla on tällä hetkellä ongelma järjestelmän kanssa, Kuten jotkut asiakkaasi eivät pysty listaamaan joitakin tietoja tietokannasta. Ensimmäinen asia, jonka useimmat Linux-järjestelmän ylläpitäjät tekevät, on palauttaa mieleen sama ongelma, kun se on aiemmin esiintynyt, ja jos muistat sen edellisen esiintymispäivän, voit helposti verrata järjestelmän sisäisiä tilastoja nykyisiin tilastoihin.
SAR on erittäin hyödyllinen juuri tämän tekemiseen.
Ensimmäinen asia, joka meidän on tehtävä, on tarkistaa ja vahvistaa, onko SAR-apuohjelma asennettu koneeseen. Mikä voidaan tarkistaa listaamalla kaikki rpm:t ja etsimällä tämä apuohjelma.
SAR on yksi sysstatin sisällä olevista apuohjelmista. Voit helposti ladata ja asentaa sen koneellesi hyvin helposti YUM:n kautta. (But yeah dont worry because most of the distribution comes prepacked with sysstat tool).
# yum install sysstat
Yeah but make it sure that you have epel,rpmformge repository enabled for installing. Muuten jakelu-DVD:ltäsi on kiva etsiä paketti.
SAR (System Activity Reporter) antaa tietoa seuraavista asioista:
- System Buffer activity
- Information about system calls
- Block device information
- Overall paging information
- Semaphore and memory allocation information
- CPU utilization and process report
SAR:n osalta tärkein asia, joka meidän on ymmärrettävä, on se, että, että, kaikki tehdään cronin avulla. Oletuksena monissa Linux-jakeluissa on tiedosto nimeltä /etc/cron.d/sysstat.
Katsotaanpa, miten SAR oikeastaan toimii.
Jos alamme ajatella järjestelmän seurantaa, niin työkalulla on oltava kaikki tiedot järjestelmän eri osa-alueista ja sen on katettava kaikki aikaväli. Mikä tarkoittaa, että valvontajärjestelmän on pystyttävä antamaan koneen tilastot tietyllä aikavälillä.
Ei ole muuta keinoa kuin ottaa kaikki koneen metriikat ja tilastot tietyllä aikavälillä. Tilastojen keräämisen aikaväliä lyhentämällä saamme enemmän yksityiskohtaisia tilastoja (koska saamme enemmän tietoa järjestelmästä).
SAR tekee juuri näin. sar ottaa koneen eri osa-alueiden tilastot tietyllä aikaväliajalla. SAR toimii siis CRONin kautta.
# cat /etc/cron.d/sysstat# suorita järjestelmän toimintojen kirjanpitotyökalu 10 minuutin välein*/10 * * * * * * * root /usr/lib64/sa/sa1 1 1# luo päivittäisen yhteenvedon prosessien kirjanpidosta klo 23:5353 23 * * * * root /usr/lib64/sa/sa2 -A
- Yllä olevasta SAR:n cron-tiedostosta nähdään siis, että se suorittaa ”sa1”-skriptin, joka sijaitsee osoitteessa ”/usr/lib64/sa/”, 10 minuutin välein
- Ja suorittaa myös skriptin /usr/lib64/sa/sa2 päivän lopussa noin klo 23.53
Siten SAR:n ensimmäinen cron-merkintä (/usr/lib64/sa/sa1) suoritetaan 10 minuutin välein, mikä puolestaan kutsuu sadc-apuohjelmaa keräämään järjestelmätilastoja ja tallentamaan ne binääritiedostoon (yksi tiedosto päivässä)
Ja toinen cron-merkintä dumppaa tuon binääritiedoston koko sisällön toiseen tekstitiedostoon, ja puhdistaa tiedot, jotka ovat vanhempia kuin tietty määrä päiviä, Normaalisti 7 päivää oletusarvoisesti(joka mainitaan seuraavassa tiedostossa),
# cat /etc/sysconfig/sysstat# Kuinka kauan lokitiedostoja säilytetään (päivinä), maksimi on kuukausiHISTORY=7
Voit siis muuttaa tuota HISTORY-merkintää helposti muokkaamalla tiedostoa.
Siinä vaikka järjestelmän tilastot kerätään 10 minuutin välein cronin kautta(muokkaa cronia ajettavaksi 1 minuutin välein tarkempien tietojen saamiseksi) Jos haluat nähdä tilastot, sinun on suoritettava alla oleva komento.
Yksinkertaisen sar-komennon tuloste on alla olevan kaltainen.
12:00:01 AM CPU %user %nice %system %iowait %steal %idle12:01:01 AM all 73.28 0.00 1.25 0.00 0.00 25.4712:02:01 AM all 7.83 0.00 0.44 0.00 0.00 91.7312:03:01 AM kaikki 61.65 0.00 0.70 0.00 0.00 37.6612:04:01 AM kaikki 57.85 0.00 0.82 0.00 0.00 41.3412:05:01 AM kaikki 4.25 0.00 0.41 0.00 0.00 0.00 95.3412:06:01 AM kaikki 4.20 0.00 0.22 0.00 0.00 0.00 95.5812:07:01 AM kaikki 5.05 0.00 0.33 0.00 0.00 94.6312:08:01 AM kaikki 4.76 0.00 0.06 0.00 0.00 0.00 95.1812:09:01 AM kaikki 37.57 0.00 0.37 0.00 0.00 0.00 62.0512:10:01 AM kaikki 70.04 0.00 0.80 0.00 0.00 29.1612:11:01 AM kaikki 5.03 0.00 0.12 0.00 0.00 0.00 94.84
Tulosteesta näkee, että se ilmoittaa minulle kerättyjen tilastojen tuloksen joka minuutti(mikä tarkoittaa, että minulla on cron 1 minuutin välein), ja näyttää koko päivän tiedot(tai näyttää tiedot, jotka on kerätty siihen asti, kun kirjoitit komennon).
Komennon SAR:n tuloksen ymmärtäminen
%user: Tämä näyttää kokonaisajan, jonka prosessori käyttää eri prosesseihin YCX5UKN5ZKEJ
%sys: Tämä näyttää prosentuaalisen osuuden ajasta, jonka prosessori käyttää käyttöjärjestelmän tehtäviin(koska edellinen user näyttää ajan, joka kuluu käyttäjän loppupään prosessiin)
%iowait: Nimi iowait itsessään viittaa siihen, että se on aika, jonka prosessori käyttää odottamaan laitteita(syöttö- ja ulostuloa)
%nice: Useimmat teistä varmasti tietävät, että käyttäjä voi muuttaa prosessin prioriteettia Linuxissa muuttamalla nice-arvoa Linuxissa. Tämä taulukko näyttää prosessorin käyttämän ajan prosessille, jonka nice-arvoa on muutettu.
%steal: Tämä sarake osoittaa prosessorin (joka on virtualisoitu) käyttämän ajan fyysisen prosessorin resursseihin
%idle: Tämä osoittaa prosessorin käyttämän tyhjäkäyntiajan.
Oletusarvoisesti sar tallentaa kaikki tietonsa osoitteeseen /var/log/sa/ ja päivät on nimetty alla esitetyllä tavalla.
s01 – kuukauden ensimmäinen päivä
s02 – kuukauden toinen päivä
s03,s04..ja niin edelleen.
-d-vaihtoehto SAR-komennossa
Tätä -d-vaihtoehtoa voidaan käyttää raportoimaan kaikki järjestelmään kytkettyihin erilaisiin laitteisiin (lohkolaitteisiin) liittyvät toimet. Alla on esitetty tyypillinen sar-komennon tuloste -d-optiolla.
12:00:01 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util12:01:01 AM dev3-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0012:01:01 AM dev3-64 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:01:01 AM dev8-0 55.62 9.98 8317.87 149.72 13.68 245.96 2.61 14.5212:01:01 AM dev8-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0012:02:01 AM dev3-64 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0012:02:01 AM dev8-0 1.55 0.00 35.29 22.70 0.01 7.26 1.86 0.2912:02:01 AM dev8-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0012:03:01 AM dev3-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
DEV: tässä sarakkeessa nimetään koneessa olevat laitteet Linux-lohkolaitteen major- ja minor-numeroiden mukaisesti. Voit tarkistaa tämän tekemällä ls -l hakemistossa /dev. kuten alla näkyy.
brw-r----- 1 root disk 8, 0 Nov 16 16:29 sdabrw-r----- 1 root disk 8, 1 Nov 16 16:29 sda1brw-r----- 1 root disk 8, 2 Nov 16 16:29 sda2
yllä esitetyssä ”ls -l”-ulkoasussa ”sda”:n kohdalla major-numero on ”8” ja minor-numero ”0”…Joten voit helposti tunnistaa sar-komennon tulosteessa mainitun levyn.
tps: tps on lyhenne sanoista transfer per second (siirto sekunnissa), joten se näyttää siirron sekunnissa kyseiselle laitteelle
rd_sec/s: tämä näyttää lukemassa olevien sektoreiden kokonaismäärän kyseisellä laitteella
wr_sec/s: jos rd_sec/s on sektoreita, joita luetaan sekunnissa, niin wr_sec on sektoreita, joita kirjoitetaan sekunnissa.
avgrq-sz: tässä sarakkeessa näkyy keskiarvo.
await: tässä näkyy kokonaisaika, jonka prosessori odotti IO-pyyntöjä
%util: tässä sarakkeessa näkyy cpu:n käyttö prosentteina pyynnön syntyessä
Näytä muistin käyttö SAR-komennossa
sar-komennossa käytettävissä oleva -r-vaihtoehto on erittäin hyödyllinen. se näyttää muistin, swapin, välimuistin jne. joka välein tai halutulla aikavälein.
02:20:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad02:30:01 AM 609500 1487652 70.94 242420 777560 1075980 364 0.03 36002:40:01 AM 609500 1487652 70.94 242424 777568 1075980 364 0.03 36002:50:01 AM 609500 1487652 70.94 242424 777592 1075980 364 0.03 36003:00:01 AM 608980 1488172 70.96 242424 777600 1075980 364 0.03 36003:10:01 AM 608584 1488568 70.98 242424 777628 1075980 364 0.03 36003:20:01 AM 608584 1488568 70.98 242424 777648 1075980 364 0.03 360
How to fetch metrics of a particular day using SAR in linux
# sar -f /var/log/sa/sa27Linux 2.6.18-194.el5xen (archive.r) 11/27/2012 02:20:01 AM CPU %user %nice %system %iowait %steal %idle02:30:01 AM kaikki 2.58 0.00 0.70 1.12 0.05 95.5502:40:01 AM kaikki 2.56 0.00 0.69 1.05 0.04 95.6602:50:01 AM kaikki 2.64 0.00 0.65 1.15 0.05 95.5003:00:01 AM all 3.27 0.00 0.71 1.12 0.04 94.86
Miten haetaan SAR-mittarit tietylle päivämäärälle tiettynä ajankohtana
Tämä onnistuu välittämällä toinen argumentti alla esitetyllä tavalla.
# sar -f /var/log/sa/sa27 -s 02:20:00 -e 03:20:00Linux 2.6.18-194.el5xen (archive.r) 27.11.2012 02:20:01 AM CPU %user %nice %system %iowait %steal %idle02:30:01 AM all 2.58 0.00 0.70 1.12 0.05 95.5502:40:01 AM all 2.56 0.00 0.69 1.05 0.04 95.6602:50:01 AM all 2.64 0.00 0.65 1.15 0.05 95.5003:00:01 AM all 3.27 0.00 0.71 1.12 0.04 94.8603:10:01 AM kaikki 2.72 1.06 0.75 1.09 0.04 94.33Keskimäärin: kaikki 2.76 0.21 0.70 1.11 0.04 95.18
Näytä verkkotilastot sar-komennon avulla
sar-komennon avulla saat näkyviin jopa verkkotilastot. Tämä onnistuu käyttämällä sar-komennon -n DEV-vaihtoehtoa.
# sar -n DEVLinux 2.6.18-194.el5xen (archive.r) 11/27/2012 02:20:01 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s02:30:01 AM lo 0.01 0.01 0.01 0.77 0.77 0.00 0.00 0.0002:30:01 AM eth0 12.30 0.12 1285.06 27.59 0.00 0.00 0.0002:30:01 AM eth1 14.45 0.00 1399.34 0.00 0.00 0.00 0.00 0.00 0.0002:30:01 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0002:40:01 AM lo 0.01 0.01 0.77 0.77 0.00 0.00 0.0002:40:01 AM eth0 10.65 0.12 1139.38 27.00 0.00 0.00 0.00 0.0002:40:01 AM eth1 13.96 0.00 1352.87 0.00 0.00 0.00 0.00
IFACE: tarkoittaa nic-kortin käyttöliittymän nimeä
rxpck/s: tämä näyttää vastaanotettujen pakettien kokonaismäärän sekunnissa
txpck/s:lähetetyt paketit sekunnissa
rxcmp/s: vastaanotetut pakatut paketit
txcmp/s: lähetetyt pakatut paketit
rxmcst/s: monilähetetyt paketit sekunnissa.
Joitakin muita metriikoita, jotka voidaan määrittää sar:n avulla
-y optio sar:ssa: voidaan käyttää tty-tietojen määrittämiseen
-X optio sar:ssa tietyn prosessin tietojen saamiseksi. Sinun on annettava pid argumenttina tälle vaihtoehdolle.
-n SOCK-vaihtoehto sar:ssa: tämä vaihtoehto ilmoittaa kaikki socket-tiedot.