Line 89: |
Line 89: |
| === Logs MySQL === | | === Logs MySQL === |
| | | |
− | Le requêtage des logs MYSQL est assurée par un démon indépendant appelé squid-db-logd. Il surveille le journal des accès Squid et Squidguard deny log en temps réel, l'analyse et met tout dans le squid_log.
| + | La journalisation des accès dans la base MySQL est assurée par un démon indépendant appelé squid-db-logd. Il surveille le journal des accès Squid et Squidguard en temps réel, l'analyse et enregistre les entrées dans la base squid_log. |
− | Dans cette base de données, la table access_log liste tout les accès tandi que le deny_log ne list que les accès interdit. Cette fonction peut avoir besoin de beaucoup d'espace disque. Sur un serveur occupé, vous pouvez facilement atteindre 3 GB/mois seulement pour la base de données (et plus pour les dumps quand vous sauvegardez votre serveur). Pour limiter l'espace nécessaire, une tâche cron permet de supprimer les entrées les plus anciennes. La configuration par défaut conserve un an de logs (soit environ 40 GB de logs). Vous pouvez modifier ce réglage avec cette commande (la valeur par defaut est de 365 jours) : | + | Dans cette base de données, la table access_log liste tous les accès tandi que le deny_log ne liste que les accès bloqués. Cette fonctionnalité peut nécessiter beaucoup d'espace disque. Sur un serveur à forte charge, vous pouvez facilement atteindre 3 Go/mois seulement pour la base de données (et plus pour les dumps quand vous sauvegardez votre serveur). Pour limiter l'espace nécessaire, une tâche cron permet de supprimer les entrées les plus anciennes. La configuration par défaut conserve un an de journaux. Vous pouvez modifier ce réglage avec la commande suivante (la valeur par defaut est de 365 jours) : |
| | | |
| db configuration setprop squid-db-logd Retention 180 | | db configuration setprop squid-db-logd Retention 180 |
Line 97: |
Line 97: |
| | | |
| db configuration setprop squid-db-logd status disabled | | db configuration setprop squid-db-logd status disabled |
− |
| |
| sv d /service/squid-db-logd | | sv d /service/squid-db-logd |
| | | |
− | Voici quelques exemple d'execution : | + | Voici quelques exemple de requêtes : |
| | | |
| * Obtenez les 30 sites les plus visités : | | * Obtenez les 30 sites les plus visités : |
Line 106: |
Line 105: |
| echo "SELECT DOMAIN,COUNT(DOMAIN) AS occurances FROM access_log GROUP BY DOMAIN ORDER BY occurances DESC LIMIT 30;" | mysql squid_log | | echo "SELECT DOMAIN,COUNT(DOMAIN) AS occurances FROM access_log GROUP BY DOMAIN ORDER BY occurances DESC LIMIT 30;" | mysql squid_log |
| | | |
− | * Obtenez les 10 categories les plus blockés : | + | * Obtenez les 10 categories les plus bloquées : |
| | | |
| echo "SELECT category,COUNT(category) AS occurances FROM deny_log GROUP BY category ORDER BY occurances DESC LIMIT 10;" | mysql squid_log | | echo "SELECT category,COUNT(category) AS occurances FROM deny_log GROUP BY category ORDER BY occurances DESC LIMIT 10;" | mysql squid_log |
| | | |
− | * Obtenez toutes les pages demandés par le client 192.168.7.50 le 12 Oct 2012 entre 22h00 et 23h00 et exporté le resultat dans /tmp/result.csv | + | * Obtenez toutes les pages consultées par le client 192.168.7.50 le 12 Oct 2012 entre 22h00 et 23h00 et exportez le resultat dans /tmp/result.csv |
| | | |
| echo "SELECT date_day,date_time,url,username INTO OUTFILE '/tmp/result.csv' FIELDS TERMINATED BY ',' | | echo "SELECT date_day,date_time,url,username INTO OUTFILE '/tmp/result.csv' FIELDS TERMINATED BY ',' |