Memory Monitoring unter Linux mit Icinga

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Da der Linux Page Cache den Arbeitsspeicher unter Linux sehr extensiv nutzt, ist es sinnvoll dies beim Monitoring via Icinga zu berücksichtigen. Dieser Artikel zeigt welche Plugins sich zur Überwachung des Arbeitsspeicher und Swap eignen.

Linux Page Cache

Das Kommando "free" zeigt in der Spalte "cached" an, wieviel vom Arbeitsspeicher im Moment für den Page Cache aufgewendet werden. Der vom Page Cache verwendete Arbeitsspeicher wird von Linux automatisch für Applikationen freigegeben, falls diese einen anfordern und kein Speicher mehr frei ist.

Bsp mit der Option "-g" für Gigabyte:

$ free -g
             total       used       free     shared    buffers     cached
Mem:           125         92         33          0          0         86
-/+ buffers/cache:          5        120
Swap:            3          0          3

In diesem Fall wird ein Großteil des Arbeitsspeicher für den Page Cache verwendet (86GB). Neben dem Page Cache werden nur 5GB wirklich von Applikationen benötigt. Somit hat der Server mehr als ausreichend RAM zur Verfügung, da der Großteil vom Page Cache verwendet wird.

Plugin "check_swap"

Im Debian/Ubuntu Paket "nagios-plugins-basic" ist das Plugin "check_swap" vorhanden. Im Normalbetrieb sollte ein Server für eine optimale Performance keinen SWAP Speicherplatz benötigen. Mit diesem Plugin wird man erst dann alarmiert, wenn der Server schon aktiv SWAP Speicherplatz verwendet. Daher ist dieses Plugin nur eingeschränkt zu empfehlen und es sollte ein weiteres Plugin für die Überwachung des tatsächlich benötigten Arbeitsspeicher verwendet werden.

/usr/lib/nagios/plugins/check_swap -w 5 -c 3
SWAP OK - 100% free (3804 MB out of 3812 MB) |swap=3804MB;0;0;0;3812

Plugin "check_linux_memory"

Besser ist es, wenn der tatsächlich benötigte Arbeitsspeicher kontinuierlich mit Icinga überwacht wird. Zu diesem Zweck kann das Plugin "check_linux_memory" verwendet werden. Es kann direkt von Github in der aktuellsten Version bezogen werden.

sudo su
cd /usr/lib/nagios/plugins/
wget https://raw.githubusercontent.com/hugme/Nag_checks/master/check_linux_memory
chmod +x check_linux_memory

Das Plugin bietet folgende Optionen:

/usr/lib/nagios/plugins/check_linux_memory --help
Linux Memory Plugin for Nagios
Copyright (c) hugme (nagios@hugme.org)
Version: 1.2.0
Last Modified: 10-07-2014
License: This software can be used for free unless I meet you, then you owe me lunch.

Usage: check_linux_memory -w [warning %] -c [critical %]

Options:
 -w [0-99]		= Your warning %. 20 means 20% of your memory can remain before a warning alarm. Do not use the % sign.
 -c [0-99]		= Your critical %. 10 means 10% of your memory can remain before a critical alarm. Do not use the % sign.
 -d [K,M,G,T]	= divider K=kilobytes, M=megabytes, G=gigabytes, T=terabytes
 -f		= Include cached memory as free memory when calculating your percentage free

Wichtig ist vorallem die Option "-f" welche den für den Page Cache benötigten Memory als freien Memory angibt. Weiters kann mit -w und -c noch festgelegt werden, ab wieviel Prozent freiem Speicher ein Alert generiert werden soll.

Hier ein Beispiel-Aufruf:

$ /usr/lib/nagios/plugins/check_linux_memory -f -w 20 -c 10 -d G
MEMORY OK - 95.042% Free - Total:125.899G Active:55.0971G Inactive:33.7655G Buffers:0.726864G Cached:86.0905G \
|Free=95.042;20;10;0 Active=57773508;0;0;0 Inactive=35405720;0;0;0 Buffers=762172;0;0;0 Cached=90272404;0;0;0

Es können dann auch die Performance Daten via PNP4Nagios aufgezeichnet werden. Dadurch können längerfristige Trends des Memory-Verbrauchs beobachtet werden. Check linux memoy pnp4nagios.png


Foto Christoph Mitasch.jpg

Autor: Christoph Mitasch

Christoph Mitasch arbeitet in der Abteilung Web Operations & Knowledge Transfer bei Thomas-Krenn. Er ist für die Betreuung und Weiterentwicklung der Webshop Infrastruktur zuständig. Seit einem Studienprojekt zum Thema Hochverfügbarkeit und Daten Replikation unter Linux beschäftigt er sich intensiv mit diesem Themenbereich. Nach einem Praktikum bei IBM Linz schloss er sein Diplomstudium „Computer- und Mediensicherheit“ an der FH Hagenberg ab. Er wohnt in der Nähe von Linz und ist neben der Arbeit ein begeisterter Marathon-Läufer und Jongleur, wo er mehrere Weltrekorde in der Team-Jonglage hält.


Das könnte Sie auch interessieren

Installation von Icinga 2 unter Ubuntu 18.04 LTS
IPMI Monitoring Benutzer einrichten
SMS Benachrichtigungen mit Icinga