jvm-mon
Monitoreo de JVM basado en consola: cuando solo desea conectarse mediante SSH a un servidor y ver qué está pasando.
jvm-top le permite monitorear las aplicaciones de su servidor JVM desde la terminal.
Nueva versión
Versión: 1.0-ea1
- Reescrito en Go
- Archivo ejecutable único
- Puede monitorear aplicaciones en Java 8 y superior
- No requiere un JDK existente
Cómo funciona:
- El ejecutable jvm-mon viene incluido con un jar de agente Java
- Al inicio, extrae el agente a un directorio temporal.
- Se adjunta a la JVM que desea monitorear.
- Carga el agente en la JVM en ejecución para recopilar métricas.
- El agente y la aplicación establecen una conexión de socket para enviar métricas
Instalar
Requisito : un JDK8 en el servidor y una variable de entorno JAVA_HOME
que apunte a él. No funcionará solo con un JRE.
Mac OS
Linux/Mac OS
- Descargue la versión y extraiga
- Establezca la variable de entorno
JAVA_HOME
: export JAVA_HOME=/path/to/your/jdk8
- Ejecute
./bin/jvm-mon
desde el directorio extraído
Uso
- Seleccione un proceso JVM y presione Enter para monitorearlo
- Presione q o Ctrl+C para salir
- Presione Supr o Retroceso para finalizar un proceso
Que esta disponible
Actualmente muestra:
- Lista de procesos JVM en ejecución
- Carga de CPU y GC
- Tamaño y uso del montón
- Temas principales con uso de CPU
Construyendo desde la fuente
Para compilar localmente, ejecute ./gradlew installDist
. Luego vaya a ./build/install/jvm-mon/
y ejecute ./bin/jvm-mon
.
Para desarrollar necesitará npm
en su máquina y luego ejecutar ./gradlew npmDeps
una vez para obtener las dependencias.
¿Cómo funciona?
jvm-mon es una aplicación Kotlin basada en estas increíbles bibliotecas:
- biblioteca de panel de terminal de bendita contribución en JavaScript
- Enlaces Java J2V8 para el motor JavaScript V8 y Node.js
- jvmtop Monitoreo de Java para la línea de comandos
La forma en que funciona es:
- La aplicación Kotlin inicia un motor Node.js en proceso
- Node.js carga un script con todos los widgets
- El script vuelve a llamar a Kotlin para obtener métricas.