On 8/21/2009 9:18 PM, Özkan wrote:
> Umarım soruyu yanlış listeye göndermiş olmam. Yönettiğim sunucuların
> tümünde logwatch kullanıyorum. Sabah, maillerimi okumaya başladığımda,
> bir anormallik varsa farketmemi kolaylaştırıyor. Fakat çok fazla sunucu
> olduğu için ve bu sunuculardan bazılarında log dosyalarının büyüklüğü
> çok fazla olduğu için, logwatch'dan gelen bu mailleri açarken mail
> istemcisinin de kilitlendiği zamanlar oluyor.
Bunu duzeltin. Birkac MB yuzunden kilitlenmemeli.
> Ayrıca logwatch'dan gelen
> bu mailleri, geçmişe dönük bilgi edinebilmek amacıyla e-mail formatında
> arşivlemek bana pek kullanışlı gelmiyor. Bu yüzden bu maillerinhepsini
> bir hesaba yönlendirip, perl ile o hesaptaki mailleri parse edip
> bilgileri veritabanına yazan bir script hazırlamak istiyorum. Çalışmaya
> başlamadan önce google üzerinde araştırma yaptım fakat buna benzer hazır
> birşey bulamadım. Sizin bu konuda bildiğiniz bir örnek var mı ?
Logwatch ciktilarini saklamanin bir anlami yok. Loglarin kendilerini
saklayin. Gerektiginde logwatch ciktisini tekrar uretebilirsiniz.
Problem ciktiginda geri donup bakmak istediginizde logwatch zaten
yeterince detayli degil. Loglar text dosyasi oldugundan iyi compress
eder. Eskileri compress edin. Yeterince eskileri silin.
syslog-ng kullanin. Linux'larda ornek
destination mail {
file("/var/log/mail/$YEAR/$MONTH/$DAY"
template("$ISODATE $HOST $MSG\n") template_escape(no)
owner("root") group("log") perm(0640)
dir_owner("root") dir_group("log")
dir_perm(02750) create_dirs(yes));
};
destination msgs {
file("/var/log/msgs/$YEAR/$MONTH/$DAY"
template("$ISODATE $HOST $MSG\n") template_escape(no)
owner("root") group("log") perm(0640)
dir_owner("root") dir_group("log")
dir_perm(02750) create_dirs(yes));
};
source local { unix-dgram("/dev/log"); pipe("/proc/kmsg");
internal(); };
filter mail { facility(mail); };
filter notmail { not facility(mail); };
log { source(local); filter(mail); destination(mail); };
log { source(local); filter(notmail); destination(msgs); };
Onemli noktalar:
- "unix-dgram" kullanin
- template() ile formati belirleyin
- tarih bazinda dosya ismi ile log rotate etmenize gerek yok.
syslog daemon'u "kill -HUP" etmenize de gerek yok. Yani kaybolan log yok.
- Tarih bazli dosyalar ile dosyalari tek bir sunucuya toplamak daha
kolay.
- "log" grubu ssh erisimi ile dosyalari toplamak icin
--
Eray
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]
Liste kurallarını http://liste.linux.org.tr/kurallar.php bağlantısından
okuyabilirsiniz;
Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu