[LinuxFocus-icon]
Ev  |  Erişimdüzeni  |  İçindekiler  |  Arama

Duyumlar | Belgelikler | Bağlantılar | LF Nedir
Bu makalenin farklı dillerde bulunduğu adresler: English  Castellano  Deutsch  Francais  Italiano  Nederlands  Portugues  Turkce  

convert to palmConvert to GutenPalm
or to PalmDoc

[Foto of Egon]
tarafından Egon Willighagen
<egonw(at)logreport.org>

Yazar hakkında:
Egon, LinuxFocus projesinin yanısıra, bu yılın 1 Kasım'ına kadar Stichting Logreport kuruluşunda çalışıyordu. Kuruluşun amaçlarından biri, GPL lisansı ile log incelemesi yapacak yazılımlar oluşturmaktır.

Türkçe'ye çeviri:
Erdal MUTLU <erdal(at)linuxfocus.org>

İçerik:

 

İnternet uygulamalarının oluşturduğu log dosyalarını incelemek. 2. Bölüm : raporların yapılandırılması

[illustration]

Özet:

Bu yazı, İnternet uygulamalarının oluşturdukları logların incelenmesinde kullanılan Lire yazılımı hakkındaki ikinci yazıdır. Bu yazı, oluşturulan raporların nasıl yapılandırılabileceği hakkındadır. İlkyazı, Lire'nin yüklenmesi hakkındaydı.



 

Giriş

Bu yazı, lirenin en son sürümünü olan lire-20011017 sürümünü kapsamaktadır. Son sürümü ile önceki sürümü arasında yapılandırma konusunda birçok şey değişti. Dolayısıyla, ilk yazı çoktan eskimiş oldu. Ancak, lr_config konusundaki genel düşünce değişmedi.

Yeni özellikler şunlardır : FTP ve ateşduvarı (firewall) olarak, iki yeni süper servis eklendi, birçok yeni rapor (toplam > 68), yeni çıktı biçimleri (XHTML ve RTF) eklendi ve birçok hata ayıklaması yapıldı. Ancak, en önemli değişiklik motorda yapıldı. Rapor oluşturma süreci, XML teknolojisinden faydalanmak üzere tekrar yazıldı.

Bu yazıda, XML biçimlerinden birinin raporlardaki kullanımı gösterilecektir. Yeni rapor oluşturulmasından çok, var olan raporların en temelde nasıl değiştirilebileceği gösterilecektir. İlk önce, lireye hangi raporları oluşturması gerektiğini, nasıl söyleneceği ve bunun için hangi parametrelerin ayarlanması gerektiği anlatılacaktır.  

Rapor Seçimi

Herbir süper sevisin (Sözgelimi, `e-ileti' bir süper servistir ve `postfix' ile `sendmail' servisleri bu süper servise dahildir.) log dosyalarından oluşturabileceği belli sayıda rapor vardır. Sözgelimi WWW servisini oluşturabileceği 31 çeşit rapor vardır. Her rapor herkese ilginç gelmeyebilir. Bazıları oldukça özel amaçlara göre tasarlanmıştır. Benimsenmiş değer olarak tüm raporlar seçili gelmektedir, ancak bunların özelleştirilmesinde fayda vardır.

Rapor oluşturma sürecinde hangi raporların oluşturulacağı <dizin>/etc/lire/<superservice>.cfg (Lire'nin dizin <dizin> adlı dizinde yüklü olduğunu varsayarsak.). Sözgelimi, FTP için olan yapılandırma dosyası aşağıdaki gibidir:

# FTP süper servis için olan yapılandırma dosyası

# İlk X raporlar
top-remote-host hosts_to_show=10
#top-files files_to_show=10
top-files-in files_to_show=10
top-files-out files_to_show=10
top-users users_to_show=10

# Günlük raporlar
bytes-by-day

# Aktarım raporları
transfers-by-direction
transfers-by-type

FTP süper servisin sekiz çeşit raporu vardır ve bunlardan sadece birisi seçilmemiştir. "top-files" raporun başında "#" olduğundan seçilmemiştir. "#" karakterini kaldırırsanız, raporu seçmiş olursunuz.

Ancak, "#" ile başlayan her satır rapor değildir. Bu yapılandırma dosyasında yer alan, "FTP süper servis için olan yapılandırma dosyası", "İlk X raporlar", "Günlük raporlar" ve "Aktarım raporları" satırları açıklamadır. Diğer, yapılandırma dosyaları da benzer şekildedir.  

Raporların Sıralanması

Sıralama yapmak çok basittir. Yapılandırma dosyasında raporları hangi sırada yazarsanız, raporlar da o sırada olacaktır. Yapılandırma dosyasındaki satırların yerleri değiştirildiğinde, raporların sırası da değişir. Sözgelimi, yukarıdaki örnekte yer alan transfers-by-type son rapor olacaktır.  

Raporların Özelliştirilmesi

Birçok rapor, yukarıdaki yapılandırma dosyasında olduğu gibi, kısmen özelleştirilebir. Sözgelimi, DNS süper servisin yapılandırma dosyasını ele alalım:

# DNS süper servisi için yapılandırma dosyası

# İlkler raporları
top-requesting-hosts hosts_to_show=10
top-requesting-hosts-by-method hosts_to_show=10 method='recurs'
top-requesting-hosts-by-method hosts_to_show=10 method='nonrec'
top-requested-names names_to_show=10
top-requested-names-by-method names_to_show=10 method='recurs'
top-requested-names-by-method names_to_show=10 method='nonrec'
requesttype-distribution
requesttype-distribution-by-method method='recurs'
requesttype-distribution-by-method method='nonrec'

# Günlük raporlar
requests-by-period period=1d
requests-by-period-by-method period=1d method='recurs'
requests-by-period-by-method period=1d method='nonrec'

# Saatlik raporlar
requests-by-period period=1h
requests-by-period-by-method period=1h method='recurs'
requests-by-period-by-method period=1h method='nonrec'

Onbeş raporun hepsi de seçilmiştir. İlk X leri veren raporlar için, X yerine 10 seçilmiştir. Dolayısıyla, yukarıdaki örneğe göre top-requesting-hosts 10 olacaktır.

Bu raporlar sadece sekiz rapor seçeneğinden türetilmektedir. Bunu, period, method, hosts_to_show ve names_to_show parametrelerin kullanımı mümkün kılmaktadır. Yeni XML tabanlı motorun güçlü özelliklerinden biri de budur.

Önelmi: tüm rapor değişkenleri, rapor isminin bulundu satırda yer almak zorundadır!

Daha ilginç bir örnek WWW süper servis yapılandırma dosyasından alınmıştır:

top-referers-by-page referer_to_show=5 page_to_show=10 referer_exclusion='^-$'

Bu örnekte referer_exclusion için Perl düzenli ifadeleri kullanılmıştır. Bu ifade tüm işaret edenlere "-" karşı gelmektedir. Bu şekildeki işaret edenlerden birisi sizin sanaldoku sayfanızın URL'nizi yazarsa, buna karşı gelen kayıt log dosyalarında görülecektir. (Sizin sayfanızı işaret eden, bir sayfadaki bağlantıya tıklarsanız, sizin sayfanıza bağlanacaktır, bağlantıyı yaptığınız sayfa da işaret edenler kısmında verilecektir.) Tüm işaret edenler, "-" rapor incelemelerinden çıkartılacaktır.  

Raporları alt seviyelerden özelleştirmek

Lire'nin yeni sürümü, tamamen yeni bir dalını başlatmaktadır. Rapor yaratma ve belirtme süreci, XML teknolojisinden faydalanmak üzere, tamamen yeniden yazılmıştır. Raporlar XML'de belirtilmektedir, ama değişken atamaları metin dosyalarında (ASCII) yapılmaktadır. Önceki sürümde, raporlar Perl betik programında yer alıyordu ve bu programın hem giriş hem de çıkış biçimini bilmesi gerekiyordu. Yeni XML biçimi ile, giriş ve çıkış formatlarını bilmek gerekmektedir, bilinmesi gereken sadece işlenecek bilgidir.

Dolayısıyla, raporları alt seviyelerde özelleştirmek istiyorsanız, biraz XML bilmeniz gerekecektir. <dizin>/share/lire/reports/firewall dizininden alınan bir örnek:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE lire:report-spec PUBLIC
"-//LogReport.ORG//DTD Lire Report Specification Markup Language V1.0//EN"
"http://www.logreport.org/LRSML/1.0/lrsml.dtd">
<lire:report-spec xmlns:lire="http://www.logreport.org/LRSML/"
superservice="firewall" id="bytesperfrom" charttype="bars">

<lire:title>Top Bytes per From-IP Report</lire:title>
<lire:description>
<para>
This report lists the IP addresses sending the highest data volume.
</para>
</lire:description>

<lire:param-spec>
<lire:param name="ips_to_show" type="int" default="10">
<lire:description>
<para>This parameter controls the number of sending IP adresses to
display in the report.
</para>
</lire:description>
</lire:param>
</lire:param-spec>

<lire:display-spec>
<lire:title>Volume per sending IP, Top $ips_to_show</lire:title>
</lire:display-spec>

<lire:report-calc-spec>
<lire:group sort="-rcvd_volume" limit="$ips_to_show">
<lire:field name="from_ip"/>
<lire:sum name="rcvd_volume" field="length"/>
</lire:group>
</lire:report-calc-spec>

</lire:report-spec>

 

Lire'nin isim bölgesi

İlk dikkatinizi çekmesi gereken, hemen hemen her XML elemanın başında lire:'nin yer alamasıdır. Bu, lire isim bölgesinin tanımlanması için kullanılmaktadır. lire isim bölgesinde yer alan her eleman XML DTD http://www.logreport.org/LRSML/1.0/lrsml.dtd (boş bağlantı!) de bulabilirsiniz. Yukarıdaki bağlantıya http://www.logreport.org/pub/docs/dtd/lrsml/ adresinden ulaşabilirsiniz.

Diğer tüm elemanlar DocBook XML 4.2 DTD ait olmaları gerekir. Örnekteki, onuncu satırda yer alan <para> elemanı gibi.  

Lire'nin oluşturduğu raporlardaki başlığının değiştirilmesi

Eğer, raporda gözüken başlığı değiştirmek istiyorsanız, <lire:display-spec> de yer alan <lire:title> değiştirmeniz gerekecektir. Aklınızda bulunması gereken, "$" ile başlayan katarların Perl değişkenleri olduğu ve <lire:param-spec> bölümünde tanımlandığıdır.

Buradaki püf nokta, doğru <lire:title> elemanı seçmededir. Size gereken eleman <lire:display-spec> bölümünde olandır. Sonuncusu, çıktı raporda yer alan bilgiyi göstermektedir. İlk <lire:title> elemanı, Lire yazılımının belgeliklerinde kullanılan başlık bilgisini içermektedir.

Bir sonrakli örnek, WWW raporunda kullanılan requests-by-result nın bir kısmını göstermektedir. Buradaki <lire:display-spec> bölümü başlık bilgisi yanında daha başka açıklamalar da içerdğini görebiliriz. <lire:description> bölümünde bulunan tüm içerik lire isim bölgesine, dolayısıyla DocBook'a, ait olduğuna dikkat ediniz.

<lire:display-spec>
<lire:title>Requests By HTTP Result</lire:title>

<lire:description>
<para>
The most common HTTP status codes are given below:
<variablelist>

<varlistentry>
<term>200</term>
<listitem>
<para>OK (The request has succeeded.)</para>
</listitem>
</varlistentry>

<!-- rest is cut out -->
</variablelist>
</para>
</lire:description>
</lire:display-spec>

Raporun çıktısı aşağıdaki gibi bir şey olacaktır (sadece baş tarafı gösterilmiştir):

Requests By HTTP Result

The most common HTTP status codes are given below:

200 OK (The request has succeeded.)

201 Created (The request has been fulfilled and resulted in a new resource being created.)

206 Partial Content (The server has fulfilled the

 

Raporda gösterilen resim biçiminin değiştirilmesi

Birçok raporda grafikler de yer almaktadır. Resimler, verilerden oluşturulmaktadır ve hangi resim biçiminin kullanılacağı raporların yapılandırma dosyalarında belirtilmektedir. Örnek olarak FTP transfers-by-type reporundaki resmi ele alalım.

<lire:report-spec xmlns:lire="http://www.logreport.org/LRSML/" superservice="ftp" id="transfers-by-type" charttype="pie">

Yukarıdaki @charttype da görüleceği gibi, veriler pay grafiği olarak görüntülenmiştir. Sonuç aşağıdaki gibi görünmektedir:

[charttype pay]

Char type'ın değerini bars olarak değiştirmekle sonuç aşağıdaki gibi olmaktadır:

[charttype bars]

Eğer, dikkat ettiyseniz, raporun başlığı hatalı gözükmektedir. Bu hata daha önce rapor edilmiştir.  

Özellikler

XML hakkında daha fazla bilgi, LogReport'un sanaldoku sayfasında bulabilirsiniz. Görüldüğü gibi, dil genişlemeye oldukça uygundur ve şimdilik size önerim, dağıtım ile gelen rapor özelliklerini ana rehber olarak kullanmanızdır.

Bu yazıda, parametre özellikleri (<lire:param-spec>) ve çıktı verileri hesaplama (<lire:report-calc-spec>) bölümleri yer almamaktadır. Özellikle sonuncusunda birçok seçenek vardır ve logların yer aldığı biçim bilgisini içermektedir. Ancak, bu ilerideki bir yazıda anlatilacaktır.  

Sonuç

Bu yazı XML tabanlı rapor yaratma motorunu tanıtmıştır ve raporları nasıl özelleştirilebileceğini göstermiştir. Daha fazla bilgi LogReport'un sayfasında http://www.logreport.org/ bulabilirsiniz.

Eğer, LogReport takımı ile temasa geçmek isterseniz, bizi IRC'den bulabilirsiniz. Genellikle, yazılım geliştiricileri OpenProjects.org IRC network'daki #logreport kanalında bulabilirsiniz. Eğer, e-iletiyi tercih ediyorsanız, herkese açık olan e-ileti adresimiz questions@logreport.org dir.  

Bu yazı için görüş bildiriminde bulunabilirsiniz

Her yazı kendi görüş bildirim sayfasına sahiptir. Bu sayfaya yorumlarınızı yazabilir ve diğer okuyucuların yorumlarına bakabilirsiniz.
 talkback page 

Görselyöre sayfalarının bakımı, LinuxFocus Editörleri tarafından yapılmaktadır
© Egon Willighagen, FDL
LinuxFocus.org

Burayı klikleyerek hataları rapor edebilir ya da yorumlarınızı LinuxFocus'a gönderebilirsiniz
Çeviri bilgisi:
en --> -- : Egon Willighagen <egonw(at)logreport.org>
en --> tr: Erdal MUTLU <erdal(at)linuxfocus.org>

2001-11-12, generated by lfparser version 2.21