artikelen
Wessel Dankers
wsl at logreport.org
Sun Feb 10 15:51:40 CET 2002
I've been proofreading the Dutch translation of two LinuxFocus articles. I
probably didn't catch all errors (there were quite a few), so perhaps some
of the other Dutch speaking inhabitants of this mailing list would like to
have a look at it.
Regards,
--
Wessel Dankers <wsl at logreport.org>
It's not RFC-822 compliant.
-------------- next part --------------
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head>
<body>
<h1>Het analyseren van de logbestanden van je internetapplicaties</h1>
<h4>ArticleCategory:</h4>
Applications
<h4>AuthorImage:</h4>
<img src="../../common/images/EgonWillighagen.jpg" width="79" height="102" alt="[EgonWillighagen]">
<h4>TranslationInfo:</h4>
<p>original in en <a href="mailto:egonw at logreport.org">Logreport,
Egon Willighagen</a></p>
en to nl <a href="mailto:hjh at passys.nl">Hendrik-Jan Heins</a></p>
<h4>AboutTheAuthor:</h4>
Naast zijn werk voor het LinuxFocus-project werkt Egon ook voor de
Logreport Foundation, die de Lire-software ontwikkelt.
<h4>Abstract:</h4>
<p>Dit artikel is de eerste in een serie over het gebruik van Lire om
logbestanden van internet-serverapplicaties te analyseren. Deze analyse
is niet gelimiteerd tot een toepassing, bijvoorbeeld Apache: Lire is een
geïntegreerd stuk analysegereedschap voor veel verschillende services. DNS, WWW
en e-mail worden ondersteund. Dit artikel legt uit hoe je aan de slag kunt met
Lire. Het gaat over de installatie en de configuratie om rapporten te genereren.</p>
<h4>ArticleIllustration:</h4>
<img src="../../common/images/illustration213.png" width="300" height="65" alt="[illustration]">
<h4>ArticleBody:</h4>
<h2>Inleiding</h2>
<p>De meeste internetservers kunnen hun activiteiten loggen.
Bijvoorbeeld de Apache webserver die voor iedere opgevraagde webpagina
een regel met informatie wegschrijft nar een logbestand. Afhankelijk
van de logopmaak bevat de regel informatie, zoals bijvoorbeeld welke
pagina werd opgevraagd, de opmaak van de pagina, welke browser er gebruikt
werd en nog veel meer. In het geval van je e-mail server wordt er een
soortgelijk logbestand aangemaakt. Dit bevat het e-mailadres waar de
e-mail vandaan komt, wie het ontvangen heeft, hoe groot het was, enz.
Alle internet services hebben een dergelijke mogelijkheid.</p>
<p>Deze logbestanden bevatten zeer veel informatie, maar de opmaak
is lastig uit de losse pols te interpreteren. Je hebt gereedschap
nodig dat samenvattingen van de gegevens maakt om je te helpen bij het
analyseren van de inhoud. In het geval van webservers vertaalt zich
dit in TopX lijsten voor webbrowsers, domeinen en platforms, en een
bezocht-versus-tijdsplot. De meeste <i>tellers</i> van andere producten
laten dit soort overzichten zien.</p>
<p>Er bestaan voor de meeste typen logbestanden gereedschap om
de inhoud te analyseren. <a href="http://logreport.org/">Lire</a>
is zulk gereedschap. Maar Lire is anders dan de meeste gereedschappen.
Lire is een geïntegreerd systeem dat niet slechts èèn type
internetdienst kan analyseren, maar vele. En de rapporten die de interessante
gegevens uit de logbestanden samenvatten zitten erbij. Je kunt zelf op
maat gemaakte rapporttypen aan toevoegen.</p>
<p>Lire kan op verschillende manieren gebruikt worden. Je kunt het draaien
vanaf de commandoregel of je kunt een crontabtaak geïnstalleerd hebben
die je rapporten per e-mail opstuurt. In het eerste geval kun je de
uitvoeropmaak voor het rapport kiezen. De op dit moment beschikbare
uitvoeropmaak is onder andere platte tekst, HTML, DocBook, PDF en
LogML. In het geval van de crontabtaak is de enige beschikbare opmaak op
dit moment platte tekst.</p>
<p>Nu kunnen de logbestanden voor deze diensten worden geanalyseerd:</p>
<ul>
<li>
<b>www</b>
<ul>
<li><a href="http://www.apache.org/">Apache</a></li>
<li><a href="http://www.boa.org/">Boa</a></li>
</ul>
</li>
<li>
<b>email</b>
<ul>
<li><a href="http://www.exim.org/">Exim</a></li>
<li><a href="http://www.postfix.org/">Postfix</a></li>
<li><a href="http://www.sendmail.org/">Sendmail</a></li>
<li><a href="http://www.qmail.org/top.html">Qmail</a></li>
</ul>
</li>
<li>
<b>dns</b>
<ul>
<li><a href="http://www.isc.org/products/BIND/">Bind8/9</a></li>
</ul>
</li>
</ul>
<p>Lire wordt snel ontwikkeld, op dit moment (september 2001) met drie mensen die er
betaald aan werken. Een van hun taken is ondersteuning, dus als je een
speciaal verzoek hebt (een nieuwe service bijvoorbeeld) of je een
algemene ondersteuningsvraag hebt, laat dan een bericht achter op
de mailinglist <a href="mailto:questions at logreport.org">questions at logreport.org</a>.</p>
<h2>Installatie</h2>
<p>Recente versies van lire kunnen worden gedownload vanaf
de <a href="http://sourceforge.net/project/showfiles.php?group_id=5049">SourceForge
website</a>. Er zijn tar.gz, RPM- en Debianpakketten beschikbaar.
<a href="http://packages.debian.org/testing/admin/lire.html">Debian
Woody</a> en ook <a href="http://packages.debian.org/unstable/admin/lire.html">Sid</a>
bevatten lire al. Installatie van het binaire pakket gaat op de gebruikelijke wijze.
Installatie van het tar.gz pakket werkt ook precies zoals verwacht:
<pre class="programlisting">./configure
make
make install</pre>
<p>Het configuratieprogramma heeft de volgende opties</p>
<table>
<tbody><tr>
<td align="center"><b>option</b></td>
<td align="center"><b>description</b></td>
</tr>
<tr>
<td>--prefix=/some/dir</td>
<td>Stelt de root dir in voor de installatie. Standaard is
<i>/usr/local</i>.</td>
</tr>
<tr>
<td>--with-perl5libdir=/some/dir</td>
<td>Stelt de dir waar de lire Perl modules worden geinstalleerd in.
De standaard is <i>$prefix/share/perl5</i>.</td>
</tr>
<tr>
<td>--with-sgmldir=/some/dir</td>
<td>Het pad voor de SGML installatie directory. De standaard is
<i>$prefix/lib/sgml</i> en <i>$prefix/share/sgml</i>.</td>
</tr>
</tbody></table>
<p>Als je van plan bent om gebruik te maken van andere uitvoeropmaak
dan platte tekst moet je XML-gereedschap zoals de DocBook XML
stijlbladen, Jade en een XML-processor zoals Xalan of Sablotron
geïnstalleerd hebben. Met de derde optie voor het configuratieprogramma
kun je aangeven waar de SGML-bestanden geïnstalleerd zijn.</p>
<h2>Lire als een crontaak</h2>
<p>Zodra Lire geïnstalleerd is, kun je het losse programma <i>lr_log2report</i>.
gebruiken. Maar als je van plan bent om Lire te gebruiken via een crontaak,
dan moet je die crontaak eerst configureren. Dit kan worden gedaan met het
<i>lr_config</i> programma. De vragen worden een voor een gesteld:</p>
<p><b>Wordt dit script gestart als deze gebruiker?</b></p>
<p>Het script moet worden gedraaid door een gebruiker die de logbestanden
kan lezen. De logbestanden zijn vaak alleen maar leesbaar voor <i>root</i>
en de gebruikers van de groep <i>adm</i>. Controleer of de gebruiker de
logbestanden kan lezen. Een voorbeeld:</p>
<pre class="programlisting">~> 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</pre>
<p>In dit voorbeeld kan de huidige gebruiker <i>egonw</i> het Apache
logbestand niet lezen. Alleen root kan op dit moment het bestand lezen.
De gebruiker is echter lid van de groep <i>adm</i> dus we kunnen dit
probleem oplossen door root de groep voor het logbestand te laten
wijzigen:</p>
<pre class="programlisting">/var/log# whoami
root
/var/log# chgrp adm apache/access.combined.log
/var/log# ls -al apache/access.combined.log
-rw-r----- 1 root adm 70902 Jul 27 13:23 apache/access.combined.log</pre>
<p><b>Tijdelijke bestanden worden standaard niet bewaard. Wil je deze
behouden?</b></p>
<p>Voor normaal gebruik zou je hier nee moeten zeggen.</p>
<p><b>Ben je van plan een online responder te draaien?</b></p>
<p>De online responder is een stukje gereedschap dat het mogelijk maakt om
je logbestand als e-mail naar deze responder te sturen en om dan daarvan een
rapport terug te krijgen. Dit is bruikbaar voor beheerders van grote
netwerken. Voor normaal gebruik moet je hier nee kiezen.</p>
<p><b>Standaard worden tijdelijke bestanden in ~/tmp opgeslagen. Wil je
dit veranderen?</b></p>
<p>Standaard worden tijdlijke bestanden opgeslagen in je thuismap.
Je kunt deze instellingen veranderen door ja te kiezen en de map op
te geven waar je ze dan wel heen wilt schrijven. Onthoud hierbij wel dat
dit een map moet zijn waarin de gebruiker die Lire draait schrijfrechten
heeft.</p>
<p><b>Wil je een "disclaimer" versturen bij de gegenereerde rapporten?
</b></p>
<p>Als je je rapporten naar anderen stuurt, dan zou je misschien een "disclaimer"
willen toevoegen en moet je dus ja antwoorden op deze vraag. Als de rapporten
alleen voor intern gebruik zijn, dan kun je hier nee antwoorden.</p>
<p><b>Standaard worden status en foutmeldingen naar stderr gestuurd. Wil je
dit veranderen in syslog?</b></p>
<p>Door hier ja te antwoorden kies je ervoor dat foutmeldingen en informatieve
meldingen naar logger(1) worden gestuurd in plaats van naar het standaard foutmeldingskanaal
(STDERR). Hiervoor moet je wel syslog's logger(1) geïnstalleerd hebben.</p>
<p><b>Standaard worden informatieve en debugberichten onderdrukt. Wil je
het systeem in debugmodus draaien?</b> Voor normaal gebruik moet je hier
nee kiezen.</p>
<p><b>Wil je enkele standaardinstellingen voor alle services gebruiken?</b></p>
<p>Je kunt voor alle services een e-mail adres en een onderwerp apart instellen.
Voor het gemak kun je ook een standaard globale instelling gebruiken. Antwoord
hier ja om deze standaard in te stellen:
</p>
<p><b>Wil je een "standaard-naar" e-mail adres gebruiken?</b></p>
<p>Als je hier ja antwoordt, wordt dit e-mail adres gebruikt om
rapporten naartoe te sturen. Het kan voor specifieke services
overschreven worden.</p>
<p><b>Wil je een standaard onderwerpsjabloon gebruiken voor de
gegenereerde e-mail?</b></p>
<p>Als je hier ja antwoordt, kun je een sjabloon opgeven dat gebruikt wordt
om e-mailonderwerpen aan te geven. De standaard ziet er als volgt uit:
"[LogReport] www / apache report" voor rapporten van Apache logbestanden.</p>
<p><b>Welke services draai je?</b></p>
<p>Alle volgende vragen gaan over welke services je van wilt dat Lire een
rapport van maakt. De vragen lijken op elkaar en worden hier dus ook niet
een voor een besproken. Maar voor alle services zien de vragen er als volgt
uit:
</p>
<p><b>Verzamel je ***** logbestanden op deze machine die je verwerkt wilt
hebben?</b></p>
<p>De programma's die Lire ondersteunt worden gegroepeerd als
zogenaamde "superservices". De eerste vraag voor iedere superservice
is altijd of je logbestanden verzamelt waarvan je wilt dat Lire er een
rapport van maakt. Als je hier nee antwoordt, dan worden de verdere vragen
over deze superservice niet gesteld. De superservices die Lire op dit
moment ondersteunt zijn gegeven aan het begin van dit artikel. Er is er
echter een die daar niet genoemd is: apachemodgzip. Dez werkt met logbestanden
over Apache in gecomprimeerde modus.</p>
<p>Het configuratieprogramma zal je daarna vragen stellen over welke services
een voor een gedraaid worden. Voor e-mail bijvoorbeeld zouden deze services
exim, postfix, qmail en sendmail kunnen zijn. Voor ieder programma vraagt
lr_config je waar Lire de logbestanden kan vinden. Deze kunnen ingepakt zijn,
omdat Lire je zal vragen of je wil specificeren met behulp van welke programma's
het de logbestanden moet lezen: <i>zcat</i> of <i>gunzip -c</i> kunnen op deze manier
gebruikt worden.</p>
<p><b>Worden enige van je ***** logbestanden wekelijks gerouleerd?</b></p>
<p>Als je ja antwoordt, zullen de crontabtaken voor Lire worden geconfigureerd
om maar eens per week te draaien. De andere optie is dagelijks.</p>
<p>Als alle vragen beantwoord zijn, schrijft hij alle instellingen naar
configuratiebestanden (*/defaults.local). Deze bestanden kunnen worden
gebruikt door de Lire crontaak. Helaas wordt deze crontaak niet automatisch
geactiveerd. Je moet dit zelf doen door de volgende "one-liner" in te typen:</p>
<pre class="programlisting">~> { echo '0 10 * * * /usr/local/logreport/bin/lr_cron daily';
echo '0 10 * * 0 /usr/local/logreport/bin/lr_cron weekly'; } | crontab -</pre>
<p>Zodra lire op dee manier gectiveerd is, zullen de rapporten op een wekelijkse
of dagelijkse basis worden verstuurd. Je kan de configuratie afstellen door
de de hierboven genoemde configuratiebestanden te bewerken.</p>
<h2>Lire als "stand-alone" gereedschap</h2>
Lire kan ook worden gebruikt als "stand-alone" gereedschap en heeft als
voordeel dat je andere een uitvoeropmaak kunt kiezen, en de mogelijkheid hebt
om plaatjes mee te sturen. Het "stand-alone" gereedschap <i>lr_log2report</i>
wordt gedraaid door een tweede Lire-programma, <i>lr_run</i>:
<pre class="programlisting">~> lr_run lr_log2report /tmp/err www apache combined <
/var/log/apache/access.combined.log > apache.txt</pre>
<p>Het <i>lr_log2report</i> programma gebruikt tenminste drie argumenten.
Het eerste is een bestnd waar de foutmeldingen naartoe worden gestuurd. In dit
geval <i>/tmp/err</i>. Het tweede argument is de <i>superservice</i> van
het logbestand. Er zijn op dit moment drie superservices: www, dns en
e-mail. Het derde argument is de <i>service</i>, dat het type logbestand
typeert. In dit gevl is dat een Apache gecombineerd bestand, dus de service
is apache. Er bestaat een extra argument dat een vlagfunctie heeft en die
vertelt dat het apache logbestand gebruik maakt van de gecombineerde opmaak.
Zoals met de meeste Lire-programma's kun je extra informatie vinden met
behulp van <i>man</i>:</p>
<pre class="programlisting">~> man lr_log2report</pre>
<p>Om de uitvoeropmaak te veranderen kan je de optie "-i <opmaak>"
gebruiken. Geldige opmaak is op dit moment txt (standaard), logml
(<a href="http://www.cs.rpi.edu/%7Epuninj/LOGML/">LogML website</a>), DocBook
XML (<a href="http://sourceforge.net/projects/docbook">DocBook Open
Repository</a>), HTML en PDF. De laatste twee hebben <a href="http://sourceforge.net/projects/docbook">DocBook stylesheets</a>
en <a href="http://openjade.sourceforge.net/">Jade</a> nodig om te werken.
Alle opmaakmogelijkheden behalve platte tekst hebben ook een XSLT-processor zoals
Gnome's <a href="http://xmlsoft.org/XSLT/">xsltproc</a> nodig om bijvoorbeeld
PDF te genereren:</p>
<pre class="programlisting">~> lr_run lr_log2report -o pdf /tmp/err www apache combined
< /var/log/apache/access.combined.log > apache.pdf</pre>
<h2>Conclusie</h2>
<p>Dit artikel heeft in het kort het Lire project voorgesteld en je laten
zien hoe je de software kunt installeren en configureren. De volgende artikelen
in deze serie zullen de software en het gebruik verder omschrijven. Voor nu
kun je meer informatie hierover vinden op onze website:
<a href="http://www.logreport.org/">http://www.logreport.org/</a>.</p>
<p>Als je contact met ons wilt opnemen, kun je ons het beste ontmoeten
op IRC. De ontwikkelaars kunnen vaak gevonden worden op het #logreport
kanaal op het <a href="http://www.openprojects.org/">OpenProjects.org IRC
netwerk</a>. Vragen, opmerkingen en ondersteuningsvragen zijn welkom.</p>
</body></html>
-------------- next part --------------
<html><head>
<!-- lfparser will add this: -->
<style type="text/css">
p.code { width:80%; alignment:center; background-color:#aedbe8; border-style:none; border-width:medium; border-color:#aedbe8; padding:0.1cm ; text-align:left }
</style>
</head><body>
<h1>Het analyseren van de logbestanden van je internetapplicaties II -
het configureren van je rapporten</h1>
<h4>ArticleCategory:</h4>
Applications
<h4>AuthorImage:</h4>
<img src="../../common/images/EgonWillighagen.jpg" alt="Foto van Egon" width="79" height="102">
<h4>TranslationInfo:</h4>
<p>original in en <a href="mailto:egonw at logreport.org">Egon Willighagen</a></p>
<p>en to nl <a href="mailto:hjh at passys.nl">Hendrik-Jan Heins</a></p>
<h4>AboutTheAuthor:</h4>
<p>Naast zijn werk voor het LinuxFocus-project, werkte Egon voor de Stichting
Logreport tot de eerste november van dit jaar. Een deel van het doel van de
stichting was het schrijven van software voor loganalyse met een GPL-licentie.</p>
<h4>Abstract:</h4>
<p>Dit artikel is het tweede in een serie over het gebruik van Lire om logbestanden
van internet-serverapplicaties te analyseren. Dit artikel laat je zien hoe je de
gegenereerde rapporten kunt aanpassen aan je eigen voorkeuren. Het
<a href="http://www.nl.linuxfocus.org/English/September2001/article213.shtml">
eerste artikel</a> uit deze serie legt uit hoe Lire moet worden geïnstalleerd.</p>
<h4>ArticleIllustration:</h4>
<img src="../../common/images/illustration213.png" width="300" height="65" alt="[illustration]">
<h4>ArticleBody:</h4>
<h2>Inleiding</h2>
<p>Dit artikel is gebaseerd op de laatste release van Lire, op dit moment is dat
<a href="http://www.logreport.org/">lire-20011017</a>.
Let erop dat de configuratie erg veranderd is sinds de vorige uitgave en dat in
feite het eerste artikel uit de serie nu al verouderd is. Het idee van lr_config
is echter niet veranderd.
</p>
<p>Nieuwe features in deze release zijn, onder andere: twee nieuwe superservices
(FTP en firewall), veel nieuwe rapporten (totaal > 68), nieuwe opmaakmethoden voor uitvoer
(XHTML en RTF) en een heleboel bugfixes. Maar de belangrijkste verandering in deze
uitgave zit onder de motorkap. Het rapport-generatieproces is compleet herschreven
om gebruik te kunnen maken van XML technologie.</p>
<p>Dit artikel zal een van de XML-opmaakmethoden die nu in lire gebruikt worden introduceren en
hoe deze gebruikt kunnen worden om rapporten te specificeren. Het zal geen handboek zijn
over het maken van nieuwe rapporten maar het zal je laten zien hoe je de voorgedefiniëerde
rapporten kunt veranderen op een laag niveau. Maar allereerst zal dit artikel uitleggen
hoe je Lire kunt vertellen welke rapporten hij moet genereren en hoe de parameters voor
deze rapporten moeten worden ingesteld.</p>
<h2>Rapporten selecteren</h2>
<p>Iedere <i>superservice</i> (dus `email' is een <i>superservice</i>,
de `postfix' en `sendmail' <i>services</i> behoren tot deze <i>super service</i>)
heeft een aantal rapporten beschikbaar die extra informatie voor je uit de logs
halen. De www superservice heeft bijvoorbeeld 31 rapporten. Niet alle rapporten
zijn interresant voor iedereen. Sommige zijn erg specifiek. Standaard worden de
meeste van deze rapporten geselecteerd, maar het is handig om dit in te stellen
naar je eigen wensen.</p>
<p>De rapporten die zullen worden gebruikt bij het genereren van een rapport worden
ingesteld in het bestand <prefix>/etc/lire/<superservice>.cfg (aangenomen
dat Lire geïnstalleerd is de directory <prefix>).
Voor de FTP superservice bijvoorbeeld ziet het configuratiebestand er als volgt
uit:</p>
<p class="code">
# Report configuration for the FTP super service<br>
<br>
# Top X reports<br>
top-remote-host hosts_to_show=10<br>
#top-files files_to_show=10<br>
top-files-in files_to_show=10<br>
top-files-out files_to_show=10<br>
top-users users_to_show=10<br>
<br>
# By day reports<br>
bytes-by-day<br>
<br>
# Transfers by X reports<br>
transfers-by-direction<br>
transfers-by-type</p>
<p>De FTP-superservice heeft dus acht raporten gedefiniëerd en alle behalve èèn
zijn geselecteerd. De "top-files" wordt gedeselecteerd door gebruik te maken van
het karakter "#". Het verwijderen van het karakter "#" zal het rapport opnieuw
selecteren.</p>
<p>Let erop dat niet alle regels die beginnen met een "#" rapporten zijn. in dit
configuratiebestand zijn de regels "Report configuration for the FTP super service",
"Top X reports", "By day reports" en "Transfers by X reports" commentaar.
Dezelfde dingen kunnen verwacht worden in de andere configuratiebestanden.</p>
<h2>Rapporten sorteren</h2>
<p>Ordenen is zeer eenvoudig. De volgorde waarin de rapportregels verschijnen in de
configuratiebestanden is de volgorde waarin de rapporten zullen worden weergegeven
in de uitvoer. Het herordenen van de regels in deze configuratiebestanden zal ze dus
ook herordenen in de uitvoer. Bijvoorbeeld, in het bovenstaande voorbeeld worden
transfers type voor type in het laatste rapport in de uitvoer gegeven.</p>
<h2>Rapporten aanpassen aan de eigen wensen</h2>
<p>Veel rapporten kunnen gedeeltelijk worden aangepast aan de eigen wensen met de configuratiebestanden.
Dit gaat zoals in het voorgaande deel is uitgelegd. Bijvoorbeeld deze DNS-superservice-configuratie:</p>
<p class="code"># Rapport configuratie voor de DNS-superservice<br>
<br>
# Top reports<br>
top-requesting-hosts hosts_to_show=10<br>
top-requesting-hosts-by-method hosts_to_show=10 method='recurs'<br>
top-requesting-hosts-by-method hosts_to_show=10 method='nonrec'<br>
top-requested-names names_to_show=10<br>
top-requested-names-by-method names_to_show=10 method='recurs'<br>
top-requested-names-by-method names_to_show=10 method='nonrec'<br>
requesttype-distribution<br>
requesttype-distribution-by-method method='recurs'<br>
requesttype-distribution-by-method method='nonrec'<br>
<br>
# By Day reports<br>
requests-by-period period=1d<br>
requests-by-period-by-method period=1d method='recurs'<br>
requests-by-period-by-method period=1d method='nonrec'<br>
<br>
# By Hour reports<br>
requests-by-period period=1h<br>
requests-by-period-by-method period=1h method='recurs'<br>
requests-by-period-by-method period=1h method='nonrec'</p>
<p>Alle vijftien rapporten zijn geselecteerd, maar bovendien is het voor de rapporten
met een top X output mogelijk het nummer X te definiëren. Met de bovenstaande configuratie
geeft het rapport <i>top-requesting-hosts</i> een Top 10.</p>
<p>Deze rapporten worden gegenereerd uit slechts acht rapportspecificaties.
Het gebruik van de parameters (<i>period</i>, <i>method</i>, <i>hosts_to_show</i>,
en <i>names_to_show</i>) maakt dit mogelijk. Dit is een van de nieuwe krachtige eigenschappen
van de nieuwe, op XML gebaseerde motor.</p>
<p><b>Belangrijk: alle instellingen van variabelen moeten op dezelfde regel worden geplaatst als de
rapportnaam!</b></p>
<p>Een meer exotisch voorbeeld kan gegeven worden aan de hand van het
WWW-superservice-configuratiebestand:</p>
<p class="code">top-referers-by-page referer_to_show=5 page_to_show=10 referer_exclusion='^-$'</p>
<p>In dit voobeeld wordt een Perl <a href="http://www.nl.linuxfocus.org/English/July1998/article53.html">
reguliere expressie</a> gebruikt als inhoud voor de <i>referer_exclusion</i>-variabele. Deze expressie
komt overeen met alle referers "-". Zulke referers kunnen worden gevonden in het logbestand
in gevallen waarin bijvoorbeeld de URL van een web pagina is ingetikt door de gebruiker.
(Wanneer gebruikers je pagina bezoeken door op een link in een pagina te klikken die doorverwijst naar
je pagina, dan wordt de pagina waar de link vandaan komt gegeven in het refererveld.) Alle referers die
hetzelfde zijn als "-" worden uit de analyse gehouden.</p>
<h2>Low Level aanpassen van Rapporten</h2>
<p>Deze nieuwe uitgave is het begin van een heel nieuwe tak van Lire. De rapportgeneratie en de
specificatieprocessen zijn compleet herschreven om gebruik te kunnen maken van XML-technologie.
Rapporten worden
gespecificeerd in XML, maar de instelling van de variabelen werkt in gewoon ASCII-formaat. De voorgaande
rapportspecificatie was een Perlscript dat zowel de invoeropmaak als de uitvoeropmaak moest kennen.
Met de nieuwe XML-opmaak is de implementatie gescheiden van de specificatie en hoef je niet meer zowel
de invoer- als de uitvoeropmaak te kennen maar alleen de gegevens die verwerkt kunnen worden.</p>
<p>Dus, als je rapporten op laag niveau aanpast,
hoef je allen maar een beetje XML te kennen. Een voorbeeldrapport, genomen van de
<prefix>/share/lire/reports/firewall directory:</p>
<p class="code"><?xml version="1.0" encoding="ISO-8859-1"?><br>
<!DOCTYPE lire:report-spec PUBLIC<br>
"-//LogReport.ORG//DTD Lire Report Specification Markup Language V1.0//EN"<br>
"http://www.logreport.org/LRSML/1.0/lrsml.dtd"><br>
<lire:report-spec xmlns:lire="http://www.logreport.org/LRSML/"<br>
superservice="firewall" id="bytesperfrom" charttype="bars"><br>
<br>
<lire:title>Top Bytes per From-IP Report</lire:title><br>
<lire:description><br>
<para><br>
This report lists the IP addresses sending the highest data volume.<br>
</para><br>
</lire:description><br>
<br>
<lire:param-spec><br>
<lire:param name="ips_to_show" type="int" default="10"><br>
<lire:description><br>
<para>This parameter controls the number of sending IP adresses to<br>
display in the report.<br>
</para><br>
</lire:description><br>
</lire:param><br>
</lire:param-spec><br>
<br>
<lire:display-spec><br>
<lire:title>Volume per sending IP, Top $ips_to_show</lire:title><br>
</lire:display-spec><br>
<br>
<lire:report-calc-spec><br>
<lire:group sort="-rcvd_volume" limit="$ips_to_show"><br>
<lire:field name="from_ip"/><br>
<lire:sum name="rcvd_volume" field="length"/><br>
</lire:group><br>
</lire:report-calc-spec><br>
<br>
</lire:report-spec><br>
</p>
<h3>De <i>Lire</i> Naamruimte</h3>
<p>Het eerste dat je zou moeten opvallen is dat vrijwel ieder XML-element in dit rapport begint met
<i>lire:</i>. Dit wordt gebruikt om een naamruimte toe te wijzen aan dat element. Ieder element met de
<i>lire</i>-naamruimte is gedefiniëerd in XML DTD
http://www.logreport.org/LRSML/1.0/lrsml.dtd (lege link!), die kan worden doorgespit op
<a href="http://www.logreport.org/pub/docs/dtd/lrsml/">http://www.logreport.org/pub/docs/dtd/lrsml/</a>.</p>
<p>Alle andere elementen zouden moeten toebehoren aan de
<a href="http://docbook.sourceforge.net/">DocBook XML 4.2 DTD</a>. Zoals het element
<para> op de tiende regel bijvoorbeeld.</p>
<h3>Het veranderen van de titel die boven de door Lire gegenereerde rapporten verschijnt</h3>
<p>Als je de titel die verschijnt in het rapport wilt wijzigen, dan moet je de <lire:title>
inhoud in de <lire:display-spec> veranderen. Onthoud hierbij dat strings die starten met
"$" Perlvariabelen zijn waar de naam correspondeert met een van de gespecificeerde parameters
in de <lire:param-spec>-sectie.</p>
<p><b>Het lastige deel is dat je het juiste <lire:title> element moet nemen.</b>
Je moet het element nemen dat de inhoud is van de <lire:display-spec>-knoop. Het volgende
element bevat de gegevens die verschijnen in het uitvoerrapport. Het eerste <lire:title>-element
bevat de titel van het rapport die gebruikt wordt in de documentatie van de Lire-software.</p>
<p>Het volgende voorbeeld laat een fragment van de requests-by-result WWW-rapportspecificatie
zien. Je kunt zien dat de <lire:display-spec> nu niet alleen een titel als uitvoer geeft,
maar ook wat meer uitleg. Let er op dat alle inhoud in het <lire:description>-element geen
gebruik maakt van de <i>lire</i> naamruimte, en dus DocBook-inhoud is.
</p><p class="code">
<lire:display-spec><br>
<lire:title>Requests By HTTP Result</lire:title><br>
<br>
<lire:description><br>
<para><br>
The most common HTTP status codes are given below:<br>
<variablelist><br>
<br>
<varlistentry><br>
<term>200</term><br>
<listitem><br>
<para>OK (The request has succeeded.)</para><br>
</listitem><br>
</varlistentry><br>
<br>
<!-- rest is cut out --><br>
</variablelist><br>
</para><br>
</lire:description><br>
</lire:display-spec><br>
</p>
<p>Het rapport zal er ongeveer uitzien als (alleen het bovenste deel hier):
</p><p class="code">
Requests By HTTP Result<br>
<br>
The most common HTTP status codes are given below:<br>
<br>
200 OK (The request has succeeded.)<br>
<br>
201 Created (The request has been fulfilled and resulted in a new resource being created.)<br>
<br>
206 Partial Content (The server has fulfilled the<br>
</p>
<h3>Het veranderen van het type afbeelding voor een rapport</h3>
<p>De meeste rapporten bevatten afbeeldingen die afhankelijk zijn van de gegevens. Deze afbeeldingen
worden gegenereerd met behulp van de gegevens en de rapportspecificatie definiëert de opmaak waarmee
de afbeelding wordt afgedrukt. Neem bijvoorbeeld het volgende stuk uit het FTP transfers-by-type rapport.</p>
<div class="programlisting">
<lire:report-spec xmlns:lire="http://www.logreport.org/LRSML/"
superservice="ftp" id="transfers-by-type" charttype="pie">
</div>
<p>Voor dit rapport worden de gegevens gevisualiseerd in een taartdiagram zoals te zien is aan het
@charttype attribuut in de bovenstaande code. Het resultaat ziet er zo uit:</p>
<p align="center"><img src="../../common/images/article218/t_art218_ftp1.png" width="350" height="303" alt="[charttype pie]"></p>
<p>Door het diagramtype te veranderen in <i>staaf</i> zoals in 'charttype="bars"'
verandert de uitvoer in:</p>
<p align="center"><img src="../../common/images/article218/t_art218_ftp2.png" width="350" height="296" alt="[charttype bars]">
</p>
<p>Let erop dat het rapport een bug bevat. Het rapport staat op het transfertype
niet het bestandstype. Deze bug is al gemeld.</p>
<h2>Specifieke informatie</h2>
<p>Meer specifieke informatie over de XML-taal die gebruikt is voor de rapportspecificatie
kan worden gevonden op de LogReport
<a href="http://www.logreport.org/pub/docs/dtd/lrsml/index.html">web site</a>.
Je zult zien dat de taal vrij uitgebreid is, en voorlopig kan ik je aanraden om gebruik te maken
van de rapportspecificatie die als gids bij de distributie wordt geleverd.</p>
<p>Elementen die niet besproken zijn in dit artikel maar die wel worden gebruikt in deze
rapporten voor de specificatie van parameters zijn (<lire:param-spec>) en de
berekening van de uitgedraaide gegevens (<lire:report-calc-spec>). Vooral de laatste heeft veel
opties en maakt gebruik van bestaande kennis van het interne formaat (genaamd DLF)
waarin de loggegevens worden opgeslagen. Dit zal worden besproken in een toekomstig artikel.</p>
<h2>Conclusie</h2>
<p>Dit artikel heeft de XML gebaseerde rapport engine geïntroduceerd en uitgelegd
hoe je de rapporten die je krijgt kan aanpassen. Meer informatie kan worden gevonden op
de LogReport web site: <a href="http://www.logreport.org/">http://www.logreport.org/</a>.</p>
<p>Als je contact op wilt nemen met het LogReportteam kun je IRC op gaan.
De ontwikkelaars kunnen vaak worden gevonden op het #logreport kanaal op het
<a href="http://www.openprojects.org/">OpenProjects.org IRC netwerk</a>.
Vragen, commentaar en ondersteuningsvragen zijn welkom. Als je liever gebruik maakt van
e-mail kun je het team bereiken via de openbare mailinglijst
<a href="mailto:questions at logreport.org">questions at logreport.org</a>.</p>
</body></html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 230 bytes
Desc: not available
Url : http://lists.logreport.org/pipermail/development/attachments/20020210/92ca2b28/attachment.bin
More information about the Development
mailing list