Exploiter les logs d' apache2

Bonjour,

Depuis peu j’administre un site web et de temps en temps je jette un oeil aux logs mais c’est pas très pratique ni très lisible.

Je cherche donc un “outil” facile à installer et clair à comprendre : par exemple, pouvoir afficher en colonne les dates/heures/minutes des liens consultés etc… Et si possible accessible depuis le même serveur, vu que c’est un serveur LAMP.

j’ai trouvé pas mal de trucs qui génère des statistiques, des graphiques (awstats,webalizer)… mais ça ne m’intéresse pas beaucoup alors je n’en ai pas installé. Ce qui se rapprocherait le plus de ce que je souhaite c’est Firewall Eyes, sauf que ça c’est bien juste pour voir les shoots d’iptables.

J’ai pas tellement envie de m’embarquer dans des scripts qui vont me produire des fichiers CSV , exploitable par je ne sais quel tableur car je suis presque sûr que l’objet de ma recherche doit exister.

une idée :bulb: ?

Ce genre de truc (dynamique)
logio.org/

(découvert à l’instant même, pratique les moteurs de recherche :stuck_out_tongue: )

Vu ça aussi (statique)
burlaca.com/2009/02/alivelog/

Salut,
AWstats, Werbalizer, Deep log analizer, Piwik,…

exemple de truc à l’arrache, minimaliste

#!/bin/bash
#
# Quick & dirty "realtime" Apache HTML log generator
#
#
# Warning : do not expose your logs! (Protect access to the generated html file)

apache_log="/var/log/apache2/ssl_access.log"
error_log="/var/log/apache2/error.log"
nlines=20

myfile="/var/www/realtime.html"

while true;
do

cat >"$myfile"<<EOF
<HTML><HEAD><TITLE>Apache Realtime Access Log</TITLE>
<style type="text/css">
body {
color: black;
background-color: yellowgreen;
font-size: 12px;
font-family: Verdana, Arial, Helvetica, SunSans-Regular, Sans-Serif;
margin: 20px 80px;/*  20px 140px;*/
text-align: center;
border:1px solid black;
}
#content {
padding: 10px;
text-align: left;
background-color: white;
overflow: auto;
}
h1 { color: green; text-align: center; }
pre {
/* white-space: pre-wrap; */
font-family: Fixed; font-size: 10px;
/* font-weight: bold; */
}
</STYLE>
</HEAD>
<BODY>
<DIV id="content">
<H1>$apache_log</H1>
EOF

echo "<PRE>" >>"$myfile"
tail "$apache_log" -n $nlines >>"$myfile"
echo "</PRE><H1>$error_log</H1><PRE>" >>"$myfile"
tail "$error_log" -n $nlines >>"$myfile"
echo "</PRE>" >>"$myfile"

cat >>"$myfile" <<EOF
<H1>Hit F5 to refresh</H1>
</DIV></BODY></HTML>
EOF

sleep 1
done
exit 0

Protéger l’accès au fichier html généré bien sûr! via un .htaccess du style :

Order deny,allow
deny from all
allow from 192.168.

je sentais du tail dans le coin, j’avais pas tord :slightly_smiling:

Merci beaucoup, je vais voir ce que je vais faire. Si je trouve mieux ou par moi-même, j’alimente le sujet, promis.
:sunglasses: