Munin – Serverüberwachung unter Linux

In Anlehnung an den 1. Artikel möchte ich nun auf die Installation von Munin unter Debian eingehen.

Munin dient dazu, Probleme auf dem Server frühzeitig zu erkennen. Munin ist schnell und vorallem einfach installiert und konfiguriert. Die einfache Anpassung an die eigenen Bedürfnisse hilft uns, die Überwachung auf unser System ab zu stimmen.

Munin sammelt regelmäßig (5 Minuten Abstand) die Daten unseres Servers und veranschaulicht uns diese in Graphen, die wir über den Webbrowser abrufen können.

Von Haus aus bietet Munin zahlreiche Plugins, die einfach in das System eingebunden werden können. Die Plugins sind einfache Perl-Scripte, was das Erstellen eigener Scripte sehr einfach macht. Auch im Internet gibt es bereits zahlreiche vorgefertigte Scripte, die für die eigenen Bedürfnisse angepasst werden können.

Installation von Munin

Kommen wir nun zur Installation von Munin unter Debian. Folgende Befehle müssen dafür aufgerufen werden:
$ aptitude install munin
$ nano /etc/munin/munin.conf

Als Nächstes müssen wir die Konfigurationsdatei unter /etc/munin/munin.conf bearbeiten. Wir möchten, dass munin die Ausgabe in das Verzeichnis /var/www/www.example.com/web/munin packt, dazu ändern wir den Wert von htmldir. Die Datei sollte wie folgt aussehen:

[…]
dbdir   /var/lib/munin
htmldir /var/www/www.example.com/web/munin
logdir  /var/log/munin
rundir  /var/run/munin
# Where to look for the HTML templates
tmpldir /etc/munin/templates
[…]
# a simple host tree
[server1.example.com]
address 127.0.0.1
use_node_name yes
[…]

Nun erstellen wir das Verzeichnis /var/www/www.example.com/web/munin und setzen die Rechte für den Nutzer und die Gruppe auf „munin“. Munin kann seine Daten dann in diesem Verzeichnis ablegen. Anschließend starten wir munin neu, damit der Prozess beginnen kann.

$ mkdir -p /var/www/www.example.com/web/munin
$ chown munin:munin /var/www/www.example.com/web/munin
$ /etc/init.d/munin-node restart

Nach ein paar Minuten steht uns dann die Ausgabe von Munin unter www.example.com/munin zur Verfügung. Das Verzeichnis sollte anschließend noch vor unberechtigten Zugrifen geschützt werden.

Munin Plugins

Munin bietet die Möglichkeit, weitere Plugins zu installieren oder bereits eingerichtet Plugins wieder zu entfernen. Alle zur Verfügung stehenden Plugins sind zu finden unter: „/usr/share/munin/plugins“
Die Plugins werden per Symlink unter „/etc/munin/plugins“ eingebunden und werden anschließend in der Weboberfläche angezeigt (dies dauert ein paar Minuten).

Ein Beispiel zum Einbinden des „Ping-Plugins“ von Munin:
$ ln -s /usr/share/munin/plugins/ping_ /etc/munin/plugins/ping_www.example.com

Eine Liste, aller zur Verfügung stehender Munin-Plugins:

acpi
amavis
apache_accesses
apache_processes
apache_volume
apc_envunit_
apt
apt_all
bind9
bind9_rndc
bonding_err_
buddyinfo
courier_mta_mailqueue
courier_mta_mailstats
courier_mta_mailvolume
cps_
cpu
cpuspeed
cupsys_pages
df
df_abs
df_inode
digitemp_
diskstat_
diskstats
entropy
exim_mailqueue
exim_mailstats
fail2ban
forks
freeradius_acct
freeradius_auth
freeradius_proxy_acct
freeradius_proxy_auth
fw_conntrack
fw_forwarded_local
fw_packets
hddtemp_smartctl
http_loadtime
if_
if_err_
ifx_concurrent_sessions_
interrupts
iostat
iostat_ios
ip_
ipmi_
ircu
irqstats
jmx_
load
loggrep
lpstat
memory
multiping
multips
multips_memory
munin_stats
munin_update
mysql_
mysql_bytes
mysql_innodb
mysql_isam_space_
mysql_queries
mysql_slowqueries
mysql_threads
netstat
nfs4_client
nfs_client
nfsd
nfsd4
nginx_request
nginx_status
ntp_
ntp_kernel_err
ntp_kernel_pll_freq
ntp_kernel_pll_off
ntp_offset
ntp_states
nvidia_
open_files
open_inodes
ping_
plugin.sh
plugins.history
port_
postfix_mailqueue
postfix_mailstats
postfix_mailvolume
postgres_bgwriter
postgres_cache_
postgres_checkpoints
postgres_connections_
postgres_connections_db
postgres_locks_
postgres_querylength_
postgres_scans_
postgres_size_
postgres_transactions_
postgres_tuples_
postgres_users
postgres_xlog
processes
proc_pri
proxy_plugin
ps_
psu_
qmailqstat
quota_usage_
selinux_avcstat
sendmail_mailqueue
sendmail_mailstats
sendmail_mailtraffic
sensors_
slapd_
slapd_bdb_cache_
slony_lag_
smart_
snmp__cpuload
snmp__df
snmp__fc_if_
snmp__fc_if_err_
snmp__if_
snmp__if_err_
snmp__if_multi
snmp__load
snmp__memory
snmp__netapp_diskusage_
snmp__netapp_inodeusage_
snmp__netstat
snmp__print_pages
snmp__print_supplies
snmp__processes
snmp__rdp_users
snmp__sensors_fsc_bx_fan
snmp__sensors_fsc_bx_temp
snmp__sensors_fsc_fan
snmp__sensors_fsc_temp
snmp__sensors_mbm_fan
snmp__sensors_mbm_temp
snmp__sensors_mbm_volt
snmp__swap
snmp__uptime
snmp__users
snmp__winload
snmp__winmem
snort_alerts
snort_bytes_pkt
snort_drop_rate
snort_pattern_match
snort_pkts
snort_traffic
squeezebox_
squid_cache
squid_icp
squid_objectsize
squid_requests
squid_traffic
swap
sybase_space
tcp
threads
tomcat_
tomcat_access
tomcat_jvm
tomcat_threads
tomcat_volume
uptime
users
varnish_
vlan_
vlan_inetuse_
vlan_linkuse_
vmstat
vserver_cpu_
vserver_loadavg
vserver_resources
yum
zimbra_

Plugins und ihre Funktion

Auf einige, der aufgezählten Plugins möchte ich näher eingehen und sie kurz mit ihrer Funktion erläutern. Weitere Beschreibungen enthalten meist die Plugins selber.

pending_packages zeigt die Serverpakete, die aktualisiert werden müssen. Ein „aptitude update“ und „aptitude upgrade“ sollte den Zeiger wieder auf 0 setzen, nachdem alle Aktualisierungen installiert wurden.

apache_processes gibt die Anzahl aktuell laufender Apache-Prozesse wieder.

mysql_troughput zeigt die Anzahl gesendeter oder empfangener Bytes der Mysql-Datenbank an.

mysql_queries gibt die Anzahl gleichzeitiger Anfragen an die Datenbank pro Sekunde an.

fw_conntrack gibt die Anzahlan Verbindungen zur Firewall an.

Zusätzliche Plugins, die selber installiert werden müssen

Das Plugin loadtime dient dazu, die Ladezeit von Domains und Urls zu überwachen. Zu finden ist es hier.

Das könnte dich auch interessieren …

4 Antworten

  1. 2. März 2011

    […] werden. In 2 Artikeln bin ich bereits auf Munin eingegangen: Im Ersten etwas erklärend und im Zweiten auf die Einrichtung und […]

  2. 24. März 2011

    […] Voraussetzung ist, dass wir vorher Munin auf unserem Server eingerichtet haben. Eine Anleitung ist hier zu […]

  3. 28. März 2012

    […] Zeit habe ich über Servermonitoring geschrieben. In meinen vergangenen Artikeln ging es meist um Monitoring mit Munin, die Einrichtung von Munin, sowie der Einrichtung weiterer Plugins unter […]

  4. 3. Oktober 2016

    […] meinen vorherigen Artikeln (1 / 2) zu Munin möchte ich nun noch einmal kurz auf die Plugins […]