Zabbix : Monitorando Instâncias do Jboss Domain [Update]

Neste post será apresentado dois templates de monitoração para o Jboss Domain, o primeiro é através do Zabbix cadastrando a instância diretamente na GUI e a outra é a realização de discovery das Instâncias automaticamente.

 

 

Link para baixar o script  pra os dois cenários :

 

http://fajlinux.com.br/appserver/jboss/jboss-script-de-monitoracao-via-cli/

 

 

 

Monitoração centralizada do Servidor do Zabbix para os servidores Jboss.

 

 

1) Configuração do  servidor Zabbix

 

Este template foi configurado para que  script seja rodado através do servidor do Zabbix (ou proxy se preferir) para executar o Jboss Cli e coletar informações.

Exemplo :

 

Será necessário aplicar o user parameter no agente do servidor do Zabbix .

UserParameter=JbossMon[*],/bin/jboss-mon $1 $2 $3

 

Ajuste a variável $DOMAIN_HOST do script jboss-mon para o abaixo :

$DOMAIN_HOST=$3

 

Restarte o agente

service zabbix_agentd restart

 

Baixe e importe o template abaixo

Jboss_Zabbix
Funcionalidades do Template :

– Monitoração de Memória Heap
– Monitoração de Memória Permgen
– Contagem de Threads
– Status da Instância

 

2) Adicionando as instâncias no Zabbix

Quando cadastrar as instâncias no Zabbix aponte para o servidor local

 

Adicione as Macros conforme apresentadas abaixo , em nosso exemplo estamos adicionando domain server e a instância

Caso haja dúvidas em relação a quais instâncias estão localizadas no servidor DOMAIN execute o script conforme o parâmetro abaixo.

root@server# ./jboss-mon.sh InstanceList HOST01;
INSTANCE01 INSTANCE02 

 

 

Dados coletados de uma instância

 

 

Monitoração realizada através de discovery LLD com o script nos servidores Jboss. 

 

 

 

 

 

1) Configuração do agente no servidor Jboss .

 

Será necessário aplicar o user parameter no agente do servidor do Zabbix .

UserParameter=JbossMon[*],/bin/jboss-mon $1 $2 $3

 

Ajuste a variável $DOMAIN_HOST do script jboss-mon para o abaixo :

$DOMAIN_HOST=$(hostname)

 

Restarte o agente

service zabbix_agentd restart

 

 

2) Valide se o Zabbix está conseguindo capturar o JSON via zabbix_get chamando o ip do servidor Jboss

 


[p736794@zabbix ~]$ zabbix_get -s 192.168.0.10  -k JbossMon[InstanceDiscovery]
{

"data":[

{"{#INSTANCE}":"jboss_inst1"},
{"{#INSTANCE}":"jboss_inst2"},
{"INST":"instance"}

]
}


 

OBS : A última linha sempre vai ser “{“INST”:”instance”}” , pois tentei utilizei somente Shell Script para esta execução e essa foi a melhor forma.

 

Baixe e importe o template abaixo

JbossMon_Discovery

 

Funcionalidades do Template :

– Monitoração de Memória Heap
– Monitoração de Memória Permgen
– Contagem de Threads
– Status da Instância

 

Validação do discovery coletando :