jvm-mon
Surveillance JVM basée sur la console - lorsque vous souhaitez simplement vous connecter en SSH à un serveur et voir ce qui se passe.
jvm-top vous permet de surveiller vos applications serveur JVM depuis le terminal.
Nouvelle version
Version : 1.0-ea1
- Réécrit en Go
- Fichier exécutable unique
- Peut surveiller les applications sur Java 8 et supérieur
- Ne nécessite pas de JDK existant
Comment ça marche :
- L'exécutable jvm-mon est fourni avec un pot d'agent Java
- Au démarrage, il extrait l'agent dans un répertoire temporaire
- Il s'attache à la JVM que vous souhaitez surveiller
- Charge l'agent dans l'exécution de la JVM pour collecter des métriques
- L'agent et l'application établissent une connexion socket pour envoyer des métriques
Installer
Condition : un JDK8 sur le serveur et une variable d'environnement JAVA_HOME
pointant vers celui-ci. Cela ne fonctionnera pas uniquement avec un JRE.
MacOS
Linux/MacOS
- Téléchargez la version et l'extrait
- Définir la variable d'environnement
JAVA_HOME
: export JAVA_HOME=/path/to/your/jdk8
- Exécutez
./bin/jvm-mon
à partir du répertoire extrait
Usage
- Sélectionnez un processus JVM et appuyez sur Entrée pour le surveiller
- Appuyez sur q ou Ctrl+C pour quitter
- Appuyez sur Suppr ou Retour arrière pour tuer un processus
Ce qui est disponible
Actuellement, il affiche :
- Liste des processus JVM en cours d'exécution
- Charge CPU et GC
- Taille et utilisation du tas
- Principaux threads avec utilisation du processeur
Construire à partir de la source
Pour construire localement, exécutez ./gradlew installDist
. Ensuite, allez dans ./build/install/jvm-mon/
et exécutez ./bin/jvm-mon
.
Pour développer, vous aurez besoin npm
sur votre machine, puis exécuterez ./gradlew npmDeps
une fois pour obtenir les dépendances.
Comment ça marche ?
jvm-mon est une application Kotlin basée sur ces superbes bibliothèques :
- bibliothèque de tableaux de bord du terminal à contribution bénie en JavaScript
- Liaisons Java J2V8 pour le moteur JavaScript V8 et Node.js
- jvmtop Surveillance Java pour la ligne de commande
La façon dont cela fonctionne est la suivante :
- L'application Kotlin démarre un moteur Node.js en cours
- Node.js charge un script avec tous les widgets
- Le script rappelle Kotlin pour obtenir des métriques