BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Annonce De Cryostat 2.0  : JDK Flight Recorder Pour Conteneurs

Annonce De Cryostat 2.0  : JDK Flight Recorder Pour Conteneurs

Cryostat, une application JVM native pour conteneurs développée par Red Hat, fournit une API pour surveiller et profiler les conteneurs Java à l'aide du Java Flight Recorder (JFR).

Les principales fonctionnalités apportées par cette nouvelle version sont : l'Operator Cryostat qui simplifie le déploiement de Cryostat dans OpenShift ; des définitions de règles automatisées qui permettent aux utilisateurs de spécifier sur quelles JVM doivent être activées et quels événements du JDK Flight Recorder doivent être enregistrés ; et les opérations par lots qui permettent aux clients d'exécuter une demande et Cryostat récupérera les données d'un ensemble de cibles et de cibles personnalisées qui permettent aux utilisateurs de définir manuellement des cibles.

Java Mission Control (JMC) et Java Flight Recorder (JFR), autrefois des fonctionnalités commerciales et uniquement inclus dans les versions du JDK d'Oracle, ont tous deux été publiés en open source en 2018. Cela a permis de mettre à disposition et d'inclure les puissantes fonctionnalités de profilage et de diagnostique pour les versions à partir d'OpenJDK 11.

Mais JMC est une application de bureau et n'est donc pas bien adaptée à la conteneurisation. Il oblige les utilisateurs à récupérer les enregistrements de JFR sur un disque local ou à utiliser des connexions JMX potentiellement non sécurisées vers des JVM distantes.

De la même manière, JFR permet le stockage des enregistrements sur un disque local, mais lorsque l'application s'exécute à l'intérieur d'un conteneur, le stockage local pourrait ne pas être facilement accessible.

Cryostat connecte les données de JFR dans le cloud avec les utilisateurs finaux sur leurs postes de travail. En fait, il agit comme un hub pour récupérer et stocker les enregistrements du flight recorder à partir de JVM conteneurisées, afin que les utilisateurs puissent accéder à ces enregistrements via HTTP/HTTPS.

Cryostat est une JVM conteneurisée qui agit comme un "side-car" aux côtés d'autres applications OpenJDK à surveiller. La découverte de ces autres runtimes peut se faire de différentes manières, automatiquement sélectionnées par Cryostat. Il peut utiliser le Java Discovery Protocol pour les applications exécutées avec docker-compose tandis que les endpoints peuvent être utilisés pour des applications exécutées dans Kubernetes ou Openshift. D'autres méthodes de découverte sont disponibles.

Cyostat prend également en charge les modèles d'événements JFR pour contrôler les événements qui seront activés pendant l'enregistrement. Les modèles peuvent également être modifiés et personnalisés. Dans l'image ci-dessous, vous trouverez un exemple de types d'événements dans Cryostat.

De plus, Cryostat offre différentes manières de gérer les enregistrements, y compris les enregistrements personnalisés, les snapshots et les archives. La première option permet à l'utilisateur de configurer les paramètres de l'enregistrement tels que le nom, la durée, la taille, etc. La deuxième option est un aperçu de toutes les informations capturées par d'autres enregistrements tandis que la troisième option envoie immédiatement les données d'un snapshot à Cryostat afin de l'enregistrer sur un disque local ou un volume persistant.

Cryostat permet également une analyse automatisée à l'aide de JMC dans le back-end ou, pour des rapports plus avancés, il est possible d'exporter des données vers Grafana avec un tableau de bord préconfiguré fourni.

En conclusion, Cryostat amène JFR à l'ère des conteneurs, permettant l'analyse et le profilage de plusieurs JVM directement à partir d'un hub central.

 

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT