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.012 ]

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

Backups com TAR e DUMP

Servidor Jabber com LDAP

Configurando Webcam com o Mercury

Como configurar o Minicom para roteadores cisco no Fedora

Instalação da IDE Anjuta em ambientes não-Gnome (HOW-TO)

  
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