Munin

De SergiTurWiki

Share/Save/Bookmark
Dreceres ràpides: navegació, cerca
Aquesta wiki forma part dels materials d'un curs
Curs: SeguretatXarxesInformàtiques, LinuxAdministracioAvancada, DissenyXarxesLinux
Fitxers: EinesMonitoritzacio.pdf (EinesMonitoritzacio.odp)

EinesMonitoritzacio2.pdf (EinesMonitoritzacio2.odp)

Repositori SVN: https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/SeguretatXarxesInformàtiques
Usuari: anonymous
Paraula de pas: sense paraula de pas
Autors: Sergi Tur Badenas
Munin Logo

Munin és un servei de monitorització. El servidor munin (munin-node) utilitza el port 4949.

$ cat /etc/services | grep 4949
munin           4949/tcp        lrrd            # Munin

L'origen del nom tal i com es comenta a la pàgina oficial de Munin, està en un dels nom dels corbs d'un antic deu nòrdic anomenat el Rei Odin. Els corbs s'encarregaven de controlar el reialme del rei.

Munin vol dir memòria.

Hugin and Munin are the ravens of the Norse god king Odin. They flew all over Midgard for him, seeing and remembering, and later telling him.

Contingut

Munin

Munin-node (paquet munin-node) és el servidor en l'arquitectura de Munin. És el que respons a les peticions de monitorització rebudes des de un o més clients munin (paquet munin). Els clients reben les respostes i creen les gràfiques de l'aplicació web. Es pot accedir a la aplicació web amb la següent URL:

http://localhost/munin

o

http://ip_munin/munin

Instal·lació

$ sudo apt-get install munin

Executables:

$ sudo dpkg -L munin | grep bin
/usr/bin
/usr/bin/munin-cron
/usr/lib/cgi-bin
/usr/lib/cgi-bin/munin-cgi-graph

Fitxers de configuració:

$ sudo dpkg -L munin | grep etc
/etc
/etc/munin
/etc/munin/templates
/etc/munin/templates/munin-comparison-day.tmpl
/etc/munin/templates/munin-comparison-month.tmpl
/etc/munin/templates/munin-comparison-week.tmpl
/etc/munin/templates/munin-comparison-year.tmpl
/etc/munin/templates/munin-domainview.tmpl
/etc/munin/templates/munin-nodeview.tmpl
/etc/munin/templates/munin-overview.tmpl
/etc/munin/templates/munin-serviceview.tmpl
/etc/munin/templates/logo.png
/etc/munin/templates/style.css
/etc/munin/templates/definitions.html
/etc/munin/munin.conf
/etc/cron.d
/etc/cron.d/munin 
/etc/logrotate.d
/etc/logrotate.d/munin

Documentació:

$ sudo dpkg -L munin | grep doc
/usr/share/doc
/usr/share/doc/munin
/usr/share/doc/munin/munin-faq.html
/usr/share/doc/munin/munin-faq.txt.gz
/usr/share/doc/munin/munin-doc.pdf.gz
/usr/share/doc/munin/munin-doc.html
/usr/share/doc/munin/munin-doc.txt.gz
/usr/share/doc/munin/NEWS.Debian.gz
/usr/share/doc/munin/README-apache-cgi
/usr/share/doc/munin/copyright
/usr/share/doc/munin/changelog.gz
/usr/share/doc/munin/munin-faq.pdf.gz
/usr/share/doc/munin/changelog.Debian.gz

Un cop instal·lat podem utilitzat munin obrint la URL:

http://localhost/munin

Al nostre navegador web.

Configuració

Bàsicament la configuració de Munin consisteix en afegir al fitxer /etc/munin/munin.conf. Un exemple:

$ sudo joe /etc/munin/munin.conf
...
moodle.iescopernic.com]
   address 127.0.0.1
   use_node_name yes

[imatges.iescopernic.com]
   address 192.168.0.4
   local_adsress 192.168.0.4
   use_node_name yes

[router.iescopernic.com]
   address 192.168.0.2
   local_address 192.168.0.2
   use_node_name yes

[ipcopaula1.iescopernic.com]
   address 192.168.1.2 
   local_address 192.168.1.2
   use_node_name yes

[ipcopaula2.iescopernic.com]       
   address 192.168.2.2 
   local_address 192.168.2.2
   use_node_name yes

[ipcopaula3.iescopernic.com]       
   address 192.168.3.2 
   local_address 192.168.3.2
   use_node_name yes

[ipcopaula4.iescopernic.com]       
   address 192.168.4.2 
   local_address 192.168.4.2
   use_node_name yes

[ipcopaula5.iescopernic.com]       
   address 192.168.5.2 
   local_address 192.168.5.2
   use_node_name yes

[ipcopaula6.iescopernic.com]       
   address 192.168.6.2 
   local_address 192.168.6.2
   use_node_name yes

[ipcopaula7.iescopernic.com]       
   address 192.168.7.2 
   local_address 192.168.7.2
   use_node_name yes

[ipcopaula8.iescopernic.com]       
   address 192.168.8.2 
   local_address 192.168.8.2
   use_node_name yes

Un cop configurat munin només cal esperar. Cada 5 minuts Muni es executat per cron:

$ cat /etc/cron.d/munin
#
# cron-jobs for munin
#  

MAILTO=root

