JBoss EAP

OTIMIZANDO O POOL DE CONEXÕES NO JBOSS EAP 6 – PARTE 1

Postado em

Olá amigos,

Um ajuste fino nas configurações do Datasource pode evitar grandes problemas de escalabilidade nas aplicações implantadas no JBoss. É importante lembrar que, quando um cliente fecha uma conexão a partir de um Datasource, a conexão retorna para o pool e fica disponível para outros clientes, sendo assim, a conexão em si não está fechada. O custo de abertura e fechamento de conexões do pool pode ser medido em nanosegundos, por isso é irrelevante em termos de performance.

Continue lendo no novo blog:

http://mmagnani.com/2015/01/06/otimizando-o-pool-de-conexoes-no-jboss-eap-6-parte-1/

UTILIZANDO VISUALVM PARA MONITORAR INSTÂNCIAS JBOSS EAP 6 EM MODO DOMAIN

Postado em Atualizado em

Olá Pessoal,

VisualVM é uma ferramenta visual que pode ser utilizada para monitoramento e profiling de processos Java. Com ela é possível criar thread dumps, heap dumps para analise posterior, ela já está inclusa no JDK e pode ser encontrada em JAVA_HOME/bin/jvisualvm.

Para se conectar remotamente a uma instância JBoss EAP 6, alguns passos são necessários. Vou dividir em duas parte para facilitar o entendimento.

Continue lendo no novo blog:

http://mmagnani.com/2015/01/06/utilizando-visualvm-para-monitorar-instancias-jboss-eap-6-em-modo-domain/

Documentação JBoss Middleware Enterprise para Community

Postado em Atualizado em

logo-customerPortal-bk

Olá amigos,

O Titulo pode parecer estranho mas como todos nós sabemos os produtos da Red Hat Enteprise são baseados nos produtos da comunidade. Sendo assim podemos fazer algumas relações entre a versão Enterprise e Community,  assim uma relação que pode ser útil é a de documentação. É notável que a documentação do produto enteprise é bem mais completa e rica de detalhes.

Não garanto a total compatibilidade mas pode ajudar e muito no dia a dia.

WildFly 8 – JBoss Enterprise Application Platform 6.2

https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/

RHQ Server 4.10 –  JBoss Operations Network 3.2

https://access.redhat.com/site/documentation/en-US/Red_Hat_JBoss_Operations_Network/

Abraços

Atualizando a Versão do JBoss EAP 6 de Forma Simples

Postado em Atualizado em

E ai Pessoal tudo bom?

Hoje vou falar rapidamente sobre a atualização do JBoss EAP 6.

O JBoss EAP 6 trouxe consigo grandes mudanças, arquitetura redesenhada, facilidade no gerenciamento, novas features entre outras coisas. Uma das coisas que mais me deixou feliz nessa versão foi a nova forma de atualização. A partir da versão JBoss EAP 6.2.0 toda atualização de versão e aplicação de patches será realizada através do JBoss CLI, isso torna uma tarefa que antes envolvia um conhecimento avançado em um simples tarefa em que um analista com a mínima experiencia poderia realizar mas vamos ao que interessa.

Inicialmente vou instalar uma versão do JBoss EAP 6.2.0 e irei atualizar a versão e instalar alguns Patches utilizando o JBoss CLI.

Instalando JBoss EAP 6.2.0

A instalação do JBoss EAP geralmente envolve boas práticas, hardening do SO entre outras coisas. Para os testes vou apenas descompactar os pacotes como abaixo:

cd /home/mmagnani/RedHat/JBossEAP
unzip jboss-eap-6.2.0.zip
unzip jboss-eap-native-6.2.0-RHEL6-x86_64.zip
unzip jboss-eap-native-utils-6.2.0-RHEL6-x86_64.zip
unzip jboss-eap-native-webserver-connectors-6.2.0-RHEL6-x86_64.zip

O JBoss EAP 6.2.0 foi instalado com sucesso. Inicie uma simples instância standalone para que possamos visualizar a versão no log como abaixo:

