rozbehal som mrtg a pokusam sa rozbehnut aj cpuinfo.pl
co je prilozeny v zdrojakoch avsak
ked ho otestujem
pocitac:/home/SERVER/MRTG# ./cpuinfo.pl localhost linux localhost pocitac:/home/SERVER/MRTG#tak mi to vyhodi presne toto nadmnou, cize ziadne cisla akoby sa mu patrilo,
tak som sa teda pozrel do zdrojaku cpuinfo.pl a nieco mi tam nesedi,
pastnem sem sekciu linux, teda tu pre mena dolezitu :)
sub linux { # Run commands if ($machine =~ 'localhost') { $getcpu = `/usr/bin/sar -u 1 10 | grep Average`; $getuptime = `/usr/bin/uptime`; } else { $getcpu = `$rsh $machine "/usr/local/bin/sar -u 1 10 | grep Average"`; $getuptime = `$rsh $machine "/usr/bin/uptime"`; } ******** takze az sem je to OK a rozumiem tomu, ked to aj rucne odskusam na konzole, tak to slape **************** ***** teraz nasleduje usek ktoremu nechapem a myslim ze v nom bude chyba preco mi to nevypise nic ********** # Parse though getcpu and get data $getcpu =~ /^Average:\s+all\s+(\d+)\.\d+\s+\d+\.\d+\s+(\d+)\.\d+\s+\d+\.\d+/; $getcpuusr = $1; $getcpusys = $2; co ma byt akoze to $getcpu? a zatazenie uzivatelov sa ma ako dostat do $getcpuusr = $1 ked tam nie je ziadny vypis? akurat nadefinovanie $getcpu??? kebyze tam je este aspon print $getcpu alebo co, ale nechapem ako sa to ma z toho $getcpu dostat do $getuusr... no kazdopadne tomu nerozumiem, vie mi to niekto objasnit, resp. co urobit aby mi to slapalo? Dakujem # Print getcpu data for mrtg print $getcpuusr."\n"; print $getcpusys."\n"; # Parse though getuptime and get data $getuptime =~ /^\s+\d{1,2}:\d{2}..\s+up\s+(\d+)\s+(\w+),/; # Print getuptime data for mrtg print $1." ".$2."\n"; # Print machine name for mrtg print $machine."\n"; }
2. sedi cesta ?
/usr/bin/sar
ak je vsetko OK .. musi to ist :-)
tusim to bol balik sysstat...
ked zadam
sar -u 1 10
tak to pekne hadze riadky, ale vravim ten skript to akoby vobec
nerozparsoval alebo co, vobec mi nevypise ziadne cisla o zatazeni na konzolu
ked to spusitim
./cpuinfo.pl localhost linux
a kedze nic nevypise tak mi to ani mrtg nemoze zaznamenat samozrejme
sak mi staci len sar -u 1 10 | grep average
ale nechem robit nieco co uz je urobene, len ma sere ze naco to tam davaju ked to neplni svoj ucel... az tak skriptovat neviem ale toto by som zvladol aj sam, javy sa mi tento skript daky cely divnyyy...
:(((
pretoze som si skusil napisat takyto primitivny skript:
#!/bin/sh
riadok=`/usr/bin/sar -u 1 10 | grep Average | cut -d\ -f3`
echo $riadok;
s tym ze by to malo vypisat 3 stlpec, a vypise mi zase len prazdny riadok
tak ako aj ten povodny skript, ten vypisal dva lebo aj tak mal, ale boli prazdne,
to znamena ze akoby to tam posielalo ale nic sa tam neobjavovalo, hmm to je divneee...
vdaka ti...
toto pisem pre take lamy ako som ja ;) a ak bude chciet niekto skript tak moze pouzit tento, ten cpuinfo jednoducho nejde...
vytvor subor cpu.sh a vloz donho: a uz len ulozit a je to :)) samozrejme nastavit mu prava na spustanie...
este pozor na slovicko Average, pretoze zalezi aku lokalizaciu mate, moze tam byt aj Priemer a podobne, da sa to zistit ake slovo tam treba napisat tak, ze v konsole sa napise sar -u 1 a ak v poslednom riadku bude Average tu v skripte sa pouzije Average ak tam bude Priemer da sa tam Priemer :))
Okes dik vsetkym, cafte
mimochodom, po presiahnuti 99dni, 23hod a 59min ti moze byt uptime zobrazovane zle ale to ta asi netrapi.
/usr/bin/uptime | awk '{print $3 "" $4 "" $5}'
:)
dik za upozornenie...
zarazilo ma vsak este toto, stiahol som z dakade takyto skript na monitorovanie SWAPu,
pekne mi to vsetko aj vypisuje ked spustim skript,
vypisuje mi nasledovne hodnoty este dodam ze to vypisuje stale rovnake hodnoty kedze system zatial vobec nepotreboval SWAPovat,
mno, ale problem je v tom ze ked spustim mrtg aby mi to monitorovalo SWAP pomocou tohto skriptu tak
po prvom spusteni vytvori mrtg vo /var/www/mrtg patricne subory, medzi inymi aj subor
MOJSERVERswap.log s nasledujucimi hodnotami: ale po dalsom spusteni mrtg mi to tam aj tak zostava bez zmeny...
Tym padom mi vsak na grafe nic nevypise, je to tym ze sa tie hodnoty na SWAPE nemenia?
Ale aj tak by mi to malo vykreslit aspon Free Swap a Used Swap by bol na 0, tak by som to chapal, ale takto nie :((
PS: skusil som teda do toho perloveho skriptu hodit aby to tam davalo vzdy nejake nahodne cisla, a vuala, graf sa zacal vykreslovat, takze to vyzera akoby MRTG mylili stale tie iste rovnake hodnoty, da sa to nejako obist???
MaxBytes[SWAP]: 1024000
a ked som to opravil na
MaxBytes[plutoSWAP]: 10240000
tak uz to grafy kresli...
/^\s+\d{1,2}:\d{2}..\s+up\s+(\d+)\s+(\w+),/;
z tohto vyrazu ti zobrazi $1 to co je v prvej zatvorke $2 to co je v druhej zatvorke, ... atd.