Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

sunucu yük durumunu kontrol edip servis kapatma

baldor

0
Onaylı Üye
Üye
Katılım
24 Şubat 2003
Mesajlar
660
Açılan Konu
48
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.
 

Inferno

0
Onaylı Üye
Üye
Katılım
10 Eylül 2006
Mesajlar
652
Açılan Konu
39
Tepki puanı
2
Konum
Houston
çok teşekkürler
 

PheNoMeN

0
Onaylı Üye
Üye
Katılım
20 Ekim 2006
Mesajlar
94
Açılan Konu
2
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.
 
Üst