Určite mnohí z nás používajú mysql v spolupráci s php na svojich web serveroch. Ako je to však s vyťažením mysql? Použijeme mrtg a budeme v obraze.
Na sledovanie nám poslúži skript mrtg-mysql-load, ktorého autorom je Carsten H. Pedersen. Nájsť ho môžete napríklad na www.bitbybit.dk/mysqlfaq/mrtg-mysql-load alebo ftp.compclub.sk. Jedná sa o perlový skript, ktorý prostredníctom mysqladmin-u zisťuje celkový počet requestov a uptime. Takže po rozbalení a nakopírovaní do adresára, ktorý máme nastavený na prehľadávanie,
tar xzvf mrtg-mysql-load-0.92b.tar.gz cp mrtg-mysql-load /sbin
(napríklad /sbin) sa môžeme pustiť do konfigurácie mrtg. Vstupné parametre skriptu sú nasledovné:
Mrtg-mysql-load [-h host] [-P port] [-u username] [-p password]
Ak však máme iba jeden mysql server, môžeme si jednotlivé parametre špecifikovať priamo v skripte a nemusíme ich zadávať z príkazového riadku.
Príslušný konfig by mohol vyzerať nasledovne:
WorkDir: /home/httpd/mrtg.mojweb.cz-443/html/lines Target[myserver.MySQL]: `/sbin/mrtg-mysql-load -h localhost -u root -p mojeheslo` Options[myserver.MySQL]: perminute, nopercent, integer Colours[_]:LIGHT BLU#7aafff,BLU#1000ff,DARK BLU#000066, VIOLET#ff00ff,GREEN#00ff00 MaxBytes[myserver.MySQL]: 200 AbsMax[myserver.MySQL]: 2000 Title[myserver.MySQL]: MySQL zataz na www.mojweb.cz PageTop[myserver.MySQL]: <H1>MySQL zataz na www.mojweb.sk</H1> YLegend[myserver.MySQL]: # pocet querries ShortLegend[myserver.MySQL]: q/m Legend1[myserver.MySQL]: # pocet querries Legend2[myserver.MySQL]: # pocet querries Legend3[myserver.MySQL]: Max # querries za minutu Legend4[myserver.MySQL]: Max # pomalych querries za minutu LegendI[myserver.MySQL]: # querries: LegendO[myserver.MySQL]: #pomalych querries:
Výsledný graf nám spraví prehľad o vyťaženosti a my vieme na čom sme. Výsledok môže vyzerať nasledovne:
V prípade monitorovania Squidu použijeme priamo vstavanú podporu snmp. Ak máme squid skompilovaný s touto možnosťou zapnutou (vo väčšine rpm balíčkov tomu tak je), tak sa môžeme pustiť do konfigurovania.
Čo sa týka squidu, musíme si v acl najprv povoliť prístup k snmp informáciám. To dosiahneme úpravou súboru squid.conf nasledovne:
acl snmppublic snmp_community public snmp_port 3401 snmp_access allow snmppublic all
teraz nasleduje reštart squidu, aby načítal nanovo konfiguračné hodnoty, čo docielime úplne jednoducho a to nasledovne:
squid -k reconfigure
a po rekonfigurácii sa môžeme znovu venovať mrtg. Súčasťou squidu je súbor mib.txt, ktorý väčšinou nájdete v /etc/squid/mib.txt. Tento súbor je nutné sprístupniť pre mrtg. Ak nám mrtg beží na inom stroji, jednoducho si ho prekopírujeme pod názvom squid-mib.txt, aby sme mrtg mohli sprístupniť súbor s definíciami OID hodnôt. Keďže doteraz nikto nenapísal (alebo aspoň sa mi nič vhodného a jednoduchého ako cfgmaker nedostalo pod ruku ani po márnom hľadaní) na ftp.compclub.sk/pub/mrtg-squid.conf nájdete vzorový konfiguračný súbor pre takmer všetky veličiny, ktoré nám squid prostredníctvom snmp dovoľuje monitorovať.
Ukážka konfigurácie mrtg by mohla byť nasledovná:
Workdir: /home/httpd/mrtg.mojweb.cz/squid Refresh: 300 Interval: 5 WriteExpires: Yes Colours[_]:LIGHT_BLU#7aafff,BLU#1000ff,DARK BLU#000066, VIOLET#ff00ff,GREEN#00ff00 LoadMIBs: /mrtg/squid-mib.txt Target[cacheClientHttpRequests]:cacheServerRequests&cacheServerRequests: public@proxy.mojweb.cz:3401 MaxBytes[cacheClientHttpRequests]: 10000000 Title[cacheClientHttpRequests]: cacheClientHttpRequests Options[cacheClientHttpRequests]: gauge, growright, perminute PageTop[cacheClientHttpRequests]: <center><h3>cacheClientHttpRequests @ gvprox02.th.epo.nl</h1><h3><I>Number of HTTP requests received from client</I></h3></center> YLegend[cacheClientHttpRequests]: Requests / min LegendI[cacheClientHttpRequests]: cacheClientHttpRequests LegendO[cacheClientHttpRequests]: Legend1[cacheClientHttpRequests]: cacheClientHttpRequests Legend2[cacheClientHttpRequests]:
Všimnime si položku LoadMIBs, ktorá špecifikuje definičný súbor OID hodnôt pre jednotlivé MIBs, aby bolo možné prehľadnejšie špecifikovať cieľ v položke target. Určite je jednoduchšie špecifikovať cieľ jeho názvom ako jeho OID hodnotou. Konfiguračný súbor sa stane jednoduchším a prehľadnejším a ušetrí nám to mnoho času pri jeho neskorších úpravách. Za zmienku ešte stojí spomenúť, že snmp squidu beží na porte 3401, alebo inom, ktorý špecifikujeme, takže je nutné tento port špeficikovať.
Takže hor sa do ďalšieho grafovania, nech je náš prehľad o systéme čím ďalej, tým dokonalejší.