Bash ile Log Boyutu Threshold Alarmı

0 الردود 1 المشاهدات
·
المشاركون
صاحب الموضوع #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
كود
1stat
veya
كود
1du
komutlarını kullanabilirsiniz. Ancak, en pratik ve yaygın yöntem
كود
1du -b
veya
كود
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:

كود
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ı?

يجب تسجيل الدخول للرد.

0 اقتباسات محددة