Munin

Munin ist ein Monitoring-Tool zur kontinuierlichen Leistungsüberwachung Computern und SNMP-fähigen Netzwerkgeräten. Die Software sammelt und speichert Daten, bereitet diese mittels Tobi Oetikers RRDTool visuell auf und ermöglicht so beispielsweise das Aufspüren von Lastspitzen und Leistungsengpässen.

Geschrieben ist das Tool in Perl; paktiert steht es für Debian, Ubuntu, Fedora (Extras), Red Hat, Red Hat Enterprise Linux, Gentoo sowie FreeBSD zur Verfügung. Munin basiert auf einer Client-Server-Architektur, wobei "Clients" als "Nodes" und der "Server" auch als "Master" bezeichnet werden.

Installation

Unter Debian und Ubuntu installiert man den Master mit einem schlichten

# apt-get install munin

Für einen Node reicht folgendes Kommando aus:

# apt-get install munin-node

Konfiguration

Munin-Node

Wie unter Debian üblich, ist auch Munin nach der Installation bereits vorkonfiguriert - zumindest in einer rudimentären Form:

# cat /etc/munin/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$

Munin (Master)

~# cat /etc/munin/munin.conf  | more

# Example configuration file for Munin, generated by 'make build'



# The next three variables specifies where the location of the RRD

# databases, the HTML output, and the logs, severally.  They all

# must be writable by the user running munin-cron.

dbdir   /var/lib/munin

htmldir /var/www/munin

logdir  /var/log/munin

rundir  /var/run/munin



# Where to look for the HTML templates

tmpldir /etc/munin/templates



# Make graphs show values per minute instead of per second

#graph_period minute



# Drop somejuser@fnord.comm and anotheruser@blibb.comm an email everytime

# something changes (OK -> WARNING, CRITICAL -> OK, etc)

#contact.someuser.command mail -s "Munin notification" somejuser@fnord.comm

#contact.anotheruser.command mail -s "Munin notification" anotheruser@blibb.comm

#

# For those with Nagios, the following might come in handy. In addition,

# the services must be defined in the Nagios server as well.

#contact.nagios.command /usr/sbin/send_nsca -H nagios.host.com -c /etc/send_nsca.cfg



# a simple host tree

[localhost.localdomain]

    address 127.0.0.1

    use_node_name yes



#

# A more complex example of a host tree

#

## First our "normal" host.

# [fii.foo.com]

#       address foo

#

## Then our other host...

# [fay.foo.com]

#       address fay

#

## Then we want totals...

# [foo.com;Totals] #Force it into the "foo.com"-domain...

#       update no   # Turn off data-fetching for this "host".

#

#   # The graph "load1". We want to see the loads of both machines...

#   # "fii=fii.foo.com:load.load" means "label=machine:graph.field"

#       load2.dummy_field.label dummy # This is needed. Silly, really.

#

#   # The graph "load3". Now we want them summarised into one field

#       load3.graph_title Loads summarised

#       load3.combined_loads.sum fii.foo.com:load.load fay.foo.com:load.load

#       load3.combined_loads.label Combined loads # Must be set, as this is

#                                                 # not a dummy field!

#

## ...and on a side note, I want them listen in another order (default is

## alphabetically)

#

# # Since [foo.com] would be interpreted as a host in the domain "com", we

# # specify that this is a domain by adding a semicolon.

# [foo.com;]

#       node_order Totals fii.foo.com fay.foo.com

#

Munin Node Plugins

Munin sucht in /etc/munin/plugins nach ausführbaren Dateien oder SKripten.

Visualisierung

Setzt man das Root-Verzeichnis des Webservers auf /var/www/munin, erscheinen dort nach einigen Minuten Grafiken. Das funktioniert erfreulicherweise nicht nur mit Fast-CGI, sondern auch mit Lighty.

Ohne weitere Konfiguration überwacht Munin nun folgende Dienste und Systemparameter: Disk, Network, Postfix, Processes, Sensors und System.

Literatur

  • Gabriele Pohl, Michael Renner: Munin: Graphisches Netzwerk- und System-Monitoring. Open Source Press, 2008 (ISBN 978-3937514482)

Netmarks

Medien zum Thema

Image of Munin: Graphisches Netzwerk- und System-Monitoring
Autor: Gabriele Pohl, Michael Renner
Verlag: Open Source Press (2008)
Bindung: Broschiert, 336 Seiten