Swap alanı belli bir miktara ulaştığı esnada, bilgi mesajı yollayan ufak bir bash betiği hazırlamak durumunda kaldım.Swap miktarı, 1GB’a eşit veya 1GB’dan büyük ise email ile bilgi mesajı gönderiyor.Siyah ile renklendirilmiş bölümler, isteğe göre güncellenip kullanılabilir.

#!/bin/bash
#Author: Ugur Engin
server=`hostname`
cmd=`vmstat -s | grep 'used swap' | awk '{print $1}'`
if [ $cmd -ge 1024000 ]
then
{
subject="Uyari!"
email="mail@ugurengin.com"
emailmessage="1"
echo "Swap kullanim miktari yukseliyor!"> $emailmessage
echo "$server isimli sunucunun swap miktari: $cmd KB" >>$emailmessage
/bin/mail -s "$subject" "$email" < $emailmessage }
else
exit -1
fi

Scriptin hangi zaman diliminde çalışacağı crontab’a yazılacak bir parametre ile belirlenebilir.15 dakika da bir çalışması istenen scriptin crontab içerisine yazılacak şekli aşağıda gibi olur.

*/15  *   *   *   *  sh /root/tools/swapcheck.sh

Scripti geliştirip, memory monitoring ve swap reducing gibi kriterler ekleyip daha efektif aksiyonlar almak  da mümkün.Test amaçlı 200 MB ile  kontrol edilen bir swap alanı için gelen bilgilendirme mesajının görüntüsü.

 

Share on Facebook