Freien Speicher mit Munin überwachen

So, zurück aus dem Urlaub, da kann es ja weitergehen mit dem bloggen 😉

Wer Munin zum überwachen seine(r/s) Server(s) benutzt (wie ich) kennt wahrscheinlich auch den Graph, der die Speicherauslastung anzeigt. Der sieht ungefähr so aus:

Aber ganz ehrlich: Ich steige da nicht durch… Zum einen ist der Graph blöd skaliert (ich habe nur 200MB RAM, aber er geht bis 25GB), und man kann auch nicht wirklich erkennen, ob man nun noch Speicher hat oder nicht.

Also dachte ich mir, bauen ich doch mein altes Skript etwas um, und integriere es in Munin. Das ist gar nicht schwer, denn es gibt natürlich eine passende Anleitung.

Also das Skript ein bisschen umgeschrieben, und fertig ist das Ding. Um es in Munin zu integrieren muss es natürlich ausführbar gemacht werden (chmod a+x file) und unter /etc/munin/plugins ein Link auf die Datei angelegt werden. Danach noch munin-node neustarten, und fertig ist das eigene Plugin.

Überwacht werden der vorhandene und benutzte RAM und Swap. Die Daten werden aus der Ausgabe von free gewonnen. Ein Bild kann ich leider noch nicht zeigen, ich habe das ja selber erst seit 30min laufen… Aber ich hoffe doch auf ein besseres Bild als das da oben. Hier ist also der komplette Code:


#!/bin/sh

#Munin Plugin to monitor the ouput of free
#Written by Niklas Rother 2011

case $1 in
config)
cat <<'EOM'
graph_title Memory ussage
graph_vlabel Vytes
RAM_total.label Total RAM
RAM_used.label Used RAM
Swap_total.label Total Swap
Swap_used.label Used Swap
graph_args --base 1024 -l 0
graph_scale yes
graph_category other
graph_info This graph shows some values of the output of "free". The buffer/cache adjusted values are used.
RAM_total.info The total ammount of build in RAM (free total colum)
RAM_used.info The ammount of RAM currently used by processes (excluding buffers and caches)
Swap_total.info The total ammount of availible available Swap
Swap_used.info The ammount of Swap currently used by processes
EOM
exit 0;;
esac

echo -n "RAM_total.value "
free|grep Mem:|awk '{ print $2 }'

echo -n "RAM_used.value "
free|grep cache:|awk '{ print $3 }'

echo -n "Swap_total.value "
free|grep Swap:|awk '{ print $2 }'

echo -n "Swap_used.value "
free|grep Swap:|awk '{ print $3 }'

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.