Hlavní navigace

MRTG - grafické prehľady (5)

23. 10. 2001
Doba čtení: 3 minuty

Sdílet

V minulej časti miniseriálu o MRTG sme si ukázali, že prostredníctvom mrtg môžeme monitorovať ľubovoľné veličiny, nie iba traffic na sieťových rozhraniach. Dnes si ukážeme ďalšie dva zaujímavé príklady praktického monitorovania a to prehľad o vyťažení mysql servera prostredníctvom užívateľského skriptu a sledovanie prevádzky na Squid proxy prostredníctvom snmp.

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/mys­qlfaq/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:

graf

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á:

ict ve školství 24

  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ší.