jvm-mon
Monitoramento JVM baseado em console - quando você deseja apenas fazer SSH em um servidor e ver o que está acontecendo.
jvm-top permite monitorar seus aplicativos de servidor JVM a partir do terminal.
Nova versão
Versão: 1.0-ea1
- Reescrito em Go
- Arquivo executável único
- Pode monitorar aplicativos em Java 8 e superior
- Não requer um JDK existente
Como funciona:
- O executável jvm-mon vem com um jar do agente Java
- Na inicialização, ele extrai o agente para um diretório temporário
- Ele se conecta à JVM que você deseja monitorar
- Carrega o agente na execução da JVM para coletar métricas
- Agente e aplicativo estabelecem uma conexão de soquete para enviar métricas
Instalar
Requisito : um JDK8 no servidor e variável de ambiente JAVA_HOME
apontando para ele. Não funcionará apenas com um JRE.
Mac OS
Linux/Mac OS
- Baixe o lançamento e extraia
- Defina a variável de ambiente
JAVA_HOME
: export JAVA_HOME=/path/to/your/jdk8
- Execute
./bin/jvm-mon
do diretório extraído
Uso
- Selecione um processo JVM e pressione Enter para monitorá-lo
- Pressione q ou Ctrl+C para sair
- Pressione Del ou Backspace para encerrar um processo
O que está disponível
Atualmente mostra:
- Lista de processos JVM em execução
- Carga de CPU e GC
- Tamanho de heap e uso
- Principais threads com uso de CPU
Construindo a partir da fonte
Para construir localmente, execute ./gradlew installDist
. Então vá para ./build/install/jvm-mon/
e execute ./bin/jvm-mon
.
Para desenvolver você precisará npm
em sua máquina e então executar ./gradlew npmDeps
uma vez para obter as dependências.
Como funciona?
jvm-mon é um aplicativo Kotlin baseado nestas bibliotecas incríveis:
- biblioteca de painel do terminal Blessed-Contrib em JavaScript
- J2V8 Java Bindings para mecanismo JavaScript V8 e Node.js
- Monitoramento jvmtop Java para a linha de comando
A maneira como funciona é:
- O aplicativo Kotlin inicia um mecanismo Node.js em processo
- Node.js carrega um script com todos os widgets
- O script retorna ao Kotlin para obter métricas