====== 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