Suivi Apache / Mysql

Suivi Apache / Mysql

12 janv. 2016

linux php

Si régulièrement, vous souhaitez faire la correspondance entre les requêtes de votre serveur web Apache et les requêtes réalisées sur votre base de données Mysql, cela peut rapidement être pénible du fait du grand nombre de connexion, de l’horodatage des logs Mysql…

Ci-dessous un petit code tout simple vous permettant de réaliser le parallèle entre les 2 fichiers de logs facilement :

Code à insérer sur votre site internet :

<?php
   if(function_exists('apache_note'))
      apache_note('mysqlID', $thread_id);
?>

Le paramètres « thread_id » est disponible sur les connecteurs :

  • mysqli : $db_connecteur->thread_id
  • pdo : $db_connecteur->query(‘SELECT CONNECTION_ID()’)->fetch(PDO::FETCH_ASSOC)

Une fois ce paramètre envoyé à apache, vous devrait, pour le retrouver, modifier le paramètre LogFormat de votre serveur Apache en y ajoutant le paramètre ci-dessous :

  • « %{mysqlID}n »

puis redémarrer votre serveur apache…

Une fois la manipulation effectuée, vous pourrez retrouver votre correspondance, par exemple :

#fichier log apache
46.105.XX.XX - - [12/Jan/2016:12:42:44 +0100] "GET XXXX HTTP/1.0" 200 3351 "-" "-" "1219828"
#fichier log mysql
1219828 Connect XXX@localhost on 
1219828 Init DB XXXX
1219828 Query SHOW CHARACTER SET
1219828 Query SET NAMES 'utf8'
1219828 Query SELECT count(*) FROM XXXX

Cette modification doit également être possible si vous utilisez un serveur NGinx.

Commentaires

Me contacter

3 rue Garibaldi
18000 Bourges
SIRET : 81783887300021

contact@clementlevallois.fr

Liens amis
  • Nicolas Vannier, Création de sites à Bourges
  • AuréliA, Photographe à Bourges
  • JM Dubettier, consultant en communication
Mon actualité

Facebook Twitter

Plan du site | Mentions légales | Contactez-moi | Gestion des cookies