Disk IO yoğunluğu, sistem performansını doğrudan etkileyen kritik bir metriktir ve özellikle yüksek disk aktiviteleri sırasında sistemin yavaşlaması veya takılması gibi sorunlara yol açabilir. Bu nedenle, otomatik izleme ve uyarı sistemleri geliştirmek, sistem yöneticileri için büyük avantaj sağlar.
Disk IO yoğunluğunu tespit etmek için birkaç temel araç ve yöntem kullanılır. Bunlardan en yaygın olanı
iostat komutudur.
iostat, sistemin giriş/çıkış istatistiklerini sağlar ve belirli aralıklarla çalıştırılarak IO aktivitelerini takip edebilirsiniz. Ancak, Bash scriptleriyle bu verileri sürekli izlemek ve belirli eşiklerde uyarı vermek mümkündür.
Örneğin, aşağıdaki script, belirli bir süre aralığında
iostat kullanarak disk aktivitelerini toplar ve toplam IO oranını hesaplar. Eğer bu oran belirlenen eşik değeri aşarsa, uyarı mesajı verir:
123456789101112131415161718192021222324252627
#!/bin/bash
[b]İzleme intervali saniye cinsinden[/b]
INTERVAL=5
[b]IO eşik değeri (örneğin, % kullanımı)[/b]
THRESHOLD=20
while true; do
# iostat çıktısını al ve toplam read/write kilobytes'leri hesapla
IO_STATS=$(iostat -d 1 $INTERVAL | tail -n +4)
READ_KB=$(echo "$IO_STATS" | awk '{sum += $3} END {print sum}')
WRITE_KB=$(echo "$IO_STATS" | awk '{sum += $4} END {print sum}')
TOTAL_KB=$((READ_KB + WRITE_KB))
# IO oranını yüzde olarak hesapla
IO_PERCENT=$(echo "$TOTAL_KB" | awk -v threshold=$THRESHOLD '{printf "%d", ($1 / 1024 / $threshold) * 100}')
echo "Toplam IO (KB): $TOTAL_KB, Kullanım Yüzdesi: $IO_PERCENT%"
if [ "$IO_PERCENT" -gt "$THRESHOLD" ]; then
echo "Uyarı: Disk IO yoğunluğu eşik değeri aşıyor!"
# Gerekirse e-posta veya başka bir alarm sistemi entegre edilebilir
fi
sleep $INTERVAL
done
Bu temel script, disk aktivitelerini sürekli izler ve belirli bir eşik değeri aştığında bildirir. Daha gelişmiş uygulamalarda,
iotop veya
sar gibi araçlar da kullanılabilir. Ayrıca, sistem kaynaklarını aşırı kullanmamak adına, bu tür izleme scriptleri optimize edilmelidir.
Bu yöntemi kullanarak, sisteminizdeki disk IO yoğunluğunu gerçek zamanlı izleyebilir ve gerektiğinde müdahale edebilirsiniz. Sizler de farklı eşik değerleri veya uyarı yöntemleriyle bu temel yapıyı geliştirebilir misiniz? Bu tarz otomasyonlar sizin sistem yönetiminize nasıl katkı sağladı?