Usando script wsadmin com o Java Management Extensions (JMX)

Java™ Management Extensions (JMX) é uma estrutura que fornece uma maneira padrão de expor recursos Java, por exemplo, servidores de aplicativos, em uma infraestrutura de gerenciamento de sistemas. Utilizando a estrutura JMX, um fornecedor pode implementar funções, como listar as definições de configuração e editar as definições. Essa estrutura também inclui uma camada de notificação que os aplicativos de gerenciamento podem utilizar para monitorar eventos, como a inicialização de um servidor de aplicativos.

Recursos Principais do JMX

Os recursos-chave da implementação do WebSphere Application Server do JMX incluem:

  • Todos os processos que executam o agente JMX.
  • Toda a administração de tempo de execução que é executada por meio de operações JMX.
  • Os conectores utilizados para conectar um agente JMX a um aplicativo de gerenciamento remoto ativado por JMX. Os seguintes conectores são suportados:
    • Conector SOAP JMX
    • Conector JMX RMI-IIOP (Chamada de Método Remoto sobre o RMI-IIOP (Internet Inter-ORB Protocol) da Interface de Programação de Aplicativos Remota JMX (JSR 160) (o conector JSR160RMI)
    • Conector JMS RMI-IIOP (Remote Method Invocation over the Internet Inter-ORB Protocol)
    • Inter-Process Communications (IPC)
  • Os adaptadores de protocolo que fornecem uma visualização de gerenciamento do agente JMX através de um determinado protocolo. Aplicativos de gerenciamento que conectam-se a um adaptador de protocolos geralmente são específicos de um determinado protocolo.
  • A capacidade de consultar e atualizar as definições de configuração de um objeto de tempo de execução.
  • A capacidade de carregar, inicializar, alterar e monitorar componentes e recursos de aplicativos durante o tempo de execução.

Arquitetura JMX

A arquitetura JMX é estruturada em três camadas:

  • Camada de instrumentação - Dita como recursos podem ser agrupados em Java beans especiais chamados de MBeans (Managed Beans).
  • Camada do agente - Formada pelo servidor e pelos agentes do MBean, que oferecem uma infra-estrutura de gerenciamento. Os serviços que são implementados incluem:
    • Monitoramento
    • Notificação de eventos
    • Cronômetros
  • Camada de gerenciamento - Define como aplicativos de gerenciamento externos podem interagir com as camadas subjacentes em relação aos protocolos, APIs, e assim por diante. Essa camada usa uma implementação da especificação de serviços distribuídos (JSR-077), que é parte da especificação Java 2 Platform, Enterprise Edition (J2EE).

A arquitetura em camadas do JMX é resumida na figura a seguir:

Figura 1. Arquitetura JMX
Ilustra a Arquitetura do JMX.

Administração Distribuída de JMX

A figura a seguir mostra como a arquitetura JMX se encaixa na topologia de administração distribuída geral de um ambiente do WebSphere Application Server, Network Deployment:

Figura 2. Administração Distribuída do JMX
Ilustra a administração distribuída do WebSphere Application Server do JMX

Os pontos chave dessa arquitetura de administração distribuída incluem:

  • Os MBeans internos locais para o registro da JVM (Java Virtual Machine) com o servidor MBean local.
  • Os MBeans externos têm um proxy local para seu servidor MBean. O proxy registra-se no servidor MBean local.
    Utilizando o proxy do MBean, o servidor MBean local pode transmitir a mensagem para um servidor MBean externo localizado em:
    • Um agente de nó que tenha um proxy de MBean para todos os servidores em seu nó. Os proxies do MBean de outros nós não são utilizados.
    • O gerenciador de implementação tem proxies de MBean para todos os agentes de nó da célula.

MBeans JMX

O produto fornece vários MBeans, cada um deles com diferentes funções e operações disponíveis. Por exemplo, um MBean do servidor de aplicativo pode expor operações, como iniciar e parar. Um MBean de aplicativo pode expor operações, como instalar e desinstalar. Alguns cenários de uso de JMX que podem ser encontrados incluem:

  • Programas externos que são gravados para controlar o tempo de execução do WebSphere Application Server, Network Deployment e seus recursos do WebSphere acessando programaticamente a API do JMX.
  • Aplicativos de terceiros que incluem MBeans de JMX personalizados como parte do código implementado, suportando o gerenciamento de componentes e recursos do aplicativo da API de JMX.

O exemplo a seguir ilustra como obter o nome de um MBean específico:

Utilizando Jacl:

set am [$AdminControl queryNames type=ApplicationManager,process=server1,*]

Utilizando Jython:

am = AdminControl.queryNames('type=ApplicationManager,process=server1,*')

Cada MBean de tempo de execução do WebSphere Application Server pode ter atributos, operações e notificações. A documentação completa para cada MBean que é fornecido com o produto está disponível neste centro de informações em information_center > Referência > Interfaces de programação > Interfaces Mbean.

Benefícios de JMX

A utilização de JMX para funções de gerenciamento em WebSphere Application Server fornece os seguintes benefícios:

  • Ativa o gerenciamento de aplicativos Java sem investimento significativo.
  • Depende de um servidor de objeto gerenciado a partir do núcleo que atua como um agente de gerenciamento.
  • Os aplicativos Java podem incorporar um servidor de objetos gerenciados e disponibilizar algumas de suas funcionalidades como um ou vários MBeans que estão registrados com o servidor de objetos.
  • Fornece uma arquitetura de gerenciamento escalável.
  • Cada serviço de agente JMX é um módulo independente que pode ser conectado ao agente de gerenciamento.
  • A API é extensível, permitindo que novos recursos do WebSphere Application Server e do aplicativo customizado sejam facilmente incluídos e expostos por meio dessa interface de gerenciamento.
  • Integra soluções de gerenciamento existentes.
  • Cada processo é auto-suficiente quando se trata do gerenciamento de seus recursos. Não existe nenhum ponto central de controle. Na verdade, um cliente de gerenciamento ativado por JMX pode ser conectado a qualquer processo gerenciado e interagir com os MBeans hospedados por esse processo.
  • JMX fornece uma única abordagem simples para todo o domínio para o gerenciamento de sistemas. Processos separados interagem através de proxies de MBean que suportam um único cliente de gerenciamento para navegar de forma transparente por uma rede de processos gerenciados.
  • Define as interfaces que são necessárias somente para o gerenciamento.
  • Fornece uma API padrão para expor recursos administrativos e do aplicativo para ferramentas de gerenciamento.

Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cxml_javamanagementx
Nome do arquivo: cxml_javamanagementx.html