Overvåge diskforbrug?
Med darkstat har jeg med succes overvåget vores båndbreddeforbrug.
Nu er det sådan at man på en cloudserver også betaler for disk I/O. Og umiddelbart lyder 30-40 GB I/O i timen på en webserver uden den store trafik i en stille nattetime temmelig voldsomt. Jeg vil derfor gerne lave lidt statisistik over I/O forbrug gennem en periode så jeg kan sammenholde udbyderens oplysninger med mine egne.
Men hvordan før jeg det? Jeg kan finde programmer som iotop der viser hvad der bruger I/O nu og her, men jeg har som sagt brug for at det gøres gennem en periode så jeg kan kigge tilbage på forbruget.
Nogle forslag?
Nu er det sådan at man på en cloudserver også betaler for disk I/O. Og umiddelbart lyder 30-40 GB I/O i timen på en webserver uden den store trafik i en stille nattetime temmelig voldsomt. Jeg vil derfor gerne lave lidt statisistik over I/O forbrug gennem en periode så jeg kan sammenholde udbyderens oplysninger med mine egne.
Men hvordan før jeg det? Jeg kan finde programmer som iotop der viser hvad der bruger I/O nu og her, men jeg har som sagt brug for at det gøres gennem en periode så jeg kan kigge tilbage på forbruget.
Nogle forslag?
Kommentarer7
Har du prøvet med dstat?
sudo apt-get install dstat
ctrl-c stopper processen.
Jeg ved ikke om du kan bruge iostat ved at installere sysstat.
iostat -x sda -c 2 -t > stats.log
Edit: Fandt dette her som måske er brugbar:
http://www.rootusers.com/my-top-3-linux-commands-for-logging-problems/
Og denne:
http://datagrams.blogspot.dk/2012/09/dstat-logging.html
Edit:
iotop burde kunne logge aktivitet, men jeg har ikke prøvet:
http://articles.slicehost.com/2010/11/12/using-iotop-to-check-i-o-and-s…
'lsof' kan måske bruges til
Ja dstat er udemærket,
Tak for de forskellige
Her er fx et uddrag fra cloudserverens statistik:
04/Sep/2013 07:24:19
04/Sep/2013 08:24:19
0,5 GB / 1 vCPU (0,08 Kr. per time): Charge for 44.7578125GB disk I/O
Altså inden for den givne time er der brugt ca. 45 GB disk trafik. Og så kunne jeg godt tænke mig selv at have en log kørende der kunne fortælle hvor meget IO der var blev brugt i samme tidsrum. Dvs. hvor meget der i et øjebliksbillede bruges i sekundet er ikke så relevant.
Kan nogle af værktøjerne gøre dette?
Du kan sætte et delay flag efter dstat
Du kan sætte et delay flag efter dstat. Den vil stadig samlet tælle og retunere I/O m.f. i Bytes indenfor den indstillede delay tid.
Eks. hvor -f 10 viser output hvert 10 sek istedet for hvert sek. -f 60 for hvert minut etc.:
dstat -r -f 10
dstat -f 10
dstat -dnyc -r -C total -f 10
dstat -dnyc -N eth0 -C total -f 10
OSV ...
dstat -h viser options
Edit
Hvis dstat er brugbar, er der commands og eksempler her:
http://dag.wieers.com/home-made/dstat/
http://dag.wieers.com/home-made/dstat/dstat.1.html
sar og iostat
sar (fra sysstat) kan
sudo apt-get install sysstat
sudo gedit /etc/default/sysstat
Ændr ENABLED=”false” til ENABLED=”true”
Gem
sudo gedit /etc/cron.d/sysstat
Sæt "#" foran
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
Tilføj
*/2 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
Gem
sudo service sysstat restart
Genstart maskinen (jeg er nødt til at genstarte).
Kilder:
http://www.leonardoborda.com/blog/how-to-configure-sysstatsar-on-ubuntu…
http://sebastien.godard.pagesperso-orange.fr/tutorial.html#section1