original in en Logreport, Egon Willighagen
en to tr Erdal MUTLU
Bir çok İnternet sunucusu(servisleri) çalışmalarını log dosyalarına kaydetmektedirler. Sözgelimi Apache sanaldoku sunucusu, ulaşılan her sayfa için birer satır bilgiyi log dosyasına eklemektedir. Kullanılan log biçimine göre bu, istekte bulunulan sayfanın adı ve boyutu, istek sahibi sanaldoku istemcisinin adı ve daha bir çok bilgi olabilmektedir. E-ileti sunucusu durumunda da benzer bir log dosyası oluşturulmaktadır. Burada yine, e-iletiyi gönderenin adresi, iletiyi alanların adresleri, boyutu vs. yazılmaktadır. Aslında tüm İnternet sunucuları benzer özelliklere sahiptirler.
Log dosyaları inanılmaz fazla bilgi içermektedir, ancak kullanılan dosya biçiminden bilgileri algılayabilmek zordur. Verileri özetlemeye ve incelemeye yarayacak bir araca gereksinim vardır. Sanaldoku sunucuları için bu, en çok erişilen sayfalar, yöreler, toplam erişim sayısı ve birçok grafik anlamına gelmektedir. Üçüncü kişilerden satın alınan birçok sayaç yazılımı bu bilgilerin özetlerini göstermede kullanılmaktadır.
Birçok log dosyası için inceleme yapan araçlar vardır. lire da bunlardan biridir. Lire bir değil, birden fazla farklı log dosya tipini inceleyebilen bir sistemdir. Log dosyalarından elde edilen bilgileri özetleyecek raporları sisteme eklenebilmektedir. Kendinize özgü rapor tipini sisteme ekleyebilirsiniz.
Lire'yi birkaç faklı şekilde kullanabilirsiniz. İsterseniz komut satırından çalıştırabilir veya cron süreci olarak ayarlayarak size e-ileti atmasını sağlayabilirsiniz. İlk kullanım şekli için, oluşturulacak dosya biçimini seçebilirsiniz. Şu anda desteklenen çıktı biçimleri arasında, sıradan metin dosyası, HTML, DocBook, PDF ve LogML var. Şu anda, crontab kullanımı şekli için sadece sıradan metin dosyası biçimi kullanılmaktadır.
Şu an için aşağıdakı sunucuların log dosyaları incelenebilmektedir:
Lire geliştirme aşamasındadır ve üzerinde geliştirme yapan ve bunun için para alan üç kişi vardır. Geliştiricilerin işleri arasında destek te var, önerileriniz veya istekleriniz (Sözgelimi, yeni sunucu eklemek.) için LogReport'un SourceForge yöresine mesaj bırakabilirsiniz.
./configure make make install
Yapılandırma (configure) programı aşağıdaki seçeneklere sahiptir:
Seçenek | Açıklama |
--prefix=/some/dir | Yüklenecek yerin kök dizinini belirlemektedir. Benimsenmiş değer /usr/local dır. |
--with-perl5libdir=/some/dir | Lire'nin Perl modüllerinin yüklü olduğu dizini belirlemektedir. Benimsenmiş değer $prefix/share/perl5 dir. |
--with-sgmldir=/some/dir | SGML'nin yüklü olduğu dizini belirlemektedir. Benimsenmiş değerler $prefix/lib/sgml ve $prefix/share/sgml dir. |
Programın çıktısını sıradan metin dosyası biçimi yerine diğer dosya biçimleri olarak almak istiyorsanız, DocBook XML stylesheets veya Jade gibi XML araçlarına, Xalan veya Sablotron gibi XML işlemcilerine gereksiminiz olacaktır. Yapılandırma programının üçüncü seçeneğini kullanarak, SGML dosyalarının yüklü olduğu yeri belirtebilirsiniz.
Did you start this script as this user? (Bu kabuk programını bu kullanıcı olarak mı çalıştırdınız?)
Kabuk programı, log dosyalarını okuyabilecek bir kullanıcı tarafından çalıştırılması gerekmektedir. Log dosyaları genellikle sadece root kullanıcısı tarafından ve adm grubundaki kullanıcılar tarafından okunabilmektedir. Kullanıcınızın log dosyalarını okuma hakkı olup olmadığını denetleyiniz. Örnek olarak:
~> cd /var/log /var/log> ls -al apache/access.combined.log -rw-r----- 1 root root 70902 Jul 27 13:23 apache/access.combined.log /var/log> whoami egonw /var/log> groups egonw adm dialout
Bu örnekte egonw kullanıcısı Apache'nin log dosyalarını okuyamaz. Dosyaları sadece root kullanıcısı okuyabilir. Ancak, kullanıcı adm grubuna ait olduğunda bu sorunu, log dosyalarının grup sahibini root tarafından değiştirerek çözebiliriz:
/var/log# whoami root /var/log# chgrp adm apache/access.combined.log /var/log# ls -al apache/access.combined.log -rw-r--r-- 1 root adm 70902 Jul 27 13:23 apache/access.combined.log
Temporary files are by default not kept. Do you want to keep these? (Geçici dosyalar benimsenmiş değer olarak saklanmamaktadır. Bu dosyaları saklamak istiyor musunuz?)
Sıradan kullanıcılar için hayır cevabını verin.
Are you planning to run an online responder? (Bağlantı varken otomatik cevaplayıcı kullanacak mısınız?)
Cevaplayıcı bir araçtır ve bağlantı varken log dosyalarını ona gönderdiğinizde, geriye rapor alabiliyorsunuz. Büyük ağları yöneten sistem yöneticileri için bu kullanışlı bir araçtır. Sıradan kullanımlar için buna hayır diyebilirsiniz.
By default, temporary files are stored in ~/tmp. Do you want to change this? (Benimsenmiş değer olarak geçici dosyalar ~/tmp dizinde tutulmaktadır. Bunu değiştirmek istiyor musunuz?)
Benimsenmiş değer olarak geçici dosyalar sizin ev dizininizde tutulmaktadır. Bunu değiştirmek istiyorsanız, bu soruya "evet" cevabını verin ve hangi dizine konulmasını istiyorsanız, o dizinin adını yazınız. Unutulmaması gereken nokta, verilen dizine, lire'yi çalıştıran kullanıcının yazma hakkı olması gerektiğidir.
Do you want to sent a disclaimer with the generated reports? (Oluşturulan rapaor ile birlikte herhangi bir sorumluluk kabul etmediğinizi belirten bir yazı göndermek istiyor musunuz?)
Eğer, raporları başkalarına gönderiyorsanız, herhangi bir sorumluluk kabul etmediğinizi belirten bir yazı gönderebilir ve soruya "yes(evet)" cevabını verebilirsiniz. Eğer, raporları kendi içinizde kullanacaksanız, bu soruya "no(hayır)" cevabını verebilirsiniz.
By default, status and error messages are sent to stderr. Do you want to change this to syslog? (Benimsenmiş değer olarak durum ve hata mesajları standart hata aygıtına (stderr) gönderilmektedir. Bunu syslog olark değiştirmek istiyor musunuz?)
Bu soruya "yes(evet)" cevabını vermekle, hata ve durum mesajlarını standart hata aygıtı (STDERR) yerine logger(1)'a göndermeyi kabul etmiş olursunuz. Bunun için sisteminizde syslog'un logger(1)'nı yüklemiş olmanız gerekmektedir.
By default, informative and debug messages are suppressed. Do you want to run the system in debug mode? For normal use, you should say no. (Benimsenmiş değer olarak, bilgilendirici ve hata belirlemede (araştırma) kullanılan mesajlar engellenmektedir. Sistemi hata ayıklama (araştırma) seviyesinde çalıştırmak istiyor musunuz? Sıradan kullanımlar için buna "no(hayır)" cevabını verin.)
Do you want to use some default settings for all services? (Tüm servisler için bazı benimsenmiş değerleri kullanmak istiyor musunuz?)
Her servis için ayrı bir e-ileti adresi ve konu kısmı oluşturabilirsiniz. İnandırıcı olsun diye evrensel benimsenmiş değer belirleyebilirsiniz. Bu evrensel değeri ayarlamak için "yes(ever" cevabını veriniz:
Would you like to use a default to-address? (E-ileti için benimsenmiş bir adres kullanmak istiyor musunuz?)
Eğer, "yes(evet)" cevabını verirseniz, raporlar, vereceğiniz e-ileti adresine gönderilecektir. Özel servisler için bu değeri değiştirebilirsiniz.
Would you like to use a default subject stem for the generated email? (Oluşturulacak e-ileti için benimsenmiş bir konu kullanacak mısınız?)
Eğre, "yes(evet)" cevabını verirseniz, konu kısmının oluşturulacağı bir taslak form verebilirsiniz. Apache log dosyaları için benimsenmiş değer şu şekildedir: "[LogReport] www / apache report".
Which services are running? (Hangi servisler çalışmaktadır?)
Bundan sonraki sorular çalışan servislere göre belirlenmektedir. Sorular birbirine öok benzemektedir ve burada ayrı ayrı incelenmeyecektir. Her servis için sorulan sorular şu şekildedir:
Are you collecting ***** logfiles on this host which you'd like to get processed?(Bu bilgisayardaki ***** sürecinin log dosyalarını işlenmek üzere biriktiriyor musunuz?)
Lire'nin desteklediği servisler, süper servis olarak adlandırabileceğimiz servisler şeklinde gruplandırılmıştır. Süper servis için olan ilk soru, bu servis için olan log dosyalarını lire'nin raporlaması için biriktirip biriktirmediğiniz ile ilgilidir. Eğer, cevabınız "no(hayır)" ise, konu ile ilgili diğer sorular atlanacaktır. Lire'nin desteklemiş olduğu süper servisler yazının Giriş kısmında verilmiştir. Bir tek apachemodgzip'ten sözedilmemişti. Bu servis, Apache'nin sıkıştırılmış log dosyaları ile çalıştığı durum ile ilgilidir.
Çalıştırılan servisler ile ilgili, yapılandırma programı tek tek sorular soracaktır. Sözgelimi e-ileti ile ilgili servisler exim, qmail ve sendmail olabilir. Her servis için lr_config, log dosyalarını bulabileceği yoltanımını soracaktır. Log dosyaları sıkıştırılmış olabilir. Buna göre lire, zcat veya gunzip -c, hangisini kullanacağını soracaktır.
Are any of your ***** logfiles rotated weekly?(***** log dosyalarından haftalık olarak dönüşümlü kullanılanı var mı?)
Eğer, "yes(evet)" cevabını verirseniz, lire'yi çalıştıracak crontab süreci haftada bir çalıştırılacak şekilde ayarlanacaktır. Diğer seçenek günde bir kez çalıştırmaktır.
Soruların hepsine yanıtlar verildiği durumda, tüm ayarlamalar (*/default.local) dosyalarına yazılacaktır. Bu dosyalar lire'nin cron süreci tarafından kullanılmaktadır. Ancak, bu cron süreci otomatik olarak aktif hale getirilmemektedir. Bunun için :
~> { echo '0 10 * * * /usr/local/logreport/bin/lr_cron daily'; echo '0 10 * * 0 /usr/local/logreport/bin/lr_cron weekly'; } | crontab -komutunu çalıştırmanız gerekmektedir.
Bu şekilde aktif hale getirildikten sonra, raprlar günlük veya haftalık olarak size e-ileti halinde gönderilecektir. Yukarıda sözü edilen yapılandırım dosyalarında değişiklik yaparak ince ayarlar yapabilirsiniz.
~> lr_run lr_log2report /tmp/err www apache combined < /var/log/apache/access.combined.log > apache.txt
lr_log2report programı en azından üç parametre ile kullanılmaktadır. İlki, hataların yönlendirildiği dosya, örneğimizde /tmp/err dır. İkincisi, log dosyanın süper servis adıdır. Şu an için üç adet süper servis vardır: www, dns ve email. Üçüncü parametre, log dosyasının tipini belirtecek olan sevis adıdır. Örneğimizde bu Apache dir. Ayrıca, Apache'nin log dosyası için "combined(birleştirilmiş)" dosya biçimi kullandığını belirten ek bir parametre daha kullanılmıştır. Diğer programlarda olduğu gibi lire ile ilgili ayrıntılı bilgi için man komutunu çalıştırabilirsiniz:
~> man lr_log2report
Çıktı biçimini değiştirmek için "-i <biçim>" seçeneğini kullanabilirsiniz. Geçerli olan çıktı biçimleri txt (benimsenmiş değer), logml (LogML sanaldoku yöresi), DocBook XML (DocBook Open Repository), HTML ve PDF dir. Son ikisi için DocBook stylesheets ve Jade yüklü olması gerekmektedir. Metin dosya biçimi hariç diğer tüm dosya biçimleri Gnome'un xsltproc gibi XSLT işlemcisine gereksinim duymaktadır. Sözgelimi, PDF oluşturmak için:
~> lr_run lr_log2report -o pdf /tmp/err www apache combined < /var/log/apache/access.combined.log > apache.pdf
Bu yazı kısaca lire'yi tanıtmaktadır ve lire'nin yüklenmesi ile yapılandırılmasın nasıl yapılabileceğini göstermektedir. Bu serideki diğer yazılar, yazılımın kullanımına yönelik olacaktır. Şimdilik daha fazla bilgi için: http://www.logreport.org/ adresine bakınız.
Bizimle temasa geçmek isterseniz bizi IRC'de bulabilirsiniz. Genellikle geliştiricileri, OpenProjects.org IRC network'deki #logreport kanalında bulabilirsiniz. Soru, öneri ve desteğinizi herzaman bekliyoruz.