segunda-feira, 4 de abril de 2011

JBoss - Usando o 'twiddle' para monitorar o JBossAS

O 'twiddle' é um agente que faz uma checagem via RMI nas instâncias. Sua localização é '$JBOSS_HOME/bin/twiddle.sh' para ambientes Unix/Linux.

Testando o 'twiddle': 

$JBOSS_HOME/bin/twiddle.sh -s jnp://seu_IP:jnp_port -u user -p password get "jboss.system:type=ServerInfo"

O retorno deve ser algo como:

ActiveThreadCount=157
AvailableProcessors=2
OSArch=amd64
MaxMemory=259522560
HostAddress=127.0.0.1
JavaVersion=1.6.0_24
OSVersion=2.6.18-194.el5
JavaVendor=Sun Microsystems Inc.
TotalMemory=259522560
ActiveThreadGroupCount=15
OSName=Linux
FreeMemory=34479320
HostName=jboss.test.com.br
JavaVMVersion=19.1-b02
JavaVMVendor=Sun Microsystems Inc.
JavaVMName=Java HotSpot(TM) 64-Bit Server VM

Caso seu JMX não seja autenticado não são necessários os parâmetros '-u' e '-p'. Lembre-se de ajustar o IP para o que você faz bind e a porta para a JNP da sua instância, por padrão a porta é 1099. 

Agora podes utilizar o Nagios, Zabbix, entre outros para monitorar utilizando o 'twiddle', ainda que via JMX seja mais elegante. Vamos a três itens de exemplo:


Memória livre: 
$JBOSS_HOME/bin/twiddle.sh -s jnp://seu_IP:jnp_port -u user -p password get "jboss.system:type=ServerInfo"  FreeMemory 

Threads ativas:
$JBOSS_HOME/bin/twiddle.sh -s jnp://seu_IP:jnp_port -u user -p password get "jboss.system:type=ServerInfo"  ActiveThreadCount

Conexões disponíveis no pool do defaultDS:
$JBOSS_HOME/bin/twiddle.sh -s jnp://seu_IP:jnp_port -u user -p password get "jboss.jca:name=DefaultDS,service=ManagedConnectionPool" AvailableConnectionCount

Nenhum comentário:

Postar um comentário