phpLogCon ile Online Log Monitoring
Son bir kaç yazımda, bir merkezi log sunucusunun kurulum ve yapılandırması ile ilgili konulara değinmiştim. Bu yazıda ise, merkezi bir log sunucusunun sağladığı avantajlardan birisi olan online log monitoring konusundan bahsetmek ve böyle bir ihtiyacınız olması durumunda kullanabileceğiniz phpLogCon isimli yazılıma değinmek istiyorum. |
phpLogCon, gerçek zamanlı log görüntülemeye imkan veren temiz bir web arayüzü olmakla beraber, içerisindeki arama ve filtreleme fasiliteleri sayesinde geçmişe yönelik loglar üzerinde rahatça analiz yapabilme olanağı da sağlıyor. Oldukça kullanışlı bir yazılım olmasından ötürü, yazının devamımda, kurulumu, yapılandırması ve özelleştirilmesi ile ilgili konulara değinmek istiyorum.
Rsyslog ile Merkezi Log Sunucusu Kurulumu
Bir ağda bulunan sunucuların loglarını bir merkezde toplamak oldukça mantıklı bir durumdur. Bu şekilde, tüm sunucularınıza ait logları belli bir düzen içerisinde tutabilir ve ilerisi için derli toplu bir şekilde arşivleyebilirsiniz. Aynı zamanda sunucu loglarını herhangi bir araç ile tek yerden monitor etme şansına da sahip olursunuz. |
İşte bu tip avantajlarından dolayı, bu yazımda, rsyslog kullanarak merkezi bir log sunucusunun kurulması ve yapılandırılması, çeşitli sunucu ve network ekipmanlarından rsyslog sunucusuna logların gönderilmesini içeren bir döküman yayınlamak istiyorum.
CentOS üzerine Rsyslog Kurulumu ve Yapılandırması
Bir önceki yazımda, rsyslog’un FreeBSD sistemler üzerine nasıl kurulabileceğinden bahsetmiştim. Şimdi ise CentOS bir sistemde, rsyslog kurulumu ve syslog’un rsyslog ile değiştirilmesi işleminin nasıl yapılacağından bahsetmek istiyorum.
CentOS üzerine rsyslog kurulumu ve yapılandırmasını bir kaç adımda halletmek mümkün. İlgili yazılımın rpm dosyaları, CentOS paket depolarında bulunduğundan dolayı, kurulumu yum ile yapmak mümkün. Kurulum sonucunda, sistem syslogd’nin ayarları ile çalışmak üzere ayarlanmış oluyor. Aşağıdaki adımları takip ederek kurulumu gerçekleştirebilirsiniz.
FreeBSD üzerine Rsyslog Kurulumu ve Yapılandırması
Syslog’un gelişmiş versiyonu olan Rsyslog’u FreeBSD sisteminizde kullanmak için kurulumunu kolayca yapabilir ve bir iki yapılandırma işlemi ile syslogd’nin yerine geçmesini sağlayabilirsiniz.
Rsyslog, FreeBSD sistemlere port edilmiş durumdadır. Yani port ağacından kurmak mümkün. İşe başlamadan önce port ağacınızın güncel olduğundan emin olun. Hızlıca güncellemek için şu adresten yararlanabilirsiniz: http://www.syslogs.org/2008/06/using-portsnap/
Rsyslog, port ağacında sysutils/rsyslog3 ismi ile bulunuyor. Sql destekli kurmak isterseniz sysutil dizini altındaki rsyslog3-mysql portunu kullanabilirsiniz. Ancak biz salt rsyslog kuracağımız için rsyslog3 isimli portu kullanacağız.
Mtrack Shell Scripti ile Anlamlı qmail Logları
Daha önce de qmail log dosyaları ile ilgili yazdığım yazılarda da belirttiğim gibi, qmail’in log dosyalarının default hali ile pek anlaşılır değil. Bu nedenle herhangi bir aktiviteyi görüntülemek için log dosyalarını incelemek kolay bir iş değil; zira bu loglar, pek human readable değil.
Ancak mtrack shell scripti ile bu log dosyalarını daha anlaşılır kılmak mümkün. Logları incelemek istediğim zamanlar bu scriptten oldukça faydalanıyorum. Size de tavsiye ederim.
http://qmail.jms1.net/scripts/mtrack adresinde bulunan scripti örneğin qmail-send dosyasını track etmek için şu şekilde kullanabilirsiniz:
Qmail logs ve timestamp hadisesi.
Qmail log dosyalarının default tarih formatı ne kadar anlamsız değil mi ? Bu anlamsız format nedeni ile geçmişe yönelik bir mail aktivitesine ait bilgileri log dosyasında ararken ve özellikle tarih bilgisi de önem arz ediyorsa işiniz var demektir.
Multilog tarafından oluşturulan bu log dosyalarındaki, TAI64 isimli format kullanılarak üretilen timestamp’ler bir insan evladının bir bakışta okuyamayacağı kadar karmaşık olduğundan dolayı, bu bilgileri human-readable bir şekle dönüştürmeniz gerekmektedir.
Tai64 formatından, Human-Readable UTC formatına dönüştürme işini yapmak için daemontools paketinin içinde tai64nlocal isimli bir programcık bulunuyor. Bu programı kullanarak convert işlemini yapmak için log dosyasını track etmek için kullandığınız komutun (more, cat vs.) kıçına (pipe) | tai64nlocal ibaresini eklemeniz gerekiyor.
İşte şöyle:
Default timestamp içeren normal bir çıktı:
[root@hostname ~]# more logdosyası @400000004817b72606025e44 delivery 2: success: accepted_message./Remote_host_said:_250_ok @400000004817b726062f9094 status: local 0/10 remote 1/120 @400000004817b72606892dfc end msg 351 @400000004817b7260690c364 delivery 4: success: accepted_message./Remote_host_said:_250_ok @400000004817b7260699b85c status: local 0/10 remote 0/120 @400000004817b72606ce4964 end msg 362
Bu da human-readable hale dönüştürülmüş hali: