Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Archives août 2018

J'ai vu Les nettoyeurs du Web

Rédigé par dada / 31 août 2018 / 8 commentaires


Les nettoyeurs du Web est une enquête proposée par Arte. Elle est édifiante, terrifiante, horrible. Je ne sais pas quoi ajouter d'autre. On y découvre la vie d'anciens modérateurs de contenu bossant pour Facebook, Twitter ou encore Google. Ces trois entreprises représentant l'intégralité du Web pour une écrasante majorité de gens, elle doit offrir une excellente vision de ce qu'il se passe derrière nos fil d'actualités.


On y entend aussi des anciens de ces grandes entreprises critiquer l'influence de la modération, ses dangers. Et je ne parle pas du regard des hommes et des femmes assis devant leurs écrans, le regard vide, essayant de savoir s'il faut supprimer ou non une image, une vidéo, ou couper le live d'une personne mettant une corde à son cou.

Allez la regarder, je vous y encourage. Elle est gratuitement disponible jusqu'au 3 septembre sur le site d'Arte. Si vous ratez le coche, vous la trouverez aussi sur Peertube en faisant un peu de recherche.

Masto.host : mettre en place son instance Mastodon facilement

Rédigé par dada / 20 août 2018 / 7 commentaires



Quand mastodon.social reste le point d'accès le plus connu de la Fédiverse, il est bon de rappeler que la nature profonde du fonctionnement de ce réseau social est d'être décentralisé.

Mastodon a ceci de génial qu'il autorise quiconque à créer son bout de réseau.

À chaque vague de nouveaux, le problème est le même : les gens se font majoritairement un compte sur Mastodon.social et, à chaque fois, certains et certaines souhaiteraient que son administrateur coupe les inscriptions et redirige le flux vers d'autres instances. Alors oui, comme le signale le message d'Eugen ci-dessous, il est très difficile de couper les inscriptions de l'instance la plus connue sans gêner l'arrivée des nouveaux.

Traduction rapide de la partie intéressante : Honnêtement, si c'était si simple, je fermerais définitivement les inscriptions. Le souci, c'est que quand je les ferme, les gens ne vont pas s'inscrire ailleurs, ils partent.

La solution !

Pour pallier à ce problème, je suis tombé sur une initiative géniale d'un portugais : masto.host !

Ce service vous permet de monter automatiquement une instance Mastodon moyennant quelques euros par mois. Les options vous permettent de choisir une configuration pouvant accueillir de 100 à un nombre monstrueux d'utilisateurs.

Il n'y a rien de technique dans la procédure de création. C'est vraiment clé en main et ça vous permet :
  • D'avoir votre instance à vous
  • D'ajuster sa taille en fonction de sa fréquentation
  • De pouvoir la modérer comme bon vous semble
  • De ne pas avoir à vous soucier de l'état du serveur qui la fait tourner
  • De profiter de la dernière version stable disponible
Le tout étant hébergé chez OVH, en Europe !

Je suis vraiment admiratif du travail réalisé par Hugo. Malheureusement, contrairement à mes habitudes, je vous parle d'un service que je n'ai pas testé moi-même. Et même que je ne suis pas payé pour lui faire de la pub. Cependant, d'après le compte officiel de Masto.host, il semblerait que ce soit un gars vraiment sérieux et disponible. Enfin, ces derniers temps, il croule sous les demandes : tant mieux !

Bref, si l'envie vous prend de monter une instance Mastodon à travers son service, n'hésitez pas à en parler et à faire des retours !

Google, le web et le Reste

Rédigé par dada / 08 août 2018 / 11 commentaires


C'est étonnant. Parfaitement étonnant. Un nombre non négligeable de geeks libristes se servent encore et toujours de Google Chrome/Chromium. Une frange énorme de la population se sert de Google Mail. Et que dire de Google Search ? Pas grand chose. Android ? Bah.

Dans un billet intitulé "Il était une fois le web : la guerre" datant d'il y a un peu plus de 2 ans, je vous partageais une vidéo d'un gars expliquant calmement la direction dans laquelle le web se dirigeait. Il a le regard d'un bonhomme de son temps, un geek de 2016, et tout au long de sa conférence, il nous parle de Chrome comme du nouveau IE 6. Ça parait difficilement croyable quand on a vécu cette période. Les moins de 30 ans ne doivent pas être capable d'imaginer ce que c'est. Et pourtant. Allez donc voir cette conférence.

Aujourd'hui, en 2018, les statistiques de mon blog me traumatisent. Google est partout en majorité. J'ai la chance de drainer des visiteurs plus alertes que les autres : Firefox est loin, mais bien moins loin que chez les autres. Ce que je comprends ? Que personne ne s'intéresse à la diversité, à l'égalité, à l'équité. Google : ça marche, c'est efficace et c'est compatible avec tout ce qu'on peut voir.

Je lisais un article : Google a-t-il ralenti YouTube sur les navigateurs rivaux de Chrome ? On va me dire que c'est normal, que le nom complet de Youtube, c'est Google, et que rien n'empêche le propriétaire d'une plateforme d'en faire ce que bon lui semble. Pourtant, en 2018, pour profiter de Youtube, pour pouvoir nous en servir avec les mêmes droits que les utilisateurs de Google Chrome, nous devons installer une extension.

Imaginez, une seconde, qu'on vous dise que vous ne pouvez pas accéder à l'autoroute parce que votre voiture n'est pas du bon constructeur. On vous balance sur une départementale pendant que les voitures Google, autonomes ou pas, continuent tranquillement leur chemin. La seule solution qui s'offre à vous pour enfin profiter des 130km/h, c'est de passer par un garage pour modifier votre bagnole. Ça vous énerverait. La situation actuelle du web devrait vous énerver, vous faire peur.

