26 octobre 2016 Sorties

Beats 5.0.0

Par Tudor GolubencoMonica Sarbu

La voilà enfin ! Après près de 11 mois de travail, cinq versions Alpha, une version Beta et une version RC, la nouvelle version majeure de votre outil préféré est enfin arrivée. Et Beats n'est pas le seul à sortir aujourd'hui. En fait, à partir de cette version, ce sont tous les produits de la Suite Elastic qui sortent en même temps et portent le même numéro de version. C'est pourquoi nous passons directement de la version 1.3.1 à 5.0.0 pour Beats.

Si vous avez suivi les versions alpha et beta, vous savez déjà ce qu'elles contiennent et nous n'allons pas plus vous retarder si vous cherchez uniquement à télécharger Beats 5.0.0. Sinon, cet article vous éclairera sur les grandes modifications apportées par la version 5.0.

Si vous partez de la version 1.x, lisez les documents Breaking Changes ainsi que le guide de mise à niveau.

Metricbeat - Vous savez, pour les métriques

Metricbeat remplace Topbeat, le principal outil de collecte de statistiques de la Suite Elastic. Comme Topbeat, Metricbeat recueille des statistiques « tops » au niveau machine et processus (processeur, mémoire vive, disque, réseau). Mais contrairement à Topbeat, Metricbeat collecte également des stats provenant de systèmes comme Apache, HAProxy, MongoDB, MySQL, Nginx, PostgreSQL, Redis ou Zookeeper, sachant que d'autres viendront s'ajouter prochainement.

Le module système de Metricbeat offre toutes les fonctionnalités de Topbeat et propose même de nouvelles fonctions, comme des stats par conteneur, des stats E/S de disque et de réseau. Les deux configurations de Beats ne sont pas compatibles, mais la mise à jour de l'une à l'autre est plutôt facile..

Et ce n'est pas tout : Metricbeat tire parti de la nouvelle gestion des valeurs numériques dans Elasticsearch 5.0, ce qui accélère l'indexation, la recherche et diminue l'espace disque nécessaire ainsi que l'utilisation de la mémoire vive.

Filebeat - les améliorations apportées

Nous avons retravaillé dans Filebeat le stockage de l'état des fichiers collectés (quels fichiers sont ouverts, leur numéro d'inode, le progression de la lecture dans chacun, etc.). Nous avons également nettoyé les paramètres concernant le moment où les fichiers doivent être fermés, ignorés ou supprimés de cet état. Nous espérons que ces changements améliorerons la robustesse de Filebeat vis-à-vis des cas un peu extrêmes (par exemple réutilisation d'inode ou rotation très rapide des fichiers), c'est pourquoi nous recommandons vivement cette mise à jour.

Qui plus est, Filebeat peut désormais décoder de façon native les objets JSON à partir de lignes de log. C'est pratique en cas de logging structuré, lorsque la bibliothèque de logging enregistre directement les logs au format JSON.

Packetbeat

Packetbeat fournit désormais des statistiques sur les flux IP et TCP, comme le nombre de paquets et d'octets, quel que soit le protocole de couche supérieure. Cela permet à Packetbeat de bénéficier de nouveaux cas d'utilisation, en donnant des précisions sur le flux du trafic sur le réseau et en offrant une visibilité limitée sur le trafic crypté.

De plus, Packetbeat ajoute le support de nouveaux protocoles applicatifs, notamment AMQP, Cassandra, EDNS, DNSSEC et NFS.

Un filtre avec la puissance des processeurs

Les « processeurs » de Beats sont des règles simples qui manipulent les événements juste avant leur envoi par Beat. Bien qu'ils soient similaires aux processeurs Ingest Node ou aux filtres Logstash, ils n'en partagent pas toute la richesse fonctionnelle. En réalité, les processeurs de Beats sont légers et se focalisent surtout sur le filtrage des données afin d'éviter d'en envoyer trop sur le réseau alors qu'elles seront de toute façon écartées par Logstash.

Cela dit, les processeurs vous offrent une grande flexibilité pour choisir les données qui doivent être envoyées. Par exemple :

processors:
- drop_event:
   when:
     equals:
       http.code: 200
- drop_fields:
    fields: [“http.phrase”]

L'output Kafka

Nous avons écouté vos avis et ajouté une prise en charge native de l'output pour Kafka dans Beats, tout en améliorant grandement l'output existant pour Redis. Par conséquent, si vous passez malgré tout l'ensemble de vos messages par une file d'attente Kafka, vous n'aurez plus besoin d'une instance Logstash supplémentaire pour faire la conversion entre Beats et Kafka.

L'output pour Kafka dans Beats est compatible avec les versions 0.8, 0.9 et 0.10 de Kafka, et il prend en charge le cryptage, l'authentification ainsi que les "dynamic topics" et le choix de la partition.

Flexibilité de configuration

Beats 5.0 utilise le même format de configuration basé sur YAML qu'avant, mais il est optimisé grâce à une multitude de fonctionnalités qui rendent le déploiement de Beats plus facile et plus agréable. Parmi ces nouvelles caractéristiques figurent un meilleur espace de nommage, des variables de référence, une meilleure prise en charge des expressions régulières ainsi que la possibilité d'écraser tout paramètre depuis la ligne de commande avec l'option -E.

Vous pouvez en apprendre plus sur la nouvelle configuration Beats dans la documentation.

En savoir plus

Vous souhaitez en savoir plus sur les nouveautés de la version 5.0 ? Jetez un oeil aux informations sur les versions et aux articles relatifs aux versions préliminaires :

Remerciements et reconnaissance de la communauté

Et maintenant, faites-vous plaisir !

Beats team 5.0

Tout d'abord, nous aimerions remercier toutes les personnes qui ont testé les versions 5.0 préliminaires et qui ont publié les problèmes qu'ils ont rencontrés. Chacun d'entre eux recevra un petit cadeau en guise de remerciement de la part d'Elastic.

Nous souhaitons également remercier plus particulièrement certains membres de la communauté pour leur contribution importante au code de la version 5.0 :

  • @kofemann pour la prise en charge de NFS dans Packetbeat
  • @mrkschan pour le module Nginx dans Metricbeat
  • @mkstork pour la prise en charge d'EDNS et de DNSSEC dans Packetbeat
  • Al Lefebvre pour le Module HAProxy dans Metricbeat
  • Arnout Engelen pour la prise en charge IPv6 dans le socket de Packetbeat pour traiter le code de mapping
  • Chris Black pour le module Redis dans Metricbeat
  • Cyrille Verrier pour le nouveau packaging
  • Radovan Ondas pour le module apache dans Metricbeat
  • Thomas Paulmyer pour la prise en charge d'AMQP dans Packetbeat

Au nom de toute la communauté : un grand merci et profitez bien de la version 5.0 !