Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

De l'alerting à base de logs v2

Rédigé par dada / 06 novembre 2020 / Aucun commentaire



À l'époque, mi-février 2020, je découvrais les pipelines de Promtail, une façon rudimentaire de parcourir des logs, d'y chercher ce qu'on veut et de déclencher une alerte si besoin. C'était ma v1 de l'alerting à base de logs.
Dans les faits, ça marche bien, mais ce n'est pas vraiment simple à mettre en place et ça demande des bidouilles pas possible quand on commence à vouloir trifouiller dans des choses plus complexes, comme Docker.

Il y a quelques semaines, j'ai découvert qu'il y avait un moyen encore plus simple et mieux intégré pour faire de l'alerting avec Grafana / Loki / Promtail : Loki lui-même.

Configurer Loki comme Datasource de type Prometheus

Si vous avez l'habitude de jongler avec toute cette stack, le titre de cette partie devrait vous faire tilter. C'est pourtant ce qu'il faut faire : pour Grafana, Loki va se la jouer Prometheus.


En version texte :
  • Name : ce que vous voulez
  • URL : http://localhost:3100/loki
Dans la partie Explore de Grafana, vous deviez maintenant avec PromLoki comme Datasource :


Et c'est à partir de maintenant qu'on peut commencer à jouer !

Créer un panel lié à une alerte

On va s'amuser à créer un panel pour analyser les logs qui nous intéressent.

Notez qu'on a bien choisi PromLoki comme datasource.


Dans mon exemple, ce sont les logs de Pixelfed que je veux parcourir pour pouvoir agir en cas de production.ERROR :
count_over_time(({hostname="pixelfed"} |= "production.ERROR")[1m])
Maintenant qu'on sait ce qu'on cherche, on va configurer les règles qui déclencheront les alertes.


Dans les Rules :
- Choisissez un nom.
- On évalue toute le 10s

Dans les conditions :
- When : on fait la moyenne en choisissant avg()
- Of : cliquez sur les variables entre les virgules pour préciser vos réglages
- Above : ici, j'attends plus de 3 occurrences pour déclencher une alerte

Si vous avez le coup d’œil, vous avez remarquez que les deux captures d'écran présentées ci-dessus ont une ligne rouge : c'est la limite de tolérance de l'alerte. En dessous, tout va bien, au dessus, c'est la fin du monde.

Recevoir les alertes

Maintenant que vous avez la possibilité de déclencher alertes, il faut les recevoir d'une façon ou d'une autre. Grafana peut se brancher à un paquet d'outil, de Telegram à Elements en passant par Discord et l'Alert Manager de Prometheus voire Grafana llui-même: faites votre choix !


Perso, je me sers de mon AlertManager, il me noie sous les mails en cas de souci et c'est très bien comme ça !


Contrôler son GPU avec radeon-profile

Rédigé par dada / 05 octobre 2020 / 3 commentaires


Contexte

Parmi mes dernières mésaventures, il y a l'incapacité de mon Ubuntu 20.04 à correctement gérer la ventilation de ma RX 590 XFX.  Il s'agit d'une carte graphique plus ou moins récente de chez AMD.

J'avais jeté mon dévolu dessus lors d'une promotion quelconque après la lecture d'un papier racontant que, maintenant, sous GNU/Linux, c'est AMD/ATI qui fonctionne le mieux avec - en bonus - des pilotes libres.

Enfin, c'était avant qu'elle achève ma vieille alimentation sous-dimensionnée et que je précipite la fin de vie de mon ancien CPU avec un coup de tournevis fort mal placé lors de l'installation du système de refroidissement sensé lui permettre de survivre encore quelques années au poids des applications modernes.

Bref, des mésaventures, je vous dis.

Radeon-profile, c'est quoi ?

Déjà, il s'agit d'une application libre que vous pouvez trouver par ici.

Elle permet :
  • de monitorer sa carte graphique (fréquence, voltage, température, vitesse des ventilateurs, etc).
  • de contrôler les ventilateurs.
  • d'overclocker son matériel.
  • de définir des profiles en fonction des éléments cités précédemment.
En gros, ça fait le café.

Installation

Si vous êtes sous Ubuntu, vous allez être contents, il y un PPA :
sudo add-apt-repository ppa:radeon-profile/stable
sudo apt update
sudo apt install radeon-profile

Si vous utilisez une autre distrib', je vous redirige vers la doc pour compiler la chose.

Mon usage

Mon Ubuntu n'étant pas foutu de correctement contrôler les ventilo de la chose, j'utilse radeon-profile pour définir une vitesse de rotation en fonction de la température de la bête. Ça donne ça :


On peut voir que j'ai créé 9 paliers qui me permettent de garder la carte au « frais » en fonction de la température. Joli, non ? Je ne vous cache pas que je n'ai pas encore trouvé de cas dans lequel ces paliers sont pertinents.
En fait, je passe souvent du « elle ne fout rien » à « elle est utilisée à fond ». Y'a pas vraiment d'étape entre les deux, ou rarement.

En vrai, vous pouvez simplement vous servir de la configuration par défaut de l'appli et ça roulera tout seul. Vous passerez juste d'un bureau silencieux aux environs de la BA 113, sans profiter de la « douce » augmentation du volume.

Bref

Cet utilitaire m'a clairement sauvé la mise. Avant de tomber dessus, je commençais à tristement me dire que le sort s'acharnait et que j'allais devoir ravaler les velléités de joueur occasionnel.

J'ai vu The Social Dilemma

Rédigé par dada / 22 septembre 2020 / Aucun commentaire


Suivre l'actualité, c'est prendre le risque de tomber sur un documentaire Netflix qui démontre clairement l'influence nocive des choix technologiques des grands réseaux sociaux. Choix technologiques qui sont, pour un grand nombre, aussi mis en place chez Netflix. Épatant.


j'ai donc vu The Social Dilemma.

Très honnêtement, j'ai trouvé le documentaire tout juste correct. Dans mon environnement à moi, les réseaux sociaux à algorithmes sont proscrits. Je ne m'en sers plus et je ne veux plus m'en servir. J'ai déjà déballé mon sac dans ce billet. En bref, j'ai clairement compris que je ne pouvais pas lutter contre une armée d'inconséquents dont l'unique but est de titiller les zones de mon cerveau que je ne peux pas contrôler. Par fierté, j'ai donc ragequit.
Au passage, j'en profite pour vous glisser un lien vers une vidéo passionnante de E-Penser : 10 choses insensées que votre cerveau sait faire sans e-penser.

Pour en revenir au documentaire, comme le dit Guillaume Lacasa, il faut bien lui reconnaître une chose : des gens vont y être sensibles et ça, c'est très bien.

Si on regarde le boulot, en francophone, fourni par tout un tas de gens, on peut se dire que le taff est fait : combien avons-nous d'interventions de gens de la Quadrature du Net, combien y-a-t’il de bouquins sur le sujet ? Cyberstructure ! Surveillence:// ! La face caché d'Internet ! Et j'en oublie tellement d'autres.

Et là, Netflix, avec sa casquette de multinationale que tout le monde a dans son salon, va peut-être réussir à faire deux choses :
  • Toucher des gens qu'on n'aurait jamais approché de près ou de loin
  • Terminer de convaincre des gens déjà au courant mais fébriles
Mine de rien, un documentaire Netflix, les gens vont s'amuser à le regarder sans se méfier, avec une fausse impression de neutralité. Une vidéo des RMLL sur Peertube, par contre, ça fait peur. Et c'est militant.

En vrai, ce documentaire a le même rythme que les docus sur des révélations sur les pyramides ou sur les temples d'Angkor : ça fait frémir d'angoisse, ça fait peur, c'est tout sombre pour inquiéter. Bref, ça percute avec les techniques classiques. Et ça, bah ça marche. Tristement. Parlez-en à vos proches : sait-on jamais !

Enfin. Je termine ce billet en vous partageant un, comme d'habitude, excellent Datagueule sur le sujet.



Classé dans : Cinéma / Mots clés : aucun

Sortir d'un /boot débordant

Rédigé par dada / 11 septembre 2020 / 2 commentaires



Vous avez déjà souffert devant un /boot plein ? Oui, je le sais. C'est arrivé à tout le monde. Pas la peine de se cacher.

Fallait passer LVM ou Btfrs, vous me direz. J'entends bien. Des fois, les planètes s'alignent mal et faut faire avec. Je vous propose d'utiliser une solution radicale pour vous en sortir : supprimer la partition /boot pour la remplacer par un répertoire /boot à la racine.

1. Faire une sauvegarde

On va toucher à ce qui permet à votre serveur de démarrer. Faire une sauvegarde semble être une excellente idée.

2. Sauvegarder /boot

On va commencer par mettre de côté le contenu de la partition /boot :
root@ubuntu:/ mkdir /boot_bkp && cp -R /boot/* /boot_bkp/
On s'en servira plus tard.

3. Commenter le fstab

Comme on en n'a plus besoin, on va dégager l'entrée de /boot dans le /etc/fstab. Les lignes de conf ci-dessous sont des exemples, retenez seulement que les lignes contenant /boot doivent avoir un # devant.
root@ubuntu:/home/user# cat /etc/fstab 
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda3 during installation
UUID=392d55fd-d4e5-4a67-8834-5d29c7toto42 /               ext4    noatime,errors=remount-ro 0       1
# /boot was on /dev/sda2 during installation
#UUID=1b7533ec-96c2-4eef-9eac-b117c0toto42 /boot           ext4    noatime         0       2
# /home was on /dev/sda5 during installation
UUID=7545673f-5c08-4201-9e30-f56d32toto42 /home           ext4    noatime         0       2
# swap was on /dev/sda4 during installation
UUID=9ad39928-283d-43d6-8ee5-98e296toto42 none            swap    sw              0      
De cette façon, la partition ne sera plus montée en cas de redémarrage.

4. Démonter la partition

On va maintenant umount /boot :
root@ubuntu:/home/user# umount /boot
On peut vérifier la disparition de l'ancienne partition avec un simple grep :
root@ubuntu:/home/user# mount | grep boot
Si quelque chose apparaît, c'est que vous n'avez pas démonté la partition. Pensez à sortir de /boot sous peine de vous voir lire un truc du genre « blabla is too busy ! ».

5. Refaire un /boot à la racine

On va maintenant se servir du /boot_bkp créé plus tôt :
root@ubuntu:/home/user# mkdir /boot && cp -R /boot_bkp/* /boot
Ainsi, on se retrouve avec un /boot inutile mais à sa place.

6. Réinstallation de grub

On va lancer la procédure d'installation de grub sur votre disque comme s'il n’était plus là :
root@ubuntu:/home/user# grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
L'installation de grub prend quelques secondes et n'est pas très bavarde. Vous pouvez ajouter l'option -v si vous êtes curieux.

À ce moment précis, tout est en ordre. Vous devriez pouvoir relancer votre machine et mamailler vos kernels comme bon vous semble. J'ajoute tout de même une dernière étape, sait-on jamais ?

7. Mettre à jour grub

On n'est jamais assez prudent, on va donc mettre à jour grub :
root@ubuntu:/home/user# update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-47-generic
Found initrd image: /boot/initrd.img-5.4.0-47-generic
Found linux image: /boot/vmlinuz-5.4.0-45-generic
Found initrd image: /boot/initrd.img-5.4.0-45-generic
done

Et voilà ! On se retrouve avec un /boot placé à la racine, avec les répertoire grub/ contenant le grub.cfg qui va bien et tout le reste.

Vous n'avez plus qu'à redémarrer, après avoir fait des backups.

Je me suis mis à l'impression 3D

Rédigé par dada / 11 août 2020 / 13 commentaires


Celles et ceux qui me suivent sur Mastodon ou Pixelfed savent que j'ai franchi le pas : j'ai enfin ma bête à la maison. Je vais vous raconter des trucs, parce que voilà, c'est un monde qu'il est quand-même chouette et qui se rapproche de celui des libristes.

Le choix de la bête

Quand je ne sais pas quoi choisir, je demande de l'aide. Je n'avais pas beaucoup de contraintes : une machine produite en France, avec une entreprise domiciliée en France et de quoi bidouiller sans me ruiner. Quelques toots plus tard, j'étais mis en relation avec des makers qui m'ont trouvé ce que je voulais : Dagoma 3D ! Une entreprise du Nord de la France qui fait des imprimantes 3D. Nickel.

Ne voulant pas d'un truc clé en main, exit la Magis, j'ai donc craqué pour une Disco Ultimate avec l'option écran. Quelques euros en moins (tirés de mon arrêt du tabac) et quelques jours plus tard, je me retrouve avec des petits cartons et beaucoup trop de bobines de PLA :


Je vous laisse parcourir l'album photo dédié à mes délires 3D pour comprendre qu'une imprimante 3D en kit, c'est vraiment un truc en kit. J'ai passé des heures à la monter. Dans ma mémoire, la dernière fois que j'ai autant souffert, c'était pour l'installation de ma première distribution GNU/Linux, Ubuntu 6.06, il y a plus de 14 ans !

Un univers libriste-compatible

J'ai découvert un truc assez fou : le monde de l'impression 3D est assez similaire au monde du logiciel libre.
  • On y retrouve un Github, qui s'appelle Thingiverse.
  • La plupart des imprimantes ont des plans en opensource.
  • Les pièces de rechanges sont imprimables.
  • Il existe un GNU/Linux des imprimantes : Marlin. Ce dernier est forké au bon vouloir des constructeurs.
  • Le logiciel pour préparer les impressions, Cura, est opensource et en python.
En gros, on a le droit d'utiliser, de modifier, d'améliorer et de redistribuer les modifications des outils. Ça ressemble à notre univers, non ?

Anecdote : j'ai cassé une pièce lors de l'assemblage de ma bête. J'ai tout de même réussi à finir le montage, à apprendre à gérer la machine et à imprimer la pièce cassée en allant sur le Github du constructeur. Rien que ça, je trouve que c'est génial.

On en fait quoi, de son imprimante ?

J'ai commencé par imprimer de quoi me servir sereinement d'elle. Une bobine, ça doit bien se dérouler, j'ai donc commencé par imprimer des supports de bobines. C'est simple et ça donne rapidement un résultat. Quoi de plus agréable que de commencer par un truc qui vous allez immédiatement utiliser ?

Ensuite, j'ai commencé par faire des choses pratiques comme un support pour mon téléphone, celui de mon père, de mon frangin, etc.... J'ai ensuite commencé à mêler le geek traditionnel du numérique et mes envies d'impression en sortant un boîtier pour Raspberry Pi :



Franchement, c'est comme une distribution GNU/Linux : vous en faites ce que vous voulez ! Amusez-vous à faire des recherches dans les sites qui regorgent de modèles pour vous rendre compte à quel point c'est fou.

L'autre jour, j'ai fait une recherche avec un modèle précis de plafonnier LED. Il manquait des attaches... Quelques minutes m'ont suffi pour trouver ces attaches modélisées gentiment par un illustre bienfaiteur. J'ai imprimé ça et le souci était réglé.
Dans le genre, j'ai deux disques durs externes en RAID1 branchés au module F de mon Turris Mox pour avoir mon Nextcloud en local. Une recherche rapide et je tombe sur de quoi ne plus les laisser traîner. J'adore.

La prise en main

Se mettre à l'impression 3D n'est pas une chose si facile que ça. C'est un environnement qui a ses codes et ses repères : on parle de slicer, de gauchissement (warping), de STL, de PLA, de Z Offset, skirt, etc. Le vocabulaire est dense.

Une chose que je n'avais pas comprise au départ : c'est le temps d'impression. Bordel que c'est lent ! Compter 30min pour un truc rikiki et une dizaine d'heure pour une pièce élaborée.

C'est aussi un univers riche en modèles : de l'imprimante à 150€ au monstre à 8 000€, il y a des différences. En trouvant la pièce que vous cherchiez sur, disons, cult3d, rien ne dit que vous allez pouvoir l'imprimer avec l'outil que vous avez à la maison. Il faut faire attention !

Comme toute nouvelle activité, il faut se mettre dedans, prendre le temps de se planter, de tester et de garder son calme.

La modélisation

Pour le moment, je continue à beaucoup m'appuyer sur ce que les gens partagent. Je me mets doucement à la modélisation mais c'est épuisant. C'est un monde que je ne connais pas du tout. Tout est à apprendre.

D'abord, il faut choisir son logiciel :
FreeCAD et OpenCAD sont les seuls logiciels libres de la liste. SketchUp ne me plaît pas. J'ai réussi à faire des pieds pour mon Mox avec ThinkerCAD. Ma première pièce conçue, imprimée et utilisée :


 
Ceci-dit, c'est Fusion360 que je vais approfondir. Pourquoi Fusion360 ? Ça semble être l'outil le plus poussé et le plus utilisé. De plus, ils ont pondu une version web qui permet de s'en servir sous Linux.

Des ressources ?

Après les liens fournis tout au long de ce billet, je vous encourage à rejoindre la joyeuse équipe que j'ai découvert sur le salon Matrix Impression3D. Là-bas, vous trouverez un lien vers un superbe pad regroupant tout ce qu'on a trouvé !