SheevaPlug

IWLA 0.2

Thursday, 16 July 2015
|
Écrit par
Grégory Soutadé

Capture d'écran IWLA

Deuxième version d'IWLA, le clone d'AWSTATSl'analyseur de log web écrit en Python.

Qu'est ce qu'on trouve dans cette version ? Et bien ... tout. Cette version arrive au niveau d'AWSTATS en ce qui concerne mon usage, et même le dépasse !

Quelques fonctions non présentes dans AWSTATS :

  • (Meilleure) Détection des robots
  • Affichage des différences entre deux analyses
  • Ajout facile des ses propres moteurs de recherche
  • Traçage d'IP
  • Détection de lecteur de flux RSS
  • Support des fichiers de log compressés

Pour le reste, on retrouve toutes les briques de bases. Mon seul regret est de n'avoir pas encore mis en place les tests automatiques.

Mixing Apache2 and nginx log file

Wednesday, 27 May 2015
|
Écrit par
Grégory Soutadé

My configuration is a bit specific. I have an Apache server for PHP and Python stuff with nginx as a frontend (and for serving static files like this blog). This part seems normal for most of people. BUT, in my case, I want that the two servers write the access logs IN THE SAME FILE (/var/log/apache2/access.log)

I run a Debian stable on my server. With the previous version (7.0), all was fine, but, until Jessie (8.0), I found a very strange behaviour with my web statistics analyzer. I usually have from 60 to 80 visits per day. In may (after the upgrade to Jessie), I get only 2 or 3 visits per day, using only one subdomain. Plus, it's a period where I have no internet at home and no time to investigate...

Finally, I found the problem ! It's located in logrotate. The two files are :

/etc/logrotate.d/apache2

