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.