Hébergements Web - Accès logs OVH par PHP
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

Accès logs OVH par PHP

Von
LaurentW1
Erstellungsdatum 2023-10-21 09:43:06 (edited on 2024-09-04 12:28:35) in Hébergements Web

Bonjour,

J'ai un hébergement performance avec plusieurs sites qui tournent dessus. Ces sites génèrent tous des logs que je peux consulter via l'interface OVH. Ils ont une url du type:
https://logs.clusterXXX.hosting.ovh.net/mondomaine.com/logs/logs-10-2023/mondomaine.com-20-10-2023.log.gz

J'aimerais pouvoir accéder à ces logs par PHP pour en extraire automatiquement certaines infos. J'ai retrouvé un vieux post expliquant qu'il faut ajouter les identifiants dans l'url mais lorsque je fais ça, je me retrouve avec une nouvelle pop-up d'identification. J'ai pourtant créé un utilisateur spécifique pour les logs.

Est-il possible d'accès aux logs par PHP?

Merci!


3 Antworten ( Latest reply on 2023-10-23 16:09:19 Von
LaurentW1
)

Bonjour,
Cherchez du coté de PHP Curl.
Avec celui-ci, il est possible de se connecter et de gérer le cookie de session.


https://logs.clusterXXX.hosting.ovh.net/mondomaine.com/logs/logs-10-2023/mondomaine.com-20-10-2023.log.gz


Merci, c'est bien comme ça que je m'y prends mais à chaque fois que j'essaie d'atteindre la page en cURL avec mes identifiants globaux ou ceux pour les logs, la requête cURL me renvoie une page en html où je dois m'identifier.

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$response = curl_exec($ch);

Le code n'a rien d'extraordinaire, je pense que quelque chose n'est pas ok dans l'accès mais je ne trouve rien dans la doc d'ovh à ce sujet.

J'ai partiellement résolu le problème d'accès. Au lieu d'utiliser cURL j'ai utilisé GuzzleHttp et avec ça, je peux accéder aux logs de l'hébergement principal. Le problème c'est que j'ai un multisite avec des domaines séparés et je n'arrive pas à accéder aux logs de ces domaines séparés (ni avec l'utilisateur spécifique pour les logs ni mon compte général).

Est-ce qu'il y a une autre méthode pour accéder aux logs séparés?

Merci

Je n'ai pas d'hébergement mutualisé chez OVH. Mais je suppose qu'en multi-site le user PHP est le même pour tous les sites (niveau sécurité ce n'est pas tiptop).
Dès lors je ne voie pas comment distinguer simplement à quel site appartient telle ou telle ligne....

oui ça devrait être le cas sauf que ça ne fonctionne pas :(
Je peux distinguer les logs sur base de l'adresse des logs pour filtrer les domaines qui ont été séparés donc de ce côté pas de soucis. Je peux accéder aux logs du domaine principal lié à l'hébergement mais pas aux autres (peu importe le login)

Vous pouvez monter quelques lignes ce log en question ?
Si dedans, vous avez des éléments différenciant par site alors vous pourrez faire de la regex ou du str_contain() en PHP pour splitter le fichier de log commun.

les logs contiennent les infos sur l'adresse visitée, l'adresse IP, le navigateur et quelques autres éléments. Le problème c'est que les visites sur les domaines séparés ne sont plus présentes dans les logs du domaine principal et je dois donc accéder à une autre url pour laquelle mes identifiants ne fonctionnent pas.