/var/log/apache2/*.log {
    daily
    missingok
    rotate 14
...
    postrotate
            if /etc/init.d/apache2 status > /dev/null ; then \
                /etc/init.d/apache2 reload > /dev/null; \
            fi;
    endscript
...
}

And /etc/logrotate.d/nginx

/var/log/nginx/*.log {
    weekly
    missingok
    rotate 52
...
    postrotate
            invoke-rc.d nginx rotate >/dev/null 2>&1
    endscript
}

The first one do a logrotate every day of all files in /var/log/apache2/*.log (that contains our . The second one, do only one logrotate every week. But, the most important line is located in postrotate. Why it's important ? Because it says to nginx and Apache "Now the log file has changed, close the previous and open the new one". Seems correct, but without that, nginx write in /var/log/apache2/access.log.1 and not /var/log/apache2/access.log until it gets rotated (after a week) because it will keep the handle on access.log that is renamed to access.log.1 by logrotate.

The solution is to add

invoke-rc.d nginx rotate >/dev/null 2>&1

In the postrotate section of /etc/logrotate.d/apache2 (after the if). Then, restart nginx :

systemctl restart nginx

Quatre ans !

Monday, 04 August 2014
|
Écrit par
Grégory Soutadé

Gâteau anniversaire 4 ans

l'année dernière je disais que l'amour dure trois ans. Visiblement il y en a une de plus ! Côté publications, c'est cette année 49 articles dont 4 en anglais. Plutôt pas mal sachant que la section cinéma a été fermée, n'étant pas suffisamment intéressante. Seuls les films qui méritent vraiment le coup (comme le fameux "Libre et assoupi") seront sujets à article. Pour parler cinéma, je trouve que cette année, sans être extraordinaire, a été bien meilleure que la précédente !

Côté serveur, ça fait donc quatre ans que le Sheevaplug tourne avec une seule panne l'année dernière ! Il tient parfaitement la charge (merci nginx !), même s'il manque un peu de pêche pour faire tourner Dynastie (écrit en Python avec le framework Django). D'ailleurs, je trouve la syntaxe Markdown vraiment agréable pour rédiger des articles tant que ceux-ci n'ont pas de formatage complexe, sinon je repasse en HTML. J'ai aussi abandonné mon certificat SSL Gandi pour un auto-signé. C'est moins bien pour l'utilisateur, mais au moins je connais tous les maillons de la chaîne de signature !

Concernant la fréquentation, mon article favoris, mis à part une embellie à la fin de l'année passée, est de moins en moins consulté. Le serveur a aussi servi de relais à des pirates dans le but de faire télécharger à un autre serveur de grosses quantités de données pour, je suppose, créer un déni de service (DDoS), c'est à dire faire tomber sa connexion. Les administrateurs de moxiecode.com (auteurs de tinyMCE) à l'origine de la faille n'ont pas réagi, j'ai donc simplement coupé l'accès au fichier en question (de 4Mo quand même).

Voici un aperçu des articles les plus consultés avec leur date de parution (sur un an) :

Les liens en gras sont surtout consultés pour les images.

En ignorant l'attaque du début de l'année (à la louche), les chiffres sont :

  • 49 articles (50, 60, 60)
  • 25 000 visites (12 000, 18 000, 9 000)
  • 5.5 Go de données envoyées (2, 5.7, 2.7)

Entre parenthèses, ce sont les chiffres des années précédentes. On peut donc considérer que c'est une très bonne année, sans effet linuxfr qui plus est (gPass n'a eu qu'un succès relatif...) ! Même si la moitié des visites ne concernent qu'un seul article...

Pour la suite, je vais peut être créer une catégorie "ballades" si j'en viens à faire plus de "reportages" photos comme le "Chemin du paradis", "Expo roses" ou encore "Le plan des Noves". Il faut juste que je fasse attention car les images sont très consommatrices de bande passante, donc éviter de mettre plusieurs articles sur une même page d'index !! On verra si j'aurai autant d'inspiration que pour cette année (le mois de mai a été particulièrement fertile). En tout cas, il y a déjà un article en préparation qui risque de faire du bruit !!!

36h

Tuesday, 15 July 2014
|
Écrit par
Grégory Soutadé

36 heures d'interruptions, ce sont les joies de l'auto hébergement... Tout commence par une (je suppose) mise à jour de la livebox. Chouet, une nouvelle interface eye candy, mais toujours pas de support de l'IPv6 et moins de contrôle de la livebox... S'ensuit naturellement une déconnexion intempestive. On débranche tout, on rebranche, on fait un reset (non !!!!!!!!!!!).

Bref, il faut vingt-quatre heures pour que je puisse intervenir physiquement sur la box, puis encore deux heures pour retrouver ce satané mot de passe de connexion (heureusement enregistré dans un ancien profil de Firefox). À priori tout est OK, pourtant le serveur n'est pas accessible depuis l'extérieur. Sûrement les DNS qui n'ont pas encore été mis à jour. En fait non, le reset avait aussi effacé les règles NAT. Cinq heures pour m'en rendre compte !

Maintenant tout est redevenu normal (sauf erreur que je n'aurais pas encore rencontrée). Tout ceci souligne (mais je le savais) la fragilité de l'installation :

  • Pas de serveur de secours
  • Pas d'IP fixe (donc coupures régulières de DNS, merci Orange)
  • Pas de carte d'accès à distance style DRAC

Vivement la réplication sur un autre site physique avec un fournisseur d'accès internet indépendant comme FDN et un vrai modem routeur (pas de services inutiles comme le téléphone, la télévision...). Le tout relié à un serveur un peu plus musclé comme l'alléchante Cubox-i2eX. L'idéal serait même un modem sous *BSD pour limiter les backdoors de la NSA/DGSE !

Debian Wheezy

Saturday, 11 May 2013
|
Écrit par
Grégory Soutadé

Logo Debian

La dernière version stable de Debian (Wheezy 7.0) est officiellement sorti le week end dernier. Le temps de laisser les sys admins du monde entier se ruer sur cette nouvelle mouture, j'ai moi aussi franchi le pas du apt-get upgrade ! Mis à part quelques fichiers de configs (dont le mail) et la mystérieuse disparition du serveur MySQL ?? la mise à jour s'est effectuée sans accrocs. Dans deux ou trois releases on sera paré pour les 5 prochaines années !

Au passage, le dégel de testing (Jessie) m'a permis d'installer le tant attendu e17 (enlightenment). Il y a encore quelques bugs qui doivent être corrigés dans sa version stable (dans experimental pour le moment) mais je dois reconnaître que, passer le thème de base relativement moche, il y a pas mal d'avancées par rapport à e16. Vivement qu'elle passe en testing !

Merci Debian !