Le 6 sept. 2013 à 14:10, Rémy Sanchez remy.sanchez@hyperthese.net a écrit :
On 03.09.2013 14:46, Stéphane Cottin wrote:
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
Merci à tous pour vos retours, je vois que le consensus est plutôt vers Logstash/Kibana3, et effectivement ça a l'air plutôt sympa.
Merci aussi pour le tuyau sur Riemann, qui a l'air effectivement vraiment adapté à ce que je veux faire, voire même donne des idées pour la suite. Par contre ça n'a pas l'air d'être une sinécure à mettre en place, et encore moins si on veut créer des alertes/indicateurs pertinents. J'imagine que le projet est trop récent pour être muni d'une littérature digne de ce nom ?
Riemann est totalement lié au langage qu'il utilise, clojure, il faut obligatoirement le connaitre pour sortir des qqs exemples fournis, pour le coup, c'est du vrai devops :)
Par contre, vous soulignez le fait que c'est assez gourmand en ressources, est-ce que vous auriez des chiffres à donner pour avoir une idée ?
Je compare aux outils en bash/python/perl/... habituels, la JVM a besoin de RAM, les perfs s'écroulent au moindre début de swap. Par ex sur une vm gandi pour logstash/riemann + dashboard/kibana3, 1.25G de ram , 2 cores, traite en moyenne sans aucune optimisation 100 events/sec avec une charge ~ 0.5 Les nodes elasticsearch rament rapidement en dessous de 2Go de ram, prévoir 2 cores par instance au mini.
J'entends assez peu parler de Greylog2, j'imagine que Logstash est sensiblement mieux ? De même pour Splunk, est-ce que quelqu'un a comparé ?
j'ai testé graylog2 sans le retenir, trop usine-qui-fait-tout IMHO, par contre j'ai gardé le format GELF pour les logs applicatifs.
Merci encore :)
Rémy Sanchez http://hyperthese.net/ _______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/