Monitoração de Sistemas Java em Produção

10 respostas
D

Caros,

Para quem trabalha com sistemas Java em produção. Como fazem a monitoração dos seus serviços e aplicações?

Para os serviços básicos (http, rede, smtp, etc) usamos o Naggios e uma outra solução que fizemos aqui.

Porém, para suas aplicações Java em produção, para monitorar em tempo real o uso de cpu, memória (ram e heap), pool de conexões BD, etc, o que vocês usam?

Dei uma olhada no VisualVM (http://visualvm.java.net/), mas nunca ouvi ninguém dizer que o usa em produção.

Fizemos uma POC com o CA Introscope. Parece um bom produto, com muitas monitorações da JVM (objetos, conexões, memória, cpu, etc), com ótimo dashboard customizável, porém ele faz instrumentação de código e nossa aplicação leva o dobro do tempo para subir. Além do que o software é bem caro.

O que sugerem? Preferencialmente open source.

Grato

10 Respostas

S

Não sei se é exatamente o que você quer, mas eu conheço o Probe.
da uma olhadinha
http://www.lambdaprobe.org/d/index.htm

A

A solução “default” é o Nagios… se você quiser algo mais avançado, sempre ouví falar que a JVM disponibilizava, já nativo, alguns Managed Beans JMX para monitoramento, mas nunca tentei fazer algo assim. Achei um link da Oracle que fala algo a respeito: http://docs.oracle.com/javase/tutorial/jmx/overview/javavm.html.

O livro Release It! fala que o ideal é você expor tudo, ou quase tudo, via JMX mesmo, no código da sua aplicação, para facilitar o gerenciamento dela e, se for necessário, criar scripts pra fazer esse monitoramento. De novo, nunca tentei. Pros monitoramentos que precisei fazer, o Nagios sempre resolveu.

[]'s

D

Legal, mas este Probe só serve para o Apache Tomcat.
Procuro uma ferramenta mais agnóstica, ou seja, que funcione para a JVM, independente se é app stand-alone, se roda em Tomcat, Jetty, etc…

S

danieldestro:
Legal, mas este Probe só serve para o Apache Tomcat.
Procuro uma ferramenta mais agnóstica, ou seja, que funcione para a JVM, independente se é app stand-alone, se roda em Tomcat, Jetty, etc…

Hmm, é mesmo, esqueci de avisar que só roda no tomcat.

você instala ele no diretório webapps do tomcat, e pronto.

abs

F

http://www.lambdaprobe.org/d/index.htm

A

ssh:
danieldestro:
Legal, mas este Probe só serve para o Apache Tomcat.
Procuro uma ferramenta mais agnóstica, ou seja, que funcione para a JVM, independente se é app stand-alone, se roda em Tomcat, Jetty, etc…

Hmm, é mesmo, esqueci de avisar que só roda no tomcat.

você instala ele no diretório webapps do tomcat, e pronto.

abs

Além disso, ele foi desenvolvido para versões antigas do Tomcat, que não dispunham das capacidades que ele tem hoje nesse sentido. Não faz mais sentido utilizar o Probe, a não ser que a versão do Tomcat que você esteja usando seja antiga.

[]'s

S

asaudate:
ssh:
danieldestro:
Legal, mas este Probe só serve para o Apache Tomcat.
Procuro uma ferramenta mais agnóstica, ou seja, que funcione para a JVM, independente se é app stand-alone, se roda em Tomcat, Jetty, etc…

Hmm, é mesmo, esqueci de avisar que só roda no tomcat.

você instala ele no diretório webapps do tomcat, e pronto.

abs

Além disso, ele foi desenvolvido para versões antigas do Tomcat, que não dispunham das capacidades que ele tem hoje nesse sentido. Não faz mais sentido utilizar o Probe, a não ser que a versão do Tomcat que você esteja usando seja antiga.

[]'s


muito bom Daniel, irei me informar melhor sobre essas modificações.

abs

D

Mais nada?

O

O que eu vi nas empresas que prestei serviço são as soluções proprietárias de cada application server (Websphere, Weblogic, OAS, etc). Eu sempre pensei em sugerir incluir algum tipo de monitoramento por JMX nos projetos da minha antiga empresa, mas a demanda nunca justificou o investimento. Tem esta lista (http://java-source.org/open-source/jmx), mas nunca trabalhei com nenhum deles.

R

Daniel,

da uma olhada no AppDynamics, ele possui uma versão Lite (Free) e uma Pro.

Criado 9 de dezembro de 2011
Ultima resposta 18 de jan. de 2012
Respostas 10
Participantes 6