Erinevus lehekülje "Munin" redaktsioonide vahel

Allikas: Kuutõrvaja
31. rida: 31. rida:
 
FreeBSDs serveri install: cd /usr/ports/sysutils/munin-master ja make install clean
 
FreeBSDs serveri install: cd /usr/ports/sysutils/munin-master ja make install clean
 
Debianis kliendi install: apt-get install munin munin-node
 
Debianis kliendi install: apt-get install munin munin-node
 +
Debianis kliendi kasutamise märkused http://www.debian-administration.org/articles/229
  
 
Üldiselt on munini puhul arvestatud administraatoritega kes soovivad joonistada graafikuid suuremast
 
Üldiselt on munini puhul arvestatud administraatoritega kes soovivad joonistada graafikuid suuremast

Redaktsioon: 6. september 2010, kell 22:45

Sissejuhatus

Munin on monitoorimise tarkvara teenustest statistiliste graafikute joonistamiseks ja koormuste jälgimiseks. Munin on üritatud luua võimalikult lihtsalt seadistatavaks ja paindlikuks. Üks munini suurimaid eeliseid on ka lihtsus kirjutada uusi pluginaid graafikute loomiseks suvalisest infost..näit välistemperatuurist. Muniniga tuleb ka kaasa suur kogu valmipluginaid enamusele levinumaile teenustele

Munin kasutab enda tööks RRDTool'i ja perli. Ning ta on master-node arhidektuuriga st master stardib teatud intervalli järel cronist ja ühendub nodedega, küsib neilt vajaliku info ning salvestab selle rrd failidesse ning tekitab kõik graafikud tsentraalselt ühte kohta. Node on ise väga väheste sõltuvustega ja ei tekita serverile kus asub pea mitte mingit lisakoormust.

Munin on klient-server ehitusega.

Kõigis klientmasinades töötab tarkvara munin-node teenusena milledelt munin server loeb iga 5 minuti järelt infot ja joonistab sellejärgi graafikud.

Näites on meil munini server ja klient millekohta tahame jälgida üldkoormust ning samuti soovime joonistada graafikut /home kaustas olevate failide arvukohta

  • Server 192.168.1.10
  • Klient 192.168.1.5

Install

Klientmasinale installine munin-node serverile installime munin serveri. Insallimiseks kasutame operatsioonisüsteemi enda vahendeid. Mingeid erilisi märkusi sellekohta rohkem pole.

FreeBSDs kliendi install: cd /usr/ports/sysutils/munin-node ja make install clean FreeBSDs serveri install: cd /usr/ports/sysutils/munin-master ja make install clean Debianis kliendi install: apt-get install munin munin-node Debianis kliendi kasutamise märkused http://www.debian-administration.org/articles/229

Üldiselt on munini puhul arvestatud administraatoritega kes soovivad joonistada graafikuid suuremast masina/serveripargist. Kuid server ja klient ei pea olema lahus vaid võivad asuda ka samas serveris juhul kui on soov jälgida vaid üht serverit.

Klient

Vastavalt siis kas /etc (linux) või /usr/local/etc/ (FreeBSD)

munin-node.conf

Põhimõtteliselt piisab kui default konfi lisada ligipääsuks luba munini serveri jaoks.

allow ^192\.168\.0\.10$

Stardime munin-node

/etc/init.d/munin-node start (linux)
/usr/local/etc/rc.d/munin-node.sh start (FreeBSD)

Vaikimisi joonistab munin järgnevatest teenustest graafikuid

  • Disk
  • Network
  • Processes
  • Sendmail
  • System

Näiteks cpu kohta joonistab munin sellise pildi

Cpu-day.png

Munin node'lt on võimalik infot küsida kasvõi telneti abil. Võib olla vajalik selleks ,et selgitada näiteks välja miks mõni plugin ei toimi. Näiteks küsime enda localhostis jooksva node käest mis on ta versioon ja laseme tal väljastada cpu info.

# telnet localhost 4949
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
# munin node at server.ee
version
munins node on server.ee version: 1.2.5
fetch cpu
user.value 7277242
nice.value 3456
system.value 6928877
interrupt.value 4260973
idle.value 6397641460
quit

Pluginate lisamine

Muninil on kaasas rikkalik kogu erinevaid pluginaid

asuvad nad realselt kaustas /usr/local/share/munin/plugins/ kust peamised on lingitud kausta /usr/local/etc/munin/plugins

tasub uurida juba olemasolevaid pluginaid enne kui hakata neid netist otsima.

Näiteks mysql jaoks on olemas juba põhjalikud graafikute joonistamise vahendid. Nende lubamiseks.

Lingime mysql pluginad munin'i work kataloogi

ln -s /usr/local/share/munin/plugins/mysql_* /usr/local/etc/munin/plugins

Avame faili plugin-conf.d/plugins.conf ja lisame sinna

[mysql*]
env.mysqlopts -u status

Seejärel siseneme mysql serverisse ning tekitame sinna paroolita ja privileegideta kasutaja status

Seejärel restardime munin-node

Server

Serveris tuleb defineerida ära kataloog kuhu tekivad graafikute pildid

htmldir /usr/local/www/munin

Liigume etc/munin' kausta ja avame munin.conf. Defineerime kliendi

[klient.host.ee]
    address 192.168.1.5
    use_node_name yes

Kui peale munini tarkvara upgradet serveris graafikute joonistamine enam ei toimi, tasub kontrollida kaustade õigusi, kus faile hoitakse.

