Elasticsearch Archive

Présentation Elastic Beats

Voici les slides de ma présentation du jeudi 26 mai à Caen. La présentation est suivie d’une démo avec Kibana, ElasticSearch, packetbeat, topbeat et dockerbeat.

Le docker-compose qui m’a permis de lancer la démo:

elasticsearch-int:
  image: elasticsearch
  ports:
    - 9200:9200
  volumes:
    - "/home/gauthier/esdata:/usr/share/elasticsearch/data"

kibana-int:
  image: kibana
  ports:
    - 5601:5601
  environment:
    - ELASTICSEARCH_URL=http://elasticsearch-int:9200
  links:
    - elasticsearch-int

dockerbeat-int:
  image: ingensi/dockerbeat
  links:
    - elasticsearch-int:elasticsearch
  volumes:
    - "/var/run/docker.sock:/var/run/docker.sock"

Packetbeat 1.0Beta1

Présentation

PacketBeat est un outil qui permet de capturer les flux réseaux (http, mysql, postgres, redis, thrift) et d’envoyer le tout sur une base elasticsearch afin de pouvoir analyser l’ensemble des requêtes via l’interface kibana. Il est également capable d’analyser les communications entre 2 processus d’un même serveur.

Ce produit a l’avantage d’être très facile à déployer, c’est écrit en Go donc il a très peu de dépendance. Les paquets rpm et deb de Packetbeat ne fonctionne pas sur certaines vieilles distributions (CentOS5, Debian6), mais je n’ai pas essayé de le recompiler sur celles-ci.

L’équipe de Packetbeat a rejoint elastic.co le 27 mai 2015. Il est maintenant disponible en version 1.0-beta1.

Cette version me semble nettement moins gourmande en cpu que les versions 0.4x que j’avais testée précédemment. Je ne l’avais pas encore mis en prod pour cette raison. Cette version est compatible Kibana4 une démo est consultable en ligne.

Mise en place

Dans un premier temps il faut installer elasticsearch (version 1.5 ou superieur) et kibana4.x. Ensuite sur chaque serveur que l’on veut monitorer il faut télécharger packetbeat et l’installer.

Exemple sur Debian 64bits :

wget https://download.elastic.co/beats/packetbeat/packetbeat_1.0.0~Beta1_amd64.deb
dpkg -i packetbeat_1.0.0~Beta1_amd64.deb

Enfin il faut éditer le fichier packetbeat.yml pour indiquer l’adresse du serveur elasticsearch et les ports par protocole que l’on veut monitorer.

Configuration des dashboards

Le dépôt github contient toutes les informations pour mettre en place les dashboards kibana4.

git clone https://github.com/elastic/packetbeat-dashboards.git
cd packetbeat-dashboards
./load.sh http://localhost:9200

Conclusion

Vous n’avez plus qu’a attendre quelques minutes/heures/jours et découvrir pourquoi certaine application ne sont pas aussi rapide que souhaité. Peut-être qu’une requête mysql ou postgres est plus longue que prévu.

Bonne exploration.