Load average, sistemin belirli bir zaman dilimindeki işlem yoğunluğunun önemli bir göstergesidir. Ancak, ani yükselmeler genellikle sistem performans sorunlarına veya beklenmedik yük artışlarına işaret eder. Bu duruma otomatik tepki verebilmek, özellikle kritik sistemlerde oldukça faydalıdır.
Birçok durumda, load average değeri belirli bir eşik değeri aştığında, sistem yöneticisinin müdahalesi gerekebilir. Bu noktada, otomasyon scriptleri devreye girerek, yükselişi tespit edip önceden belirlenmiş aksiyonları alabilir.
İşte temel bir örnek:
- İzleme ve Eşik Değeri Belirleme:
Load average'ün 1, 5 ve 15 dakikalık ortalamaları incelenir. Örneğin, 1 dakikalık ortalamanın 4'ü aşması kritik bir artış olarak kabul edilebilir.
Script, belirli aralıklarla load average değerlerini kontrol eder. Eğer herhangi biri eşik değeri aşarsa, log kaydeder veya belirli komutları çalıştırır.
Örneğin, aşırı yüklenme durumunda, yüksek CPU veya RAM tüketen işlemleri listeleyip sonlandırabilir veya sistem yöneticisine uyarı gönderebilir.
Örnek script:
123456789101112131415161718bash
#!/bin/bash
[b]Eşik değerleri[/b]
LOAD_THRESHOLD=4.0
[b]Load ortalamalarını al[/b]
read -r one five fifteen < /proc/loadavg
load_avg=$(echo "$one" | awk '{print $1}')
[b]Yüksekse uyarı[/b]
if (( $(echo "$load_avg > $LOAD_THRESHOLD" | bc -l) )); then
echo "$(date): Yük artışı tespit edildi. Load: $load_avg" >> /var/log/load_alert.log
# Ekstra önlemler: yüksek CPU süreçlerini listele veya sonlandır
ps -eo pid,comm,%cpu --sort=-%cpu | head -10
# veya sistem yöneticisine e-posta gönder
# mail -s "Yük Artışı Alarmı" admin@sunucu.com < /var/log/load_alert.log
fi
Bu temel yapı, yük artışlarını erken fark edip, otomatik müdahale veya uyarı mekanizmaları geliştirmek için başlangıç noktası sağlar. Sisteminizin spesifik ihtiyaçlarına göre, scripti özelleştirebilir ve gelişmiş otomasyonlara entegre edebilirsiniz.
Sizlerin de sisteminizde load average artışını takip etmek ve otomatik tepki mekanizmaları kurmak adına deneyimleriniz veya ek önerileriniz nedir?