sunucu yük durumunu kontrol edip servis kapatma

0
Onaylı Üye
Üye
Katılım
24 Şubat 2003
Mesajlar
660
Tepki puanı
0
Konum
Bi Bilsem :)
aşağıdaki kod 5 saniyede bir çalışıp linux işletim sistemi kurulu olan makinelerin yük durumunu kontrol eder ve belirtilen limitin üstüne çıkarsa istenen bir komutu çalıştırır.

unix shell scripting ile yazılmıştır, pek başarılı bir çalışma değil. bu hali ile sunucu yük durumu %50i aşarsa apache yi durdurur ama yeniden başlatma yok :) açıkçası awk komutu içinde if yazmak biraz zor.

pek başarılı bir sistem olmadığını yazmıştım ama işin başka bir yönüde şu; çalışan siteleri kaldıramayan bir sunucuya veya ddos saldırısı alan bir sunucuya bazen çok hızlı müdahale etmek gerekir ve ssh girişi yapmak lazım gelir. ancak aşırı yük nedeniyle siz giremezsiniz ve sunucu kilitlenir. benim bu kodu yazma amacım sunucunun kilitlenmesi önlemek. hizmet aldığım bazı bilgi işlem merkezlerinde sunucunun manuel restart edilmesi 1 saati bulabiliyor. öyle çile çekmektense bu yöntem bana daha tercih edilebilir görünüyor.

SIM adında başka bir sistem var, geliştirilmiş bir sistem ama ne kadar başarılı olduğunu bilmiyorum. ama onunda sistemde kurulu olmasında fayda var.
http://fastdown.org/blog/sim-system-integrity-monitor-kurulumu




#!/bin/sh
#

while true
do
clear
echo "CPU Yuklenme Izleme"
echo "-------------------"
echo ""
awk '{$DURUM=$1; print $DURUM; if($DURUM > 50) service httpd stop; }' /proc/loadavg
sleep 2
done



çalıştırmak için;

sunucunuza root ile ssh girişi yapın.
cd /usr
mkdir izleme
cd izleme
pico cpu

yukarıdaki kodu kopyalayıp yapıştırın.

ctrl-x , y, enter ile çıkın.

chmod 777 cpu

./cpu &

ile çalıştırın.
 
0
Onaylı Üye
Üye
Katılım
19 Ekim 2006
Mesajlar
94
Tepki puanı
0
Konum
Antalya
unix shell scripting ile yazılmıştır, pek başarılı bir çalışma değil. bu hali ile sunucu yük durumu %50i aşarsa apache yi durdurur ama yeniden başlatma yok :) açıkçası awk komutu içinde if yazmak biraz zor.

Tesekkurler. Yeniden baslatma konusunda da; httpd stop yerine restart komutu verdirilebilir.
 
Geri
Üst