Monitorizarea query-urilor cu mytop
As vrea sa fac o mica introducere a unui program foarte util: mytop. E unul din programele care le folosesc zilnic pe serverele care le administrez. mytop e un program de monitorizare a serverului mysql. Ruleaza in mod text si consuma foarte putine resurse. Pe site-ul oficial se spune ca functioneaza pe MySQL 3.22.x, 3.23.x si 4.x dar l-am pus pe 5.x si a functionat din prima. Odata instalat afiseaza toate query-urile care sunt facute, singura conditie e ca programul sa fie rulat ca superuser. Astfel se pot gasi clientii/aplicatiile care consuma multe resurse. Pentru utilizatorii de FreeBSD, programul se poate gasi in port-uri ( /usr/ports/databases/mytop ).
Instalarea e simpla. Am folosit pentru instalare un Linux CentOS si treaba merge cam asa:
1. Prima data am creat un director mytop in care am downloadat fisierul tar.gz
root@w [~]#mkdir mytop;cd mytop
root@w [~/mytop]# wget http://jeremy.zawodny.com/mysql/mytop/
mytop-1.6.tar.gz
–17:24:43– http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz
=> `mytop-1.6.tar.gz’
Resolving jeremy.zawodny.com… 157.134.160.102
Connecting to jeremy.zawodny.com|157.134.160.102|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 19,720 (19K) [application/x-tar]
100%[=================================>] 19,720 –.–K/s
17:24:43 (299.83 KB/s) - `mytop-1.6.tar.gz’ saved [19720/19720]2. Dezarhivez
root@w [~/mytop]# tar -zxvf mytop-1.6.tar.gz mytop-1.6/ mytop-1.6/MANIFEST mytop-1.6/test.pl mytop-1.6/mytop mytop-1.6/Changes mytop-1.6/INSTALL mytop-1.6/README mytop-1.6/Makefile.PL mytop-1.6/META.yml
3. Intru in directorul mytop-1.6 (rezultatul dezarhivarii) si incep instalarea dupa cum spune in README: perl Makefile.PL; make; make test; make install
root@w [~/mytop]# cd mytop-1.6 root@w [~/mytop/mytop-1.6]# perl Makefile.PL Checking if your kit is complete… Looks good Writing Makefile for mytop root@w [~/mytop/mytop-1.6]# make cp mytop blib/script/mytop /usr/bin/lrep “-MExtUtils::MY” -e “MY->fixin(shift)” blib/script/mytop Manifying blib/man1/mytop.1 root@w [~/mytop/mytop-1.6]# make test PERL_DL_NONLAZY=1 /usr/bin/lrep “-Iblib/lib” “-Iblib/arch” test.pl 1..1 ok 1
root@w [~/mytop/mytop-1.6]# make install Installing /usr/share/man/man1/mytop.1 Installing /usr/bin/mytop Writing /usr/lib/perl5/site_perl/5.8.7/i686-linux/auto/mytop/.packlist Appending installation info to /usr/lib/perl5/5.8.7/i686-linux/perllocal.pod
4. Cand totul e gata, dau un make clean
Instalarea e gata. Acum mai trebuie doar sa-l pornim. In mod normal mytop isi ia datele din my.cnf pentru a se conecta la o baza de date defaul (test) dar cum in multe cazuri baza de date test lipseste, ii da orice alta baza de date si il lasam sa-si ia userul default (root) asa cum e specificat in my.cnf. Parametri care ii cunoaste sunt:
-u - pentru schimbarea userului
-p - pentru specificarea unei parole
-h - pentru specificarea unui host (implicit localhost)
-P - pentru specificarea portului pe care ruleaza serverul mysql
-s - timpul dintre doua refresh-uri
-d - specificarea unei baze de date (daca e cazul)
-b - batch mode, listeaza procesele si iasa - foarte util pentru scripturi
Mai sunt si alte optiuni care pot fi gasite in pagina de manual mytop(1). In utilizare, mytop arata cam asa:
Autor: Agkelos