@reboot         root  if [ ! -d /var/run/munin ]; then /bin/bash -c 'perms=(`/usr/sbin/dpkg-statoverride --list /var/run/munin`); mkdir /var/run/munin;   
chown ${perms[0]:-munin}:${perms[1]:-root} /var/run/munin; chmod ${perms[2]:-0755} /var/run/munin'; f  i
*/5 * * * *     munin if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi
14 10 * * *     munin if [ -x /usr/share/munin/munin-limits ]; then /usr/share/munin/munin-limits --force --contact nagios --contact old-nagios; fi

Munin-node

Munin-node és el client en l'arquitectura de Munin. És el que processa les dades i les envia al servidor munin (paquet munin).

Instal·lació

$ sudo apt-get install munin-node

Executables:

$ dpkg -L munin-node | grep bin
/usr/sbin
/usr/sbin/munin-node
/usr/sbin/munin-node-configure
/usr/sbin/munin-run
/usr/sbin/munin-node-configure-snmp

Fitxers de configuració:

$ dpkg -L munin-node | grep etc
/etc
/etc/munin
/etc/munin/plugins
/etc/munin/plugin-conf.d
/etc/munin/plugin-conf.d/munin-node
/etc/munin/munin-node.conf
/etc/init.d
/etc/init.d/munin-node
/etc/cron.d
/etc/cron.d/munin-node
/etc/logrotate.d
/etc/logrotate.d/munin-node

Documentació:

$ dpkg -L munin-node | grep doc
/usr/share/doc
/usr/share/doc/munin-node
/usr/share/doc/munin-node/munin-faq.html
/usr/share/doc/munin-node/munin-faq.txt.gz
/usr/share/doc/munin-node/munin-doc.pdf.gz
/usr/share/doc/munin-node/munin-doc.html
/usr/share/doc/munin-node/munin-doc.txt.gz
/usr/share/doc/munin-node/NEWS.Debian.gz
/usr/share/doc/munin-node/README.Debian
/usr/share/doc/munin-node/copyright
/usr/share/doc/munin-node/changelog.gz
/usr/share/doc/munin-node/munin-faq.pdf.gz
/usr/share/doc/munin-node/changelog.Debian.gz

Control del servei munin-node. Execució, parada i reconfiguració de munin-node

Seguint els estàndards de Debian GNU/Linux (basat en el sistema d'scripts d'inicialització SystemV ) l'script de control del dimoni bind és:

/etc/init.d/munin-node

Les accions que podem fer amb el servei són start|stop|restart|force-reload|try-restart.

Cada cop que fem un canvi a la configuració de munin-node hem de fer un restart o, millor encara, un reload del servei:

$ sudo /etc/init.d/munin-node reload

Tal com podem veure executant:

$ sudo updatedb
$ locate munin-node | grep rc
/etc/rc0.d/K20munin-node
/etc/rc1.d/K20munin-node
/etc/rc2.d/S98munin-node
/etc/rc3.d/S98munin-node
/etc/rc4.d/S98munin-node
/etc/rc5.d/S98munin-node
/etc/rc6.d/K20munin-node

El servei munin-node s'executa a partir del nivell 2.

Podeu trobar més informació a l'article Configuració de serveis en Linux.

Configuració

El fitxer de configuració és /etc/munin/munin-node.conf . Un exemple de fitxer de configuració pot ser:

$ cat munin-node.conf
#
# Example config-file for munin-node
#

log_level 4
log_file /var/log/munin/munin-node.log
port 4949
pid_file /var/run/munin/munin-node.pid
background 1
setseid 1

# Which port to bind to;
host *
user root
group root
setsid yes 

# Regexps for files to ignore 

ignore_file ~$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$

# Set this if the client doesn't report the correct hostname when
#  telnetting to localhost, port 4949
#
#host_name localhost.localdomain

# A list of addresses that are allowed to connect.  This must be a
# regular expression, due to brain damage in Net::Server, which
# doesn't understand CIDR-style network notation.  You may repeat
# the allow line as many times as you'd like
 
allow ^127\.0\.0\.1$
allow 192.168.1.3

El més important són les línies allow que indiquen quins clients poden accedir al servei que proporciona Munin-node.

Cada cop que modifiquem la configuració de munin-node hem de tornar a iniciar Munin:

$ sudo /etc/init.d/munin-node restart

Ports

El port de munin-node és:

$ cat /etc/services | grep munin
munin           4949/tcp        lrrd            # Munin


$ sudo nmap 192.168.1.2 -p 4949
Starting Nmap 4.20 ( http://insecure.org ) at 2007-11-23 11:30 CET
Interesting ports on 192.168.1.2:
PORT     STATE SERVICE
4949/tcp open  unknown
MAC Address: 00:30:1B:B7:CD:B6 (Shuttle)

Munin a IPCOP

Consulteu IPCOP#Munin_IPCOP.

Resol·lució de problemes

Executar el cron de munin manualment

Ho podeu fer més senzillament amb sudo:

$ sudo -u munin /usr/bin/munin-cron

---

El client munin és bàsicament una tasca que s'executa periòdicament amb cron. L'executable és:

/usr/bin/munin-cron

I s'executa cada 5 minuts segons:

# cat /etc/cron.d/munin

Per forçar l'execució de la tasca a mà feu

$ sudo joe /etc/passwd

Busqueu una línia similar a:

munin:x:108:113::/var/lib/munin:/bin/false

i la canvieu per:

munin:x:108:113::/var/lib/munin:/bin/bash

Ara ja podeu iniciar una sessió:

$ su munin
munin@maquina:~$ /usr/bin/munin-cron
$ exit

Desfeu els canvis al fitxer /etc/passwd.

Enllaços externs

IES Nicolau Copèrnic