Simone surveille tes babasses, tu peux dormir tranquille
Signature : | Mis en ligne le : 27/11/2007
Catégorie(s) :
  • GNU/Linux Magazine HS
  • | Domaine :
    Commentez creative commons
    Comme le titre l’indique, vous l’avez compris, nous allons causer *monitoring*. Attention, ça c’est du buzzword qui fait frétiller les managers : ils aiment avoir des graphes, des chiffres, des trucs en vert qui clignotent, des indicateurs, des alertes, et tout ce genre de mots-clés qui justifient leur paie indécente tout en leur faisant récupérer tous les lauriers de votre travail. Le manager est fourbe, le manager est un vil suppôt de Satan. Pour se consoler, on peut toujours se dire que le service informatique lui refile exprès un laptop mista-certified-100%-bloatware. Pour l’exemple, ce qui vient se déroulera sur un OpenBSD-current récent. J’aurai du coup l’occasion de vous parler d’une des spécificités de ce BSD qui fait couler beaucoup d’encre, l’apache 1.3-heavily-patched-chrooté-par-défaut. Un petit coup de make search key=monitor dans /usr/ports nous renvoie plein d’informations, du genre Nagios et d’autres trucs usine à gaz dans le genre. Pas de trucs connus comme munin et ganglia (ce dernier étant plutôt orienté cluster). Mais une petite inconnue attire notre attention... je veux parler de symon. Maintenant, cher lecteur, re-regarde le titre de l’article. Et là, tu te demandes quel type de substance l’auteur de l’article prend (en l’occurrence, un thé fruits rouges-menthe), et qui est cette Simone qui est censée surveiller tes babasses, mais là n’est pas la question. D’ailleurs, entrons dans le vif du sujet, sans plus discuter le bout de gras.

    apt-get-pkg_add-urpmi-make-moi-tout-ca

    Vous voulez plus d’infos ? Et vous pensez que c’est moi qui vais vous les donner ? Que nenni mes braves, pkg_add et pkg_info sont là pour ça !! Hm, déjà on note que Simone aime bien rrdtool. Elle est cool Simone, elle connaît les bonnes choses de la Vie, car, bien sûr, j’espère que vous le saviez déjà, mais RRDTOOL c’est l’AMOUR avec un GRAND E !! Et avec le module perl, c’est le NIRVANA, l’EXTASE !!!

    Et vous dites avoir rencontré cette "Simone" le 12 mars ?

    Un des trucs convi avec symon, déjà c’est un projet qui est né sur OpenBSD et qui depuis a été porté sur les autres BSD et Linux, et, en plus, il fonctionne en total réparti-over-ton-network-t’wa. Alors, on va essayer de la faire simple, y’a tout d’abord les anges gardiens symon qui vont monitorer les différentes machines, et qui vont envoyer via le réseau toutes les infos qu’ils collectent à leur pote saint-symux, qui lui va se charger de ranger tous ces chiffres dans des grimoires-fichiers RRD tout propres. Ensuite, un client (dans notre cas, le compère-verpépère syweb) pourra venir lire ces RRD et en faire de belles icônes-graphes ou juste afficher une valeur sur un écran lcd comme sylcd, et bien encore d’autres choses plus funky (à vous de faire travailler votre imagination !) avec SymuxClient.pm. À noter que l’ange symon utilise à outrance la séparation de privilèges, technique chérie des devs OpenBSD/. Mais pour plus d’infos là-dessus, je vous laisse jouer avec MikiPédia. Sachez juste qu’il se lance en root, ouvre les fichiers/devices pour lesquels il a besoin des pleins pouvoirs, et droppe ses privilèges pour tourner en tant qu’utilisateur _symon, qui lui n’a aucun droit, ni de vraie maison, et encore moins de shell. Il se chroote même dans sa fausse maison, c’est dire s’il n’a vraiment plus d’attaches avec personne, et qu’il ne fera que son boulot, à savoir collecter des données brutes. Le saint-père-symux peut être lancé sous n’importe quelle identité, tant qu’il a les bons droits pour écrire les RRD. Pour l’exemple, il sera lancé avec mon UID, et j’aurai chowné -R moi:moi /var/www/symon comme un sauvage.

    Mais encore ?

    Bon, on a fait connaissance avec Simone, voyons ce qu’elle a dans le ventre. Pour la démo sans filet, je fais tout ça sur une seule machine, mais évidemment ça marche pareil avec plein d’autres babasses, faut juste lancer les anges sur chacune. Hop, direct, à froid, on attaque la conf d’un ange. Rhôôô qu’ils sont gentils, ils nous filent un fichier de conf par défaut, un script pour en générer un correspondant à notre matos, et un script pour créer les RRD. Pour les différentes sources d’informations, sachez que notre ange gardien peut monitorer les CPU, la mémoire, la bande passante, l’ami PF (Salut ! Ça va depuis la dernière fois ?), les queues altQ, les senseurs matériels, les disques, les processus, et que sais-je encore, et tout ça une fois toutes les 5 secondes par défaut. Hop, pour la peine, je vous montre mon fichier de conf. Comme vous pouvez le voir, rien de bien ébouriffant, j’ai un disque SCSI donc c’est sdX et pas wdX, et l’ange dit : "j’envoie mes confessions au saint-père qui m’écoute d’une oreille attentive sur la fréquence 2100 du paradis local". Un petit truc à noter sur vos calepins : PF ne sera monitoré que sur les interfaces qui ont été déclarées loginterface dans /etc/pf.conf. Passons maintenant à la conf du saint-symux. Que dire de spécial... Le saint-père écoutera ses anges sur la fréquence 2100 et, pour chacun d’eux, il déclare qu’il attend d’eux telles confessions, et qu’il les rangera dans tel livre sacré. Ici, deux petits détails à noter dans vos petits cahiers : j’ai dû contourner un petit bug du saint-père (nul n’est parfait) avec la gestion des senseurs, donc j’ai spécifié explicitement que les données devaient être stockées dans un fichier choisi par moi. De plus, il va bien prendre garde à ranger ces précieux grimoires emplis de confessions dans une étagère répertoire accessible par l’être-au-dessus, j’ai nommé le grand sage indien, qui plane un peu dans son monde à lui. Allez, *shazaaam* un peu de magie et on fait de la genèse sur tout ça. Et voila, les grimoires sont prêts, il ne reste plus aux anges qu’à récupérer les confessions, et à les envoyer au saint-père. Miracle, ils se parlent !!!! Alleluiiiaa !!! Bon, ils sont un peu bavards les cocos, donc on [ctrl-c] tout ça, et on les relance en mode "chut", sans oublier d’ajouter /usr/local/libexec/symon && su - landry -c /usr/local/libexec/symux dans /etc/rc.local pour que les deux démons soient lancés au démarrage. Ici, évidemment, adaptez en fonction de l’user que vous avez choisi, pour faire tourner symux. Laissons-les travailler en paix, ils savent ce qu’ils ont à faire... montons un peu plus haut, et faisons la connaissance du grand sage indien plein de pansements, nommé affectueusement "l’apache" (pfiou, elle vient de loin celle-là !).

    Allume le calumet, man !

    Bon, donc l’apache, comme je le disais, il plane dans son monde-nuage-chroot, et va falloir lui monter des trucs là-haut pour qu’il puisse bosser efficacement en toute tranquillité. Ça semblait trop beau, il en manque un peu... Effectivement, phpxs -s a installé ses petits dans /usr/lib/apache/modules/ et l’apache ne connaît rien en dehors de /var/www… quand je vous disais qu’il plane dans son monde !! Qu’à cela ne tienne, on va arranger tout ça. Et là, nous avons le bonheur de voir ces nuages de fumée au-dessus du tipi de notre ami : Apache/1.3.29 (Unix) PHP/4.4.1 mod_ssl/2.8.16 OpenSSL/0.9.7j configured. Joie, bonheur, félicité ! Maintenant, on va le faire travailler, parce que bon, les anges et le saint-père, à quoi ça sert qu’ils se décarcassent si le compère-verpépère syweb est pas en train de turbiner aussi chez l’apache ?

    Vous avez des preuves ?

    Bon, donc, le compère-syweb, on le récupère chez son papa (hint: la ligne WWW dans pkg_info symon. Oui, c’est pas packagé dans le ports-tree.) et on va l’installer dans /var/www/htdocs/syweb, après avoir pris soin de monter les outils nécessaires dans le nuage du grand sage. Oh, que ça tombe bien, on nous fournit un script pour ça (ici, rien de mystérieux, on peuple juste le chroot avec le binaire de rrdtool et les bibliothèques dont il dépend). Comme on peut le voir, tout le monde est présent pour la fête qui se prépare... On lit le parchemin INSTALL, et on copie ce qu’il faut là-où-il-faut. (cp -R syweb/htdocs/* /var/www/htdocs && cp -R syweb/symon/* /var/www/symon). On édite /var/www/htdocs/syweb/setup.inc pour configurer syweb avec le profil openbsd chrooted. On crée le répertoire de cache qui servira pour stocker les images (mkdir /var/www/symon/cache && chown www:www /var/www/symon/cache), et ta-daaam, on prend son browser favori (graphique, au moins... links -g fera l’affaire... ‘fin je vous oblige pas) et on visite : http://127.0.0.1/syweb/configtest.php Et on vérifie que tout va bien. Et on commence à sourire. Et on visite : http://127.0.0.1/syweb/index.php Et là, un immense sourire béat se dessine sur notre figure. C’est le moment d’aller chercher une bière bien méritée dans le frigo. Que dire de plus sur ce petit outil qui peut vous rapporter gros… ici, l’intérêt était de montrer l’installation dans l’apache chrooté d’OpenBSD, mais l’agent de monitoring peut très bien tourner sur d’autres OS du bien, comme symux et syweb... c’est la magie de la portabilité du code ! Décidément, tous ces gens, les anges, le saint-père, le grand sage indien, et le compère-verpépère, quand ils bossent de concert, ils font de belles choses. Et ce sont tous des amis de Simone. Elle est quand même super sympa, la preuve, elle nous a laissé en cadeau deux dessins, plus parlants qu’un long discours :

    /img-articles/lmhs/30/cc-art-simone/fig-1.jpg/img-articles/lmhs/30/cc-art-simone/fig-2.jpg

    Voila, c’est fini pour aujourd’hui, j’aurais aimé vous parler de <teaser>monit</teaser> aussi, mais Lefinnois m’a piqué mon stylo, fallait rendre les copies... donc rendez-vous pour plus de fun dans un prochain numéro !

    Linqses

    symon : http://www.xs4all.nl/~wpd/symon/ rrdtool : http://oss.oetiker.ch/rrdtool/
    Vous souhaitez commenter cet article ?
    Brèves Flux RSS
    Édito : GNU/Linux Magazine 149
    Édito : GNU/Linux Magazine HS N°60
    Édito : Misc 61
    Édito : Linux Pratique 71
    Édito : Linux Essentiel N°25
    Communication RSS Com. RSS Presse
    Lancement de la plateforme de vente en ligne de PDF des Éditions Diamond ! Un...
    Misc N°61 – Communiqué de presse
    GNU/Linux Magazine N°149 – Communiqué de presse
    GNU/Linux Magazine HS N°60 – Communiqué de presse
    Linux Pratique N°71 – Communiqué de presse
    prochainement moteur de recherches des articles
     
    :
    :
    Jours heures minutes secondes
    En kiosque Flux RSS

    Le tout nouveau GNU/Linux Magazine est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Misc est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Linux Pratique est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau GNU/Linux Magazine HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Linux Essentiel est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Misc HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...