PROJET AUTOBLOG


Le blog de Seboss666

Site original : Le blog de Seboss666

⇐ retour index

Bash : compter les heures, ajouter un 0 devant une heure inférieure à 10

dimanche 23 juillet 2017 à 10:30

J’ai été confronté à un problème simple à la base (pour un adminsys) : compter le nombre de requêtes sur un site, heure par heure, à partir d’un fichier access_log Apache. Finalement le problème était un peu plus tricky, et ça demande un peu plus d’explications qui ne tiennent pas dans une astuce diverse.

 Le log apache est facile à lire via bash, il contient la date et l’heure dans un format que grep n’aura aucun mal à identifier. Je shoot donc un one-liner rapide :

for i in {0..23}; do echo -ne "${i}h : $(grep "2017\:$i" access.log |wc -l)\n"; done

Simple, rapide, efficace, le quotidien du sysadmin quoi. Enfin efficace… Le résultat est sur le coup surprenant :

0h : 177026
1h : 294004
2h : 84661
3h : 0
4h : 0
5h : 0
6h : 0
7h : 0
8h : 0
9h : 0
10h : 24228
11h : 29431
12h : 28586
13h : 34634
14h : 34067
15h : 32441
16h : 28779
17h : 30497
18h : 27450
19h : 23891
20h : 21230
21h : 19748
22h : 21587
23h : 22096

Damned. J’imagine mal un site public sous WordPress capable de ne pas subir la moindre requête pendant plusieurs heures, entre monitoring, intervention client ou robots d’indexation. J’ai donc fait une connerie. Une connerie vite identifiée vu le pépin : l’heure est notée sur deux chiffres dans les logs, hors il n’y a que 0,1,2 qui peuvent matcher dans ce cas, ce qui explique les trous de 3 à 9.

Certains furieux trouveraient certainement une regex ultra cradingue à exploiter à la place (et faut pas hésiter à partager en commentaires), j’ai fait un peu différent (c’est surtout pour ça que je voulais en parler), à savoir passer deux ensembles de nombres à for :

for i in 0{1..9} {10..23}; do echo -ne "${i}h : $(grep "2017\:$i" starafrica-20170628.log |wc -l)\n"; done
01h : 24983
02h : 19756
03h : 14581
04h : 11723
05h : 10904
06h : 11458
07h : 15557
08h : 17999
09h : 21149
10h : 24228
11h : 29431
12h : 28586
13h : 34634
14h : 34067
15h : 32441
16h : 28779
17h : 30497
18h : 27450
19h : 23891
20h : 21230
21h : 19748
22h : 21587
23h : 22096

C’est beaucoup mieux.

Oui, on peut indiquer deux plages de valeurs sans avoir à faire deux boucles. Une bizarrerie découverte au hasard d’une recherche de solution à mon petit souci. En fait, dans la pratique les deux ensembles sont décomposés par Bash pour ne constituer qu’une seule liste, ce qui donne l’équivalent de la syntaxe suivante, bien plus longue et lente à écrire :

for i in "00" "01" "02" "03" "04" "05" ... "23"; do ...

Ce langage ne cesse de m’étonner, j’ai l’impression qu’on pourrait y passer une vie sans en avoir fait le tour.

Bon ça m’empêchera pas de continuer à m’intéresser à PHP et Python 😛

Alerte : Pure URL ne fonctionne plus, quelle alternative ?

mardi 18 juillet 2017 à 18:30

Dans mon dernier article en date sur les extensions Firefox que j’utilise, il y en a une diablement pratique qui nettoie vos URL des merdes de tracking Google, Facebook & co. Malheureusement depuis quelques temps et les mises à jour de Firefox, cette extension ne fonctionne plus. Voyons de plus près de quoi il retourne.

Je ne suis pas un cas isolé : les commentaires sur la page de Mozilla Add-ons est claire : les commentaires indiquent que ça ne fonctionne plus, à priori depuis la dernière ESR (Extended Support Release, soit une version figée maintenue à jour sur un cycle plus long que la version standard).

Je creuse un peu, direction le site du développeur et plus particulièrement le billet de fin d’année dernière sur les mises à jour de ses extensions. Les commentaires de l’article sont très instructifs, l’auteur répond que la plupart des extensions ne seront pas mises à jour pour passer aux webextensions, le nouveau format que doivent suivre les extensions dans le navigateur. Lui ne semble pas super motivé, bien qu’il dise que la « conversion » soit possible pour les gens motivés. La magie des projets portés par une seule personne, Cyrille Borne pourrait vous en raconter des tonnes sur le sujet.

Quelle alternative ?

Pour l’instant on n’est pas près de voir un monde débarrassé de ces éléments perturbateurs d’URL et saloperies violeuses de vie privée. Il faut donc trouver un remplaçant. Malheureusement Pure URL permettait de virer pas mal de choses et surtout d’ajouter ses propres champs à la liste connue, et ça sans avoir à trifouiller du code, ce qui est parfait pour des gens pas très au fait de la technique. Les prétendants au trône que j’ai pu trouver se concentrent pour l’instant uniquement sur Google, et intègrent les balises en dur dans leur code. Je teste actuellement Lean URL, qui effectivement fonctionne, mais ça ne bloque pas les autres horreurs ajoutées par Yahoo, Bing, Facebook, Twitter & co. Une alternative qui semble un peu plus utile (car moins filtrante quand on regarde le code), est Au revoir UTM, malheureusement toujours limitée à Google.

Je continue quand même à surveiller, dès fois qu’on aie droit à un vrai successeur facile à utiliser.

Quelques liens en vrac et en français, 20° édition

samedi 15 juillet 2017 à 10:30

J’ai pris du retard sur certains brouillons, voici donc un petit florilège d’autres articles à lire, toujours en français (sinon ça serait pas dans le titre). Bonne lecture !

Sur la communication quantique (et les exagérations)

L’annonce chinoise sur les avancées en termes de communication quantique est sensationnelle, jusqu’à ce qu’on rentre un peu dans les détails. Une fois de plus dans ce genre de cas (ça concerne des communications), c’est Stéphane Bortzmeyer qui nous fait une petite remise à plat de l’annonce.

Protéger sa vie privée – Le rire jaune

Aucune nouveauté dans cette vidéo réalisée en partenariat avec la CNIL pour ceux qui sont déjà au fait de l’hygiène numérique, mais si ce format peut faire passer le message plus facilement auprès des jeunes qui veulent pas en entendre parler, je pense qu’il faut leur montrer…

Comment tester une connexion URL avec curl sous Linux ?

J’ai déjà eu l’occasion de montrer quelques capacités de curl quand on fait des tests sur ses configurations Web (serveur ou app). Pour une fois je passe la parole à Fatiha qui va vous parler de l’utilisation de cookie.

De Mac à Linux, épisode 1 : Parce qu’il n’y a pas d’alternative

Oui, la désintoxication est possible, même en passant par Ubuntu. Et c’est très intéressant de voir le point de vue et le parcours d’un utilisateur « lambda » pour cette libération, à savoir un journaliste écrivain, David Dufresne.

Données sur le Net : tous suspects

Vous ne le savez peut-être pas, mais le grand projet de nos « élites » est de mettre la totalité de la population sous surveillance. Si pour l’instant les tribunaux, juges, cours de justice arrivent encore à les contrer, la menace est réelle sur nos libertés les plus fondamentales. Petite piqûre de rappel sur un vrai combat qui n’est absolument pas couvert par les média traditionnels sur des canaux historiques (TV, presse papier…).

WiFi gratuit : sachez éviter les pièges lors de vos vacances

C’est les vacances, beaucoup d’entre vous vont bouger de chez eux et tenter d’économiser ses précieux gigots de data en passant par des hot-spot publics. Attention toutefois aux risques pour vos infos persos, et ce billet vous rappelle quelques risques et conseils de base pour se protéger et profiter malgré tout de nos appareils préférés.

Les cahiers du débutant pour Debian Stretch sont en ligne

À nouvelle version de Debian, nouvelle version des cahiers du débutant. Bon pour cette fois le boulot était un peu moins important que la dernière fois aussi…

Comment préparer son PC pour la Nuit du Hack

Je suis allé avec mon pc perso à la nuit du hack, en prenant quelques précautions mais rien de transcendant non plus (et pareil pour le smartphone). Certains sont beaucoup plus paranoïaques et s’arment en conséquence. Bon après, quand on voit ce qu’il est possible de faire avec ces appareils parfois mal protégés, je peux comprendre.

Bye Bye Google

Une autre expérience de l’étendue de la collecte des données mise en place par Google, un modèle du genre repris depuis par quantité de services, et de comment on peut s’en passer. Toujours intéressant à lire, car plus que jamais d’actualité, quand bien même Google annonce qu’il lira moins le contenus de vos mails pour le proposer aux publicitaires.

L’heure du test — fork 2 — Qubes OS

Qubes OS est une particularité dans les systèmes d’exploitation avec une très très forte volonté de sécurité et d’isolation entre composants. Une fois de plus maintenu par une équipe trop petite par rapport à l’ampleur de la tâche, très intéressant techniquement parlant, ça le rend malheureusement difficile d’accès.

Comprendre le NOERROR de dig

lundi 10 juillet 2017 à 18:30

Récemment les serveurs DNS D’SFR ont décidé de faire paniquer un client, qui n’avait plus aucun enregistrement A sur sa zone; nous étions en plein recette sur sa nouvelle plateforme, et son site actuel paraissait du coup « en carafe ». En analysant un peu, j’ai découvert une réponse étrange que j’aimerai partager avec vous.

Donc l’agence m’interpelle à propos du domaine après avoir été alertée par le client, leur premier diagnostic semble correct, en effet, plus aucune IP n’est renvoyée sur le domaine principal ou ses différents sous-domaines :

[seboss666@SebLBNvm ~ ]$ dig client.fr +all
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59247
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:
; udp: 4096
;; QUESTION SECTION:
;client.fr. IN A

;; AUTHORITY SECTION: client.fr. 3556 IN SOA ns1.sfrbusinessteam.fr. admin.sfrbusinessteam.fr. 2017061902 43200 3600 604800 3600

;; Query time: 4 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Tue Jun 20 09:44:37 CEST 2017
;; MSG SIZE rcvd: 104

Quel est donc ce NOERROR qu’il nous retourne ? Je connais le NXDOMAIN, mais c’était la première fois. En fouillant les résultats Google j’ai fini par avoir une réponse, une fois de plus en anglais, il me semble donc intéressant d’en parler en Français (et non, notre expert national Stéphane Bortzmeyer ne semble pas en avoir parlé). Et manifestement, contrairement à ce que dig prétend, il y a bien une erreur.

Il se trouve que le code d’erreur associé à NOERROR n’existe tout simplement pas. Mais ce qu’il signifie, c’est qu’il existe des enregistrements sur le domaine interrogé, mais pas celui qu’on recherche. Si je cherche du A, je n’en ai pas, cependant :

[seboss666@SebLBNvm ~ ]$ dig client.fr +all ANY
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 651
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;client.fr. IN ANY

;; ANSWER SECTION:
client.fr. 3307 IN NS ns1.sfrbusinessteam.fr.
client.fr. 3307 IN NS ns2.sfrbusinessteam.fr.

;; Query time: 3 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Tue Jun 20 09:48:46 CEST 2017
;; MSG SIZE rcvd: 94

C’est exactement ce que j’ai au dessus, les champs NS existent encore (c’est d’ailleurs les seuls qui restent). La réponse de dig est donc parfaitement logique. Je n’ai pas eu la fin de l’histoire du côté d’SFR, mais bon, j’imagine qu’ils ont compris qu’ils avaient fait de la merde quelque part et qu’il fallait réparer.

Un mois de Juin calme côté blog, moins calme IRL

mercredi 5 juillet 2017 à 18:30

Nouveau mois, nouveau résumé rapide du mois précédent. Peu riche en écriture, en tout cas d’écriture terminée, peu riche en manipulations techniques personnelles, et du coup, peu riche en visiteurs. Le fait est que j’ai passé peu de temps hors du travail derrière un ordinateur alors…

Une chute drastique de visiteurs

Eh oui, la lente fuite de visiteurs continue. En tout cas celle enregistrée par Piwik. J’ai remarqué que de nouveaux filtres étaient parus dans  le filtre EasyPrivacy pour bloquer l’URL de l’image de Piwik (qui est au final un script PHP). L’insistance à vouloir bloquer un outil de statistiques qui de toute façon respecte le Do Not Track est pour moi une aberration, mais bon. Le script JS semble épargné, donc il va falloir trouver une astuce pour l’image. Et non, je n’ai pas encore trouvé l’outil qui me permettra de faire proprement une analyse comparée des logs bruts d’Nginx.

D’ailleurs si vous avez des conseils pour que je fasse une analyse sur mettons les six derniers mois, je suis preneur. Si possible quelque chose d’agréable à l’œil, j’ai un souvenir violent d’awstats.

Concernant les parutions, c’est un poil moins chaotique, mais ça reste compliqué. Le titre du billet résume bien, j’ai pas passé beaucoup de temps devant un clavier (virtuel ou physique), compliqué d’avancer les brouillons. Je viens d’ailleurs d’en dégraisser trois/quatre qui au final ne me plaisent pas et pour lesquels je n’ai pas la motivation de recommencer ou retoucher.

Technique : Y’a quoi de pire que RAS ?

Je ne me suis pas occupé du disque, et rien n’a évolué côté code ou fonctions du blog. Et pour couronner le tout, pour l’instant j’ai pas de planning. Donc je plaisante pas en disant qu’il n’y a rien à signaler. J’ai même été tellement lent à réagir que j’ai raté les soldes Online qui proposaient un petit serveur Avoton avec du SSD pour à peine 7 balles par mois au lieu de 20, histoire de bricoler des trucs à part (ne serait-ce que pour faire un vrai comparatif des performances du CPU avec d’autres solutions). De toute façon la première étape de mes services déportés sera du stockage « gros » pour les backups que je dois remettre en place en local (et pour lesquels je n’ai toujours pas de NAS, les soldes pourraient aider).

Pour en revenir au disque, comme il y a dans l’idée de faire le ménage sur l’héritage ISPconfig, et que Debian 9 est maintenant de sortie, il est possible que je fasse l’impasse et qu’on bascule directement sur une VM flambant neuve.

Un brouillard qui devient « Brume »

Je ne sais pas si tout le monde saisira la référence (vous pourrez en cultiver certains avec les commentaires), mais c’est clair que ça ne s’éclaircit pas pour l’instant. Non pas que je n’ai rien à proposer, mais que je ne sais absolument pas dans quel ordre ça sortira, ni parfois sous quelle forme. A la fatigue des soirs de semaine s’ajoute des weekends chargés loin du clavier, que ce soit pour pratiquer/expérimenter ou partager mes expériences ou mes pensées.

Une seule chose est sûre : ne lâchez pas le flux RSS (ou le compte Twitter, ou autre), parce qu’il n’est pas question d’arrêter.