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
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 :