Logstash input HTTP + gitlab

2015-07-21 2 Par seuf

Depuis la nouvelle version de Logstash (1.5.2), il y a un nouveau type d’input qui est « http ». Cela permet, depuis n’importe quel autre application d’envoyer des données au format json directement dans logstash.

Ensuite, grâce aux multiples plugins filter et output, il est possible de convertir et exporter ces données comme on le souhaite.

gitlab

Au taf, on utilise Gitlab pour administrer les projets sous git. Du coup j’ai configuré un web hook sur mes projets pour envoyer directement les stats de commit / issues / merges / etc dans ELK.

dans logstash, il suffit de créer un nouveau input :

input {
    http {
      port => 8084
    }
}

Et ensuite, dans Gitlab, configurer le web hook pour envoyer les données directement dans logstash.

logstash-gitlab-http-hook

 

Enfin,  après chaque commit, un message http est envoyé est envoyé au logstash qui va l’insérer dans la base elasticsearch.

Il ne reste plus qu’a configurer un petit Dashboard Kibana pour avoir les stats du nombre de commits par branches / utilisateur / etc..

Et voila le résultat :

kibana-commits-par-branche