[mmagnani@mmagnani JBossEAP]$  ./jboss-eap-6.2/bin/standalone.sh
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /home/mmagnani/RedHat/JBossEAP/jboss-eap-6.2

  JAVA: /usr/java/jdk1.7.0_51/bin/java

  JAVA_OPTS:  -server -XX:+UseCompressedOops -Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

10:06:49,029 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final-redhat-2
10:06:49,440 INFO  [org.jboss.msc] (main) JBoss MSC version 1.0.4.GA-redhat-1
10:06:49,528 INFO  [org.jboss.as] (MSC service thread 1-7) JBAS015899: JBoss EAP 6.2.0.GA (AS 7.3.0.Final-redhat-14) starting

Atualizando para o JBoss EAP 6.2.1

Para atualizar a versão se conecte ao JBoss CLI:

./jboss-eap-6.2/bin/jboss-cli.sh -c

No JBoss CLI execute o seguinte comando:

[standalone@localhost:9999 /] patch apply /home/mmagnani/RedHat/JBossEAP/jboss-eap-6.2.1.zip --override-modules
{
    "outcome" : "success",
    "response-headers" : {
        "operation-requires-restart" : true,
        "process-state" : "restart-required"
    }
}

Obeserve que nós atualizamos o JBoss EAP com sucesso! Reinicie o JBoss e veja a nova versão:

[mmagnani@mmagnani JBossEAP]$  ./jboss-eap-6.2/bin/standalone.sh
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /home/mmagnani/RedHat/JBossEAP/jboss-eap-6.2

  JAVA: /usr/java/jdk1.7.0_51/bin/java

  JAVA_OPTS:  -server -XX:+UseCompressedOops -Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

10:13:10,757 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final-redhat-2
10:13:10,963 INFO  [org.jboss.msc] (main) JBoss MSC version 1.0.4.GA-redhat-1
10:13:11,039 INFO  [org.jboss.as] (MSC service thread 1-8) JBAS015899: JBoss EAP 6.2.1.GA (AS 7.3.1.Final-redhat-3) starting

Para instalar Patches siga o mesmo processo.

Uma dica é que você pode instalar Patches em Modo Domain passando apenas o Host Controller desejado!

Link: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6.2/html/Installation_Guide/sect-Install_Patches_in_Zip_Form.html

Abraços

JBoss EAP6 High Availability e Configuration, Deployment, and Administration [Video]

Postado em

E ai Galera Feliz 2014!

Hoje gostaria de recomendar dois excelentes materiais que estou utilizando para aprender mais sobre o JBoss EAP. Como todos sabem eu já possuo certa experiência com JBoss mas nunca é o bastante! Sempre temos que aprender mais e rever alguns detalhes. A packtpub está com dois ótimos materiais sobre JBoss EAP 6. São materiais escritos por profissionais do time de suporte e engenharia da RedHat e pode ser utilizado por profissionais iniciantes e até pelos experientes. O preço é muito justo: 3 Euros pelo Ebook e 3 euros pelos Vídeos. Eu estou terminando o livro e os Vídeos e posso dizer que realmente aprendi coisas novas.

Nome: JBoss EAP6 High Availability
Link: http://www.packtpub.com/jboss-eap6-high-availability/book

11c08792-4986-11e3-b98b-12313d2c488f-medium

Nome: JBoss EAP Configuration, Deployment, and Administration [Video]
Link: http://www.packtpub.com/jboss-eap-configuration-deployment-and-administration/video

2483OS_Video

Bons Estudos e qualquer dúvida sobre esse material estamos ai… afinal estou lendo a assistindo ele todo!

Abraços

Tecnologias JavaEE Suportadas no JBoss EAP

Postado em

Navegando pela internet encontrei uma diagrama bem interessante sobre as tecnologias suportadas no JBoss EAP.

http://mgreau.com/posts/2013/12/10/jboss-eap-62-51-43-javaee-supported.html
Abraços

Configurando Ambiente de Produção no JBoss AS 7.1.3 (JBoss EAP 6.0.1) – Parte 4

Postado em

E ai galera blz?

Continuando os posts:

Anteriormente nós configuramos um balanceador de carga ( Apache + Mod Cluster ) , um Domain Controller e dois Host Controllers com uma instância cada. Ativamos também os recursos de cluster.

Hoje vamos aprender como encriptar o tráfego entre o Cliente<— —> Balancer <— —> Instâncias JBoss utilizando SSL.

Atualmente nós temos o seguinte cenário:

env-1

O dados estão trafegando sobre HTTP sem nenhuma criptografia podendo ser interceptado facilmente.

Então a primeira coisa a ser feita é utilizar SSL entre Cliente <—- —-> Balancer:

env-2

Antes de tudo quero deixar claro que vai ocorrer perda de performance já que o tráfego será encriptado.

Vamos gerar os certificado para ser utilizado no Apache Web Server que é o nosso Balancer.  Pelo fato de  utilizar o SSL/HTTPS devemos instalar o Mod SSL. Para isso, execute :

yum install mod_ssl

Vamos utilizar o openssl para geração dos certificados. Instale os pacotes necessários:

yum install openssl ca-certificates

Para melhor organização crie  um diretório dentro de /etc/ssl com o nome de server-certs:

mkdir /etc/ssl/server-certs

O primeiro passo é gerar uma chave privada.  Navegue até o diretório /etc/ssl/server-certs  e execute:

openssl genrsa -des3 -out my-server.key 2048

A chave gerada está encriptada e protegida por uma senha ou seja se nós utilizarmos essa chave no Apache, toda vez que reiniciarmos o serviço essa senha será solicitada causando alguns transtornos. Para solucionarmos essa questão podemos gerar uma chave “desprotegida” baseada na chave privada  my-server.key que não irá solicitar qualquer tipo de senha.

Execute comando abaixo para que a chave seja gerada:

openssl rsa -in my-server.key -out my-server.key.public

Tenha muito cuidado com a chave privada my-server.key, guarde-a em um local seguro e que seja acessível somente pelo root.

O próximo passo é gerar o Certificate Signing Request. Execute o comando abaixo:

openssl req -new -key my-server.key -out my-server.csr

O arquivo my-server.crt deveria ser enviado para a autoridade certificadora, que devolveria o certificado assinado. Neste caso, vamos utilizá-lo para criar um certificado auto assinado válido por 365 dias. Para isso execute:

openssl x509 -req -days 365 -in my-server.csr -signkey my-server.key -out my-server.cer

A criação dos certificados está concluída. Foram gerado os seguintes arquivos:

my-server.key – Chave privada.
my-server.key.public –  Chave sem password.
my-server.csr – Pedido de assinatura do certificado.
my-server.cer – Certificado auto assinado.

Edite o arquivo  vim /etc/httpd/conf.d/mod_cluster.conf  e deixe-o como  abaixo:

<VirtualHost 192.168.0.141:443>

SSLEngine on
SSLCipherSuite AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL
SSLVerifyDepth 10
SSLCertificateFile /etc/ssl/server-certs/my-server.cer
SSLCertificateKeyFile /etc/ssl/server-certs/my-server.key.public

<Directory />
Order deny,allow
Allow from all
</Directory>

KeepAliveTimeout 60
ManagerBalancerName mycluster
MaxKeepAliveRequests 0
ServerAdvertise On

EnableMCPMReceive On

</VirtualHost>

<Location /mod_cluster-manager>
SetHandler mod_cluster-manager
Order deny,allow
Allow from all
</Location>

Reinicie o Apache e acesse  por exemplo https://192.168.0.140/cluster e observe que agora os dados já trafegam encriptados. Para verificar se os dados realmente estão encriptados utilize o Wireshark.

Essa foi a parte final. Você pode ter sentido falta de muitos  outros tópicos como configuração de datasource, tuning e algumas outras coisas mas a ideia dessa série foi configurar a infra para um ambiente JBoss moderno.

Nas próximas semanas estarei publicando novos posts relacionados a tuning.
Obrigado e Abraços 🙂