Archive

Emmanuel Pierre

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

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…

Premiers pas avec Spring Batch 3 et ses annotations

A quoi sert Spring Batch ?

Spring Batch 3 est un framework qui offre de nombreuses fonctionnalités permettant de traiter de gros volumes de données avec de bonnes performances.

On peut par exemple citer :

– Reprise d’un batch après un arrêt inattendu

– Gestion des transactions

Lire la suite…

Categories: Java EE Tags: , , , ,

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…