Un seul fichier PHP qui transforme vos logs Apache bruts en tableaux de bord interactifs. Aucune base de données, aucune dépendance, zéro configuration initiale.
Seelog regroupe automatiquement les lignes de log en sessions par IP, en appliquant un timeout d'inactivité de 30 minutes et une durée maximale de 1 heure par session. Le résultat : une vue claire de ce que chaque visiteur a fait, dans l'ordre chronologique.
Seelog analyse chaque requête de vos logs contre 12 catégories de menaces distinctes, couvrant les attaques les plus courantes observées sur les serveurs Apache. La détection se fait hors-ligne, sans envoi de données à l'extérieur.
${jndi:UNION SELECT, OR 1=1./, %2e%2e%2f/etc/passwd, /proc//wp-admin/, /xmlrpc.php/phpmyadmin/, /pma/.env, .git/config, .htpasswd.bak, .sql, .zipSeelog détecte les URLs de redirection dans vos logs (/click/, /go?url=, redirections HTTP 301/302) et répertorie les destinations externes avec leur fréquence. Utile pour identifier des liens d'affiliation non déclarés ou des campagnes de tracking tierces.
Chaque bot dispose d'une couleur distinctive dans les graphiques, d'une pastille cliquable dans le sélecteur interactif, et est classé par catégorie. Les bots non listés mais contenant "bot", "crawler", "spider" ou "scanner" sont automatiquement catégorisés.
Pastilles colorées cliquables pour afficher l'évolution d'un bot spécifique ou la somme de tous les bots. Granularité jour/mois/année synchronisée avec le sélecteur global.
Les User-Agents non reconnus contenant bot, crawler, spider, scanner ou slurp sont automatiquement classés "Autres bots" sans configuration.
Toutes les options de Seelog sont accessibles depuis l'interface ,aucune modification de fichier PHP nécessaire. La configuration peut être exportée en JSON et restaurée en un clic.
| Option | Valeur par défaut | Description |
|---|---|---|
| Répertoire de logs | /var/log/apache2/ |
Chemin absolu vers le répertoire contenant les fichiers access.log. Sous-répertoires non parcourus. |
| Plage de dates | 7 derniers jours | Filtre temporel appliqué à tous les onglets. Modifiable via un sélecteur de plage ou des boutons rapides (aujourd'hui, 7j, 30j, 1an). |
| Sessions par page | 40 |
Nombre de sessions affichées par page dans le tableau. Valeurs conseillées : 20, 40, 80, 100. |
| Timeout de session | 30 min |
Durée d'inactivité au-delà de laquelle une nouvelle session est créée pour la même IP. |
| Base GeoIP | (vide) |
Chemin vers le fichier .mmdb (DB-IP LITE ou MaxMind GeoLite2). Laisser vide pour désactiver la géolocalisation. |
| Mode drapeaux | emoji |
Affichage des drapeaux : emoji (Unicode), png ou svg (images locales dans le répertoire configuré). |
| Filtres d'URL | [] |
Liste de préfixes ou regex à exclure de l'analyse. Les assets statiques sont pré-filtrables via case à cocher. N'affecte pas la détection des menaces. |
| Granularité graphiques | jour |
Regroupement des données dans les graphiques : jour, mois ou année. Synchronisé sur tous les graphiques. |
| Masquer les assets | true |
Cache les requêtes CSS, JS, images, fontes dans le détail des sessions. Activable session par session ou globalement. |
| Export JSON config | — | Bouton "Sauvegarder la configuration" dans la bannière ,télécharge un fichier seelog-config.json. Aucune donnée de log incluse. |
Seelog s'installe en 3 étapes et fonctionne immédiatement. Aucune base de données, aucun Composer, aucun npm. Compatible PHP 5.3 et supérieur ,y compris PHP 8.x.
.htaccess + .htpasswd) ou par une restriction IP. Ne le laissez jamais accessible publiquement.https://monserveur.fr/stats/seelog.php dans votre navigateur. La première visite affiche la bannière de configuration où vous saisissez le chemin vers vos logs Apache. C'est tout ,Seelog analyse et affiche vos données immédiatement.Téléchargez Seelog, copiez-le sur votre serveur, ouvrez votre navigateur. C'est tout.