Accéder aux logs d’un
serveur mutualisé OVH

Comme il ne pèse que quelques mégaoctets, ne génère aucun revenu et ne rencontre que quelques centaines de visiteurs chaque jour, j’ai souhaité héberger ce site sur une plateforme gratuite.

L’avantage des sites statiques, c’est qu’un grand nombre de plateformes proposent effectivement un hébergement gratuit : GitHub Pages, Netlify, Cloudflare, Render proposent tous une intégration continue qui permet de générer et d’héberger un site statique.

Mais j’avais une autre contrainte : celle de pouvoir accéder aux logs du serveur, pour pouvoir suivre le nombre de visiteurs directement depuis le script dédié de Matomo, sans imposer un tracker aux visiteurs.

Mon choix s’est donc porté sur OVH, chez qui j’enregistre mes noms de domaine, qui « offre » avec ces derniers un hébergement mutualisé gratuit doté d’un très généreux espace de stockage de… 10 mégaoctets. Dans mon cas, le minimaliste paie : cela me suffit largement !

Pour autant, j’ai trouvé que l’accès automatisé aux logs était particulièrement mal documenté, d’où ce court article !

Création d’un compte pour accéder aux logs

OVH demande tout d’abord la création d’un couple « utilisateur / mot de passe » pour permettre l’accès aux logs. Pour cela, depuis l’espace client, dans Web Cloud, Hébergements, sélectionnez votre nom de domaine, puis allez dans l’onglet Statistiques et logs. Dans la partie « Administration des utilisateurs », créez alors un nom d’utilisateur et un mot de passe pour accéder aux logs.

Profitez-en pour noter l’adresse d’accès au serveur de logs, qui est indiquée dans le lien « Voir les logs », du type logs.clusterxxx.hosting.ovh.net.

Récupération des logs

Pour accéder aux logs, un simple wget suffit avec les bons paramètres. Le code suivant récupère les logs de la veille (pour être ensuite analysées par Matomo par exemple) :

LOG_SERVER="https://logs.clusterxxx.hosting.ovh.net/"
USER="youruser"
PASS="yourpassword"
SITE="domain.tdl"
MONTH=`date -d 'yesterday 13:00' '+%m-%Y'`
DATE=`date -d 'yesterday 13:00' '+%d-%m-%Y'`

wget --http-user=$USER --http-password=$PASS \
  $LOG_SERVER$SITE"/logs/logs-$MONTH/$SITE-$DATE.gz"