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
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.
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-clientInstallation sur le serveur de log :
git clone git://github.com/NarrativeScience/Log.io.git log.io cd log.io/bin ./configure sudo ./install/serverPuis connecter votre browser web sur le lien suivant :
http://machine_a.host.com:8998Installation 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
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 !
- Up and Running with Node.js
- Microsoft et Joyent portent Node.js sur Windows
- StatusDashboard monitoring avec Node.js
- Node.js au coeur du framework Yahoo Cocktails
- Node.js sur ArchLinuxARM
- Url rewriting avec Nginx pour Pluxml
- Google Analytics en Ruby
- Oreilly Velocity : Node.js
- Vim-css-color plugin
- Gestion des plugins VIM
Vous pouvez lire également :
Partagez cet article :





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 !
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+
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
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.
Choopooly, je viens de regarder logstash et graylog2, les fonctionnalités ont l'air sympa ! Je vais tester ça dans mon lab !
Merci
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/
Merci, je ne connaissais pas cet outil, que je vais tester pour voir !
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/).