Je vous invite à visionner la conférence de XavCC à Pas Sage en Seine de cette année :


Au delà de l'influence de Google sur le web, il y a l'influence de Google sur le loyer de votre appartement, sur l'emploi, sur le type de société, sur l'éducation et j'en passe.

Si vous ne savez pas vraiment pourquoi vous être en train de me lire à l'aide de Google Chrome, allez télécharger Mozilla Firefox.
Si vous connaissez des gens qui ne savent pas pourquoi ils utilisent Google Chrome, sortez vôtre bleu de travail pour aller leur installer Mozilla Firefox.

Redevenez des acteurs du web et plus seulement des utilisateurs.

L'alerting avec Prometheus

Rédigé par dada / 02 août 2018 / 4 commentaires


Depuis le temps que je devais l'écrire, ce billet, le voici : comment mettre en place un système d'alerting avec Prometheus !

Pour celles et ceux qui ne sont pas familiers avec ce vocabulaire : l'alerting est une notion d'administrateur système qui consiste à prévenir les équipes en charge du bon fonctionnement d'un service qu'il est en train de se casser la figure. Ou qu'il s'est déjà vautré.

En avant-propos, je vous invite à aller faire un tour du côté de mes différents billets sur Prometheus.

L'alerting, c'est une brique en plus

Prometheus est une bête idiote, les exporters sont des bêtes idiotes, Grafana est une bête idiote, l'alerting est lui aussi une bête idiote. Pour le faire fonctionner, à la manière d'un exporter, il vous faut installer l'Alertmanager.

L'installation de l'Alertmanager est identique à celle des autres exporter : téléchargez le binaire ou le conteneur Docker, lancez tout ça en lui passant en paramètre son fichier de configuration.

Toujours comme un simple exporter, ou presque, faites comprendre à Prometheus qu'il est là en ajoutant ces quelques lignes dans prometheus.yml, en dessous de la configuration globale :
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - localhost:9093
    scheme: http
    timeout: 10s

N'oubliez pas de reload la configuration de Prometheus :

curl -X POST http://localhost:9090/-/reload

Configurer la détection des problèmes

Les alertes se présentent sous forme de fichiers que vous allez placer dans le répertoire rules/ de Prometheus :
root@server /etc/prometheus/rules # ls
memory  up
Il va ensuite falloir les déclarer dans Prometheus :
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
rule_files:
  - '/etc/prometheus/rules/up'
  - '/etc/prometheus/rules/memory'
Pour faire simple et rapide, voici des exemples d'alertes qui pourraient vous servir :

- Service disponible
ALERT InstanceDown
  IF up == 0
  FOR 1m
  LABELS { severity = "page" }
  ANNOTATIONS {
    summary = "Instance {{$labels.instance}} is down",
    description = "{{$labels.instance}} of job {{$labels.job}} has been down for more than 1 minutes"
  }
- L'utilisation de la RAM
ALERT MemoryUsage
  IF ((node_memory_MemTotal-node_memory_MemFree-node_memory_Cached)/(node_memory_MemTotal)*100) > 95
  FOR 10m
  LABELS { severity = "warning" }
  ANNOTATIONS {
    summary = "Instance {{$labels.instance}} is in danger",
    description = "RAM of {{$labels.instance}} has been too used for more than 10 minutes"
  }
Avant de vous lancez dans le copier/coller du code exposé ci-dessus, prenez le temps de lire les quelques lignes suivantes :

- ALERT : il s'agit d'un nom arbitraire que vous donnez à votre alerte
- IF : c'est la condition qu'il faut respecter pour déclencher l'alerte
- FOR : la durée pendant laquelle le IF doit être valide
- LABEL : ça permet de donner un poids à votre alerte (osef, warning, critical, etc)
- ANNOTATIONS : ce que vous voulez afficher quand l'alerte est déclenchée

Normalement, à ce niveau là, vous avez un Alertemanager capable de détecter si vous avez des soucis de RAM ou si vos serveurs/services sont fonctionnels ou HS. C'est bien beau, mais ça ne vous réveillera pas en cas de pépin.

Un rapide tour sur l'interface web de Prometheus devrait vous le confirmer. En exemple, voici la liste des alertes que j'utilise :

Configurer l'envoi d'emails d'alerte

Le fichier de configuration que vous passerez en paramètre au lancement de l'Alertmanager doit lui dire que faire quand une alerte est détectée. Il est possible de lui dire de vous envoyez un message sur Telegram, Mattermost, ou, simplement, de vous envoyer un mail. C'est la solution la plus simple, alors allons-y.

Les possibilités étant énormes, je ne vais vous proposer qu'un exemple de configuration simple :
global:
  smtp_smarthost: 'localhost:25'
  smtp_from: 'alertmanager@mon.email'

route:
  receiver: 'team-mails'
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 3h

receivers:
- name: 'team-mails'
  email_configs:
  - to: 'ladestination@email.mail'
Avec cette configuration, vous allez recevoir un mail en cas de souci. Sans intervention de votre part, le mail sera renvoyé au bout de 3h.

Cette conf est très simple. Je n'explique pas tout. Juste, elle marche. Si vous souhaitez en savoir plus, comme l'organisation de groupes qui recevront des alertes spécifiques ou la gestion des "warning" ou des "critical", je vous encourage à prendre un peu de temps pour lire l'exemple assez complet qu'on peut trouver par ici.

Et voilà ! Je suis loin d'avoir fait le tour des possibilités de Prometheus mais les différents billets que vous trouverez sur ce blog devraient vous permettre de mettre les doigts dedans et de vous en sortir.

Des bisous !