Juhul kui veebiserveri dokumentroot on suunatud kuhugi mujale ja mitte sinna kuhu graafikuid tekitatakse on vajalik lisada httpd.conf'i rida alias /munin /usr/local/www/munin' ning anda ka sellele kataloogile vastavad õigused

Plugina kirjutamine

väga primitiivne plugin mis Loeb kokku kaustas olevad failid ja joonistab neist graafikut

Plugina nimeks paneme loenda

Skriptile on kaks nõudmist. Pannes selle lihtsalt käima peab ta andma info mida kasutatakse graafiku joonistamiseks Ja käivitatades parameetriga config peab plugin jagama endakohta täpsemat kirjeldust

#!/bin/sh

if [ "$1" = "config" ]; then
    echo "graph_title failide hulga graafik"
    echo 'graph_category Failid'
    echo "graph_info See graafik joonistatakse failide hulga järgi kaustas"
    echo 'loenda.label failide arv '
    echo "loenda.info failide arv kaustas"
    echo "loenda.type GAUGE"
    exit 0
fi

echo -n "loenda.value "
ls -la /home | wc -l 

Muidugi on võimalusi veel palju rohkem. Keerukamateks lahendusteks soovitan uurida manuali.

Stardime loodud skripti

#plugins/loenda
loenda.value 124

Ja kontrollime kas ta väljastab korrektset infot

#plugins/loenda config
graph_title failide hulga graafik
graph_category Failid
graph_info See graafik joonistatakse failide hulga järgi kaustas
loenda.label failide arv
loenda.info failide arv kaustas
loenda.type GAUGE

Plugina installimine

Nende seadistus käib kaustast plugin-conf.d/ failist plugins.conf. Kaust plugin-conf on etc/munin alamkaustaks.

Pluginad ise asuvad kaustas plugins

Näiteks soovime lisada plugina loenda

Selleks kopeerime plugina kausta plugins Ja lisame plugins.conf faili read

[loenda]
user root

Seejärel teeme munin-node'le taas restardi.

Tulemus oleks selline

Lugeja-day.png

Teavitamine mailile

Munini vahenditega on üsna lihtne saata kõigi teadete kohta mail, piisab kui lisada munin.conf faili serveril

contact.someuser.command mail -s "Munin notification" kasutaja@nimi.ee

Ja edaspidi saadetakse kõikide masinate teated OK -> WARNING, CRITICAL -> OK määratud aadressile.

näiteks

Kriitiline teade

nimi.ee :: mail.nimi.ee :: Load average
	CRITICALs: load is 4.23 (outside range [0:0]).

Ja probleemi lahendus

nimi.ee :: mail.nimi.ee :: Load average
	OKs: load is 1.36.

Erinevaid tasemeid millest alates munin leiab ,et on oht saab modifitseerida taas munin serveris näiteks tõstame taset mis hetkest load on kriitiline

[klient.host.ee]
    address 192.168.1.5
    use_node_name yes
    load.load.warning 10
    load.load.critical 20

Sellisel kujul saab muuta kõiki vaikeseadeid mida iga teenuse mõõtmisel kasutatakse. Süntaks on järgmine

[plugina nimi].[Field].(warning|critical) [value]

Väärtused mis kasutusel on kõigi graafikute all nimekirjana väljatoodud, samuti Field nimetused. Plugina nime saab vajadusel täpselt ülevaadata vaadata plugins kaustast.

Lisa1 näiteplugin UPSi kolme faasi võimsuse graafiku joonistamiseks

Plugin küsib kasutades SNMP'd upsilt infot ja joonistab selle alusel kolm gfaafikut

#!/bin/sh

if [ "$1" = "config" ]; then
  echo 'graph_title UPSi faaside v6imsused'
  echo 'graph_vlabel Watts'
  echo 'graph_category ups'
  echo 'graph_info See graafik joonistatakse UPSi kolme faasi võimsuste alusel (upsOutputPowergen)'

  echo 'faas1.label Faas 1 '
  echo 'faas1.info Faas 1'
  echo 'faas1.type GAUGE'

  echo 'faas2.label Faas 2 '
  echo 'faas2.info Faas 2'
  echo 'faas2.type GAUGE'

  echo 'faas3.label Faas 3 '
  echo 'faas3.info Faas 3'
  echo 'faas3.type GAUGE'

  exit 0
fi

echo -n "faas1.value "
/usr/local/bin/snmpget -v 2c -c idenfifikaator ups.zoo.tartu.ee SNMPv2-SMI::mib-2.33.1.4.4.1.4.1 | awk '{ print $4 }'
echo -n "faas2.value "
/usr/local/bin/snmpget -v 2c -c identifikaator ups.zoo.tartu.ee SNMPv2-SMI::mib-2.33.1.4.4.1.4.2 | awk '{ print $4 }'
echo -n "faas3.value "
/usr/local/bin/snmpget -v 2c -c idenfifikaator ups.zoo.tartu.ee SNMPv2-SMI::mib-2.33.1.4.4.1.4.3 | awk '{ print $4 }'

Lingid

Ametlik kodulekeülg http://munin.projects.linpro.no/

Plugin windowsile http://munin.projects.linpro.no/wiki/HowToMonitorWindows

Pluginate kogumik http://muninexchange.projects.linpro.no/

FreeBSD installiõpetus http://www.freebsdmadeeasy.com/tutorials/web-server/monitoring-with-munin.php