Bash ile Log Boyutu Threshold Alarmı

0 Yanıtlar 0 Görüntülenme
·
Katılımcılar
Konuyu Açan #0
Log dosyalarının boyut kontrolü ve belirli bir threshold aşımında alarm verme, sistem yöneticileri için kritik bir otomasyon alanıdır. Bash scriptleri kullanarak bu işlemi oldukça kolay bir şekilde gerçekleştirebilirsiniz. Bu yöntem, özellikle günlük logların düzenli yönetimi ve disk alanı yönetimi açısından faydalı olur.


İlk olarak, belirli bir log dosyasının boyutunu kontrol etmek için
KOD
1stat
veya
KOD
1du
komutlarını kullanabilirsiniz. Ancak, en pratik ve yaygın yöntem
KOD
1du -b
veya
KOD
1stat -c%s
ile dosya boyutunu bayt cinsinden almak olur. Bu değeri, önceden belirlenmiş threshold ile karşılaştırıp, aşım durumunda uyarı veya alarm tetikleyebilirsiniz.

Örnek:
  • Log dosyasının yolu: /var/log/myapp.log
  • Threshold: 50MB (50 * 1024 * 1024 = 52428800 bayt)


Basit bir script şu şekilde olabilir:

KOD
123456789101112131415bash
#!/bin/bash

LOG_FILE="/var/log/myapp.log"
THRESHOLD=52428800  # 50MB

if [ -f "$LOG_FILE" ]; then
    FILE_SIZE=$(stat -c%s "$LOG_FILE")
    if [ "$FILE_SIZE" -gt "$THRESHOLD" ]; then
        echo "Uyarı: Log dosyası $LOG_FILE boyutu $FILE_SIZE bayt ile eşik değeri aşıyor!"
        # Burada e-posta veya başka alarm mekanizmaları eklenebilir
    fi
else
    echo "Hata: Log dosyası bulunamadı: $LOG_FILE"
fi


Bu script, temel anlamda dosya bulunabilirliğini kontrol eder, boyutu ölçer ve threshold ile karşılaştırır. Bu yapıyı düzenli olarak cron ile çalıştırmak, otomatik takip sağlar. Ayrıca, alarm mekanizmasını (e-posta, webhook, SMS gibi) entegre etmek, sisteminizin anlık durumu hakkında zamanında bilgi sahibi olmanızı sağlar.

Sizler bu tarz sistemleri nasıl otomatik hale getiriyorsunuz? Ekstra özellikler veya farklı yöntemler öneren var mı?

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi