Bonjour,
Pour les applicatifs, on envoi les messages au format gelf, afin de ne pas subir la limite a 1024 octets de syslog, avoir des traces complètes et pouvoir ajouter tagger les messages. Le tout (gelf + syslog pour les logs système) est filtré par logstash qui distribue ensuite vers un cluster elasticsearch pour le stockage, et riemann pour la gestion des alertes.
Riemann est juste parfait pour traiter des flux, faire de l'analyse en temps réèl et générer les notifications sans flooder les serveurs mails, et les humains qui sont derrière, petit détail, le projet est écrit en clojure, et dans la logique "code is data", le fichier de config est du code clojure. la prise en main est dc un peu inhabituelle, il faut apprendre les bases d'un language fonctionnel, mais clairement, c'est un super outil.
on utilise kibana3 comme interface de consultation pour elasticsearch, attention, c'est de l'alpha/beta, j'ai déjà du refaire 2 fois mes dashboards pour cause de changements incompatibles.
L'ensemble se comporte bien, et a clairement amélioré la qualité de service globale depuis sa mise en place. Comme tout ceci utilise la JVM, RAM/CPU/IO sont a provisionner avec générosité si l'on veut conserver de bonnes performances sur la durée.
Stéphane
Le 3 sept. 2013 à 14:20, Thomas Pedoussaut thomas@pedoussaut.com a écrit :
On 2013-09-03 13:32, Rémy Sanchez wrote:
Bonjour à tous,
Je déploie actuellement avec grand plaisir des applications Java en charge de faire du traitement de masse sur des données.
L'idée serait donc d'externaliser la gestion des logs pour 2 raisons :
- Empêcher que les logs nuisent à l'exécution du programme en
saturant l'espace disque
- Être capable de gérer les erreurs par lot : si une même exception
arrive 2 millions de fois, générer une seule alerte et l'envoyer par mail à la team de maintenance, par exemple
Je cherche donc un système en mesure d'absorber des gros pics de logs, de ne pas consommer des gigas et des gigas de stockage, et de préférence avec une interface de visualisation web sympa. Possiblement compatible avec syslog ou en tout cas avec un appender log4j.
On utilise chez nous Sentry, installé sur un serveur a nous, c'est leger, bien configurable. Pratique pour aller rechercher un alerte qu'un client te signale 2 jours plus tard ...
-- Thomas
Liste de diffusion du FRsAG http://www.frsag.org/