Monitorando Weblogic em DomainRuntime com Zabbix

Sempre monitorei Jboss com zabbix, mas recentemente recebi uma demanda e encontrei algumas dificuldades que gostaria de compartilhar com a comunidade. O cenário do artigo foi RHEL6, Weblogic 11g com jrockit 1.6, zabbix 2.4, porém entendendo o cenário, pode ser customizado para outras versões.

[ Hits: 13.323 ]

Por: Bruno em 08/07/2016


Modificação do Zabbix Java Gateway para DomainRuntime



Para que o zabbix-java-gateway comece a coletar utilizando o DomainRuntime, será necessário recompilar o jar do zabbix, alterando a url do jmx na class JMXItemChecker.java.

Vamos precisar colocar a lib wlfullclient.jar na pasta src para compilar o zabbix-java-gateway.

Não irei abordar a compilação do Zabbix, pois não é proposito deste post. Futuramente posso está criando um post específico.

Fiz alterações simples para atender minha demanda, mas pode ser melhorada, de uma olhada no seguinte link:
Class alterada: /opt/install/zabbix-2.4.1/src/zabbix_java/src/com/zabbix/gateway/JMXItemChecker.java

public JMXItemChecker(JSONObject request) throws ZabbixException
    {
         super(request);
            try
            {
                    String conn = request.getString(JSON_TAG_CONN);
                    int port = request.getInt(JSON_TAG_PORT);

                    Integer remoting = new Integer("7777");
                    Integer weblogic = new Integer("7001");

                    int retvaljboss = remoting.compareTo(port);
                    int retvalweblogic = weblogic.compareTo(port);
                if (retvaljboss == 0)
            {
   //suporta jboss7 na porta jmx 7777        
                url = new JMXServiceURL("service:jmx:remoting-jmx://" + conn + ":" + port);
            }
                if (retvalweblogic == 0)
            {
                 url = new JMXServiceURL("service:jmx:rmi:///jndi/iiop://" + conn + ":" + port + "/weblogic.management.mbeanservers.domainruntime");
            }
              else
            {url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + conn + ":" + port + "/jmxrmi");
            }

Agora sua imaginação não tem limites! Basta configurar seu Zabbix para fazer LLD no server Domainruntime do weblogic utilizando o jmx_discovery igualmente como é feito no jmxrmi.

1. Adicione o host na interface jmx com o ip do AdminConole na porta 7001
2. Adicione o template weblogic anexo no host
3. Adicione macro para o host

{$ADMINSERVER} - ipadminserver:7001
{$DOMINIO} - nomedoseudominio

Segue em anexo arquivos utilizados:
O .RAR ficou um pouco grande por conta dos binários java, então tive que dividir em 3 partes para o github aceitar o upload.
  • Template Weblogic.xml LLD com 42 itens, 4 triggers, 16 gráficos criado para weblogic DomainRuntime (Não esqueça de configurar as macros)
  • JMXDiscovery.jar com alteração da class JMXDiscovery.java do zabbix_jmxdiscovery, recopilação alterações para connect IIOP com inclusão da lib própria do weblogic para comunicação do server Domainruntime.
  • Bash do jmx_discovery para se colocar junto com o JMX na pasta do externalscripts do Zabbix.
  • zabbix-java-gateway-2.4.1.jar alteração da class JMXItemChecker.java do zabbix-java-gateway, compilação alterações para connect IIOP com inclusão da lib própria do weblogic comunicação do server Domainruntime.
  • wlfullclient.jar (lib utilizada na compilação)
  • org-json-2010-12-28.jar (lib utilizada na compilação)

*Recomendo realizar testes no seu em ambiente de homologação antes de entrar em produção.

Resultado:
Referências:
Página anterior    

Páginas do artigo
   1. Servidores MBean em Weblogic
   2. Exportando RMI/IIOP AdminServer
   3. Modificação do external script jmx_discovery para DomainRuntime
   4. Modificação do Zabbix Java Gateway para DomainRuntime
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Copiar um DVD através do k9copy no Insigne Momentum 5.0

Instalando o Gnome-2.20.3 no Slackware 12 usando o Gslapt

Guia rápido VI

GAMBAS: A definitiva resposta open-source ao Microsoft Visual Basic

Bandwidthd + Postgre

  
Comentários
[1] Comentário enviado por alelima77 em 07/03/2017 - 10:03h

Olá Bruno. Tudo bem?
Você poderia me informar onde encontro template que monitore o datasource, managed servers, para WebLogic?

Grato!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts