Inhaltsverzeichnis

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.

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.

/etc/munin/munin.conf

[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.

testen der installation von munin

su - munin
/usr/bin/munin-cron

Hier werden dann perl-Fehler oder andere Probleme angezeigt.

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

Munin auf CentOS 5.1

FIXME