Supervision d’applications : Collectd et StatsD

Exemple graphiteDans le premier billet Supervision d’application : installation de Graphite nous avons installé Graphite qui permet d’enregistrer des métriques et de générer des graphes utiles à la supervision d’applications.

Il faut maintenant envoyer des métriques à Graphite de manière automatique. Nous verrons quels sont les protocoles pour communiquer avec Carbon (le composant de Graphite qui gère la réception des métriques).

Puis nous installerons Collectd et StatsD afin de collecter et d’envoyer des données à Carbon. Enfin nous ferons quelques tests.

Lire la suite

Supervision d’applications : installation de Graphite

Supervision d’applications : installation de Graphite
Exemple Graphite

Recueillir des données sur ses applications et ses serveurs en temps réel est essentiel pour superviser le bon fonctionnement de son environnement de production.

Toutefois faut-il pouvoir les utiliser correctement pour, par exemple, détecter rapidement un problème, trouver les potentielles causes, ou encore vérifier que telle ou telle fonctionnalité est utilisée.

La série de billets « Supervision d’applications » propose donc de monter un environnement de supervision complet.

Ce premier billet offre un aperçu des différents composants de Graphite et montre comment les installer.

Le deuxième billet présentera CollectD et StatsD, composants utilisés pour récupérer des métriques d’application.

Enfin, nous aborderons Tattle qui permet de présenter les données et de déclencher des alertes.

Le but étant de superviser des webservices REST ainsi que certains aspects serveur : espace disque, mémoire, Apache, etc.

Lire la suite

Indexation et recherche de documents MongoDB avec ElasticSearch

Après avoir alimenté une base MongoDB avec un job Spring Batch, et décrit les principes du moteur de recherche ElasticSearch, nous allons maintenant combiner le tout pour indexer les documents et faire des recherches.

Installation du plugin elasticsearch-river-mongodb

Afin d’indexer les documents stockés dans MongoDB, nous allons installer un autre plugin de type ‘river’. Les plugins de type ‘river’ permettent de faire des indexations automatiques à partir d’une source de données. Dans notre cas une base MongoDB. Une liste des rivers est disponible sur ce lien : http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html. On pourrait par exemple indexer des tweets, des fichiers csv, une base MySQL, …

En ce qui concerne notre use-case nous allons installer le plugin elasticsearch-river-mongodb. Attention les versions de MongoDB et ElasticSearch doivent correspondre avec la version du plugin. Pour ma part voici les versions utilisées :

  • MongoDB : 2.6.5
  • ElasticSearch : 1.4.1
  • Plugin : 2.0.4

Lire la suite

Premiers pas avec ElasticSearch

Dans un premier post, j’ai testé comment enregistrer un grand nombre de données par batch en utilisant Spring Batch et une base MongoDB. L’exemple était d’enregistrer le nom des villes du monde avec quelques caractéristiques. Pour aller plus loin, je souhaiterai faire des recherches parmi ces noms de ville. On peut tout à fait utiliser MongoDB pour cela, mais autant tester un vrai moteur d’indexation/recherche : ElasticSearch. Lire la suite

Freins à la mise en place des méthodes agiles

Préambule

J’ai eu l’occasion de côtoyer pendant 2 ans les méthodes Agiles et plus particulièrement la méthode Scrum. 90% des éléments agiles y étaient respectés : Un product owner, un scrum master, la proximité avec le client, les tests unitaires, les tests fonctionnels, des stand up meetings (daily scrum), des rétrospectives, … Le tout permettant d’avoir un produit évolutif autour d’une équipe soudée et solidaire.   Un changement de mission dans une grande société m’a permis de constater qu’il pouvait exister de nombreux freins à la mise en place des méthodes agiles. Ce billet n’est pas là pour trouver des solutions à tous ces blocages mais il permettra peut-être à certains de les anticiper avant d’y être confronté directement.

Lire la suite