Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Exporter par FTP les logs Streaming Radio
Ce guide concerne les informations d'écoute de Streaming Radio qui peuvent être exportées grâce au protocole FTP. Les logs sont alors automatiquement transférés par FTP pour être ensuite traités (attention, l'opération nécessite des connaissances de programmation).
Préambule
- Les logs de votre radio seront fournis sous forme de fichier compressé xyz.mp3-20140805.log.gz (la date du log est sous forme YYYYMMDD).
- Chaque log commence Ă 04:00 heure suisse et finit Ă 03:59:59 le lendemain.
- Le log est sous la forme
ip user-identifier authuser [date-time] "request" status octets "referer" "useragent" listening-tim
e:81.56.215.98 - - [09/Apr/2009:08:23:18 +0200] "GET /toto.mp3 HTTP/1.1" 200 1211297 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.10 (intrepid) Firefox/3.0.8" 69
- Il peut arriver que la ligne de log soit mal formée, à cause d'un referer trop long p.ex. Ce comportement d'Icecast ne peut être modifié.
- Les adresses de la rangée IP 84.16.67.128/25 doivent être ignorées car ce sont les serveurs de streaming.
- Depuis la page des paramètres sur le Manager, vous pouvez redemander les logs des jours passés.
Activer l'envoi de logs par FTP
Pour cela:
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez sur le nom du flux audio concerné.
- Cliquez sur Paramètres dans le menu latéral gauche.
- Activez l'export de logs par FTP avec le bouton Ă bascule (toggle switch).
- Entrez un nom d'hĂ´te: adresse du serveur FTP.
- Entrez un nom d'utilisateur: nom du compte FTP.
- Entrez un mot de passe: celui du compte FTP.
- Entrez le répertoire sur le serveur dans lequel stocker les logs.
- Cliquez sur le bouton Enregistrer en bas de page:
Traiter les logs
Le mieux est d'utiliser une expression régulière comme celle ci-dessous:
"/^(\S+)\s(.+)\s(\S+)?\s\[((\d\d)\/([a-zA-Z]{3,3})\/(\d\d\d\d)\:(\d\d)\:(\d\d)\:(\d\d)\s\+\d\d\d\d)\]\s"GET\s\/([\-a-z0-9]{1,40}(\.)?(mp3|aac|ogg){0,1})(.*)?"\s(\d{3,3})\s(\d+)\s"(.+)"\s"(.+)"\s(\d+)$/i";
Cette syntaxe est celle de la fonction PHP preg_match
et devra être adaptée si d'autres fonctions/langages sont utilisés.
La fonction preg_match
donne un tableau dont voici les positions significatives:
1 | ip |
4 | date - time complet |
5 | jour |
6 | mois |
7 | an |
8 | heure |
9 | min |
10 | secondes |
11 | point de montage |
15 | resultat (code HTTP) |
16 | longueur en bytes |
18 | user agent |
19 | durée d'écoute (secondes) |
Lien vers cette FAQ: