Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Streaming audio: logs
Les logs peuvent ĂȘtre transfĂ©rĂ©s automatiquement par FTP pour ĂȘtre ensuite traitĂ©s (attention, l'opĂ©ration nĂ©cessite de solides connaissances de programmation).
Actions Ă effectuer
- ouvrir le Manager (manager.infomaniak.com)
- sous votre radio, cliquez sur ParamĂštres et activez le transfert de logs
- entrez les informations sur la destination souhaitée
- le systÚme teste si la configuration du serveur entré et les droits d'écriture sont OK
En savoir plus
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 bytes "referer" "useragent" listening-time:
<code>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</code>Le mieux est d'utiliser une expression réguliÚre comme celle ci-dessous:
<code>"/^(\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";</code>La 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: mount name
15: resultat (code HTTP)
16: longueur en bytes
18: user agent
19: durée d'écoute (secondes)
Il peut arriver que la ligne de log soit mal formĂ©e, Ă cause d'un referer trop long par exemple. Ce comportement d'Icecast ne peut ĂȘtre corrigĂ©. Dans ce cas, la regexp n'extrait rien et les infos sont inutilisables car incomplĂštes. donc il faut ignorer la ligne.
Les adresses de la rangĂ©e IP 84.16.67.128/25 doivent ĂȘtre ignorĂ©es car ce sont les serveurs de streaming.