Les guerres d'un Responsable Informatique

Vous êtes passionnés comme moi de machines basse-consommation, ARM, Atom : rendez visite à mon partenaire !

Real-time log monitoring avec Node.js et Log.io

lundi 06 juin 2011 à 13:20 | Dev
javascript framework

J'ai réalisé plusieurs articles à propos de Node.js (javascript du côté du serveur), et l'un d'eux traitait du temps réel avec Node.js pour visualiser des fichiers de logs. Log.io est un nouvel outil bien plus évolué, qui s'appuie sur Node.js permettant de superviser les logs de plusieurs serveurs en temps réel.

Supervision temps-réel avec Log.io

Log.io vous permet de suivre en temps réel, les différents logs de vos serveurs dans une console de supervision dans votre browser web.

Fonctionnement de Log.io

Sur chaque serveur, un "requêteur" ( Harvester ) surveille toutes modifications des fichiers journaux, il envoie via des messages, les nouveaux logs vers le serveur central, qui les diffuse à ses clients web.

L'utilisateur a la possibilité de créer des écrans de flux, d'historique et d'y réaliser des recherches d'expressions régulières.

Performances de Log.io

Aux vues des performances excellentes de Node.js, les benchmarks montrent que Log.io a une capacité de traitement supérieur à 5000 messages/sec. L'utilisateur peut combiner plusieurs fichiers de logs, à la façon de multitail (que j'utilise quotidiennement), y faire des recherches, suivre l'historique, ...

Pré-requis et installation de Log.io

Liste des dépendances :
node.js (>0.4.x)
connect.js (>1.3.0)
underscore.js (>1.1.5)
Socket.IO-node (>0.6.x)
Socket.io-node-client
Installation sur le serveur de log :
git clone git://github.com/NarrativeScience/Log.io.git log.io
cd log.io/bin
./configure
sudo ./install/server
Puis connecter votre browser web sur le lien suivant :
http://machine_a.host.com:8998
Installation sur le serveur à monitorer :
git clone git://github.com/NarrativeScience/Log.io.git log.io
cd log.io/bin
./configure
sudo ./install/harvester
sudo /etc/init.d/log.io-harvester start

Et voilà pour toutes informations complémentaires voici le lien vers Log.io et vers le dépôt GitHub de Log.io. Vous pouvez même tester en "live" Log.io !

A propos de Vincent RABAH

Directeur des systemes d'information

Je suis DSI depuis 10 ans. Spécialiste en systèmes d'information et réseaux.
Expert en management, GreenIT et virtualisation de serveurs. Vous pouvez consulter l'ensemble de mon parcours.

I do speak English even if my blog is written in French ... Feel free to leave comments, I'll answer you !


Partagez cet article :



Fil des commentaires de cet article

8 commentaire(s) Commentaires »

  1. En effet le problème est résolue en installant l'ancienne version de socket.io.
    il suffit d'installer la version 0.6.17 donc : npm install socket.io@0.6.17

    Merci à tous !

  2. Je viens de voir ça sur un autre soft, en fait Socket.io vient d'être mis à jour et de passer de la version 0.6 à 0.7 et visiblement, ils ont changé l'API ... Je vais interroger les mainteneurs de log.io !
    A+

  3. Bonjour,

    N'avez vous pas rencontré de problèmes lors de l'installation ??
    En ce qui me concerne je demarre manuellement le serveur est j'ai l'erreur suivante

    #/usr/local/bin/log_server

    info - socket.io started

    /usr/local/lib/node/log.io/server/log_server.js:116
    log_server.io.broadcast({
    ^
    TypeError: Object #<Manager> has no method 'broadcast'
    at Timer.callback (/usr/local/lib/node/log.io/server/log_server.js:116:17)

    Si quelqu'un pouvait m'aider ça serai bien.

    Merci d'avance

  4. Cela m'a fait penser à TermKit:
    http://www.developpez.com/actu/32417/TermKit-une-console-graphique-fait-le-buzz-ecrite-en-Node-js-et-jQuery-elle-s-appuie-sur-le-moteur-de-rendu-WebKit/
    http://www.macgeneration.com/news/voir/200702/termkit-un-terminal-en-webkit

    La montée du navigateur, comme alternative au terminal, est une voie intéressante.

  5. Choopooly, je viens de regarder logstash et graylog2, les fonctionnalités ont l'air sympa ! Je vais tester ça dans mon lab !
    Merci

  6. Es-ce que tu as regardé du côté de logstash et graylog2 ? 2 logs aggregators que tu peux combiner pour processer tes logs c'est pas mal ce que j'ai vu dans le genre. Y'a moyen de tripper :)

    http://logstash.net
    http://graylog2.com/

  7. Merci, je ne connaissais pas cet outil, que je vais tester pour voir !

  8. Bonjour

    Merci pour cette découverte !

    Pour le monitoring, nous utilisons un autre outil basé sur Node.js : statsd de Etsy (https://github.com/etsy/statsd).
    Ce n'est pas trivial à installer (surtout pour le serveur Graphite) mais le fonctionnement est parfait pour mesurer tout et n'importe quoi dans les applis (http://codeascraft.etsy.com/2011/02/15/measure-anything-measure-everything/).

Laisser un Commentaire

Quelle est la dernière lettre du mot qvbfqn ? :