====== munin auf einem RedHat basierten System ======
===== Voraussetzungen =====
Für den Betrieb von Munin sind folgende RPM-Pakete erforderlich. Diese sind u.a. auf [[http://rpms.serviert.de]],[[http://dag.wieers.com/packages/]] und bei RedHat selbst zu finden.
* rrdtool
* perl-Net-Server
* sysstat
* munin-node
* perl-DateManip
* perl-HTML-Template
* munin
~~UP~~
===== Installation/Konfiguration =====
Bei der Installation von munin mittels der RPMs wird ein user ''munin'' angelegt. Das Home-Verzeichnis ist ''/var/lib/munin'' und enthält nach erfolgreichem Start die Auswertungen im rrdtool-Format.
Als Webserververzeichnis wird ''/var/www/html/munin'' verwendet.
[hostname]
address ip.ad.re.ss
use_node_name yes
Dieser Eintrag ist als Minimum anzupassen, damit munin funktioniert. (Alternativ können in dieser Datei auch die Pfade zu ''dbdir'',''htmldir'',''logdir'' angepaßt werden).
~~UP~~
==== Pitfalls ====
=== Ist alles schreibbar ===
Ob auch wirklich Auswertungen generiert werden können, sollte man die Installation testen.
su - munin
/usr/bin/munin-cron
Hier werden dann perl-Fehler oder andere Probleme angezeigt.
* Perl-Problem
* Bei der Installation von fertigen RPMS kann es sein, dass die Datei ''Munin.pm'' nicht gefunden wird. Diese liegt nach der Installation in ''rpm -ql munin | grep Munin.pm''. Wenn das angegebene Verzeichnis nicht der aktuellen perl-Installation entspricht, ist die Datei ggf. zu verschieben oder das RPM neu zu erstellen.
* z.B. ''mv /usr/lib/perl5/vendor_perl/5.8.3/Munin.pm /usr/lib/perl5/vendor_perl/5.8.0''
* Log-Verzeichnis nicht schreibbar
* ''mkdir -p /var/log/munin && chown -R munin /var/log/munin''
=== Skalierung ===
Sollen die RRD-Graphen einheitlich skaliert sein und nicht durch "Ausreißer" die Skalierung automatisch angepaßt werden, so ist in der "config" Sektion des entsprechenden Plugins mit dem Schlüsselwort "graph_args" eine Anpassung vorzunehmen.
#!/bin/sh
URL1=http://www.heise.de
URL2=https://www.xing.com
export HOME=/var/lib/munin
if [ "$1" == "config" ]; then
echo 'graph_title Ausgehende Verbindungen via Proxy (in ms)'
echo 'graph_args --base 1000 -l 0 -u 11000 -r'
echo 'graph_scale no'
echo 'graph_category proxy-stats'
echo 'url1pro1.label url1 (http) '
echo 'url1pro1.warning 10000'
echo 'url1pro1.critical 60000'
echo 'url2pro1.label url2 (https)'
echo 'url2pro1.warning 10000'
echo 'url2pro1.critical 60000'
echo 'graph_info Time to connect to external (in milliseconds)'
exit 0
fi
export http_proxy=http://meinproxy.local:3128
export https_proxy=http://meinproxy.local:3128
T1=$(perl -e "use Time::HiRes; printf \"%.0f\n\",Time::HiRes::time() * 1000")
lynx $URL1 --dump -connect_timeout=70 >/dev/null 2>&1
RC=$?
T2=$(perl -e "use Time::HiRes; printf \"%.0f\n\",Time::HiRes::time() * 1000")
DURATION1=$((T2 - T1))
[[ "$RC" != "0" ]] && DURATION1=75000
T1=$(perl -e "use Time::HiRes; printf \"%.0f\n\",Time::HiRes::time() * 1000")
lynx $URL2 --dump -connect_timeout=70 >/dev/null 2>&1
RC=$?
T2=$(perl -e "use Time::HiRes; printf \"%.0f\n\",Time::HiRes::time() * 1000")
DURATION2=$((T2 - T1))
[[ "$RC" != "0" ]] && DURATION2=75000
echo "url1pro2.value " $DURATION1
echo "url2pro2.value " $DURATION2
Hier wird ein auf 11sekunden skaliertes Bild erzeugt, auch wenn durch timeouts das obere Limit (75s) überschritten ist.
===== Munin auf RHEL3 =====
* yum -y install perl-Time-HiRes sysstat perl-libwww-perl perl-DateManip perl-Digest-HMAC perl-Digest-SHA1
* Pakete von linpro bzw. dag wieers/rpmforge holen
* munin-1.2.5-1rhel3.noarch.rpm munin-node-1.2.5-1rhel3.noarch.rpm
* perl-HTML-Template-2.8-1.1.el3.rf.noarch.rpm perl-Net-Server-0.95-1.el3.rf.noarch.rpm
* perl-Net-SNMP-5.2.0-1.1.el3.rf.noarch.rpm perl-rrdtool-1.0.50-3.el3.rf.i386.rpm
* rrdtool-1.0.50-3.el3.rf.i386.rpm rrdtool-devel-1.0.50-3.el3.rf.i386.rpm
===== Munin auf CentOS 5.1 =====
* yum install perl-DateManip sysstat vixie-cron
FIXME