Iniciei a pesquisa por uma solução de APM open source. Para quem não conhece, APM é uma sigla que significa Application Performance Management, ou seja, essencialmente ferramentas que nos permitem monitorar a qualidade de serviço (performance, consumo de memória) das nossas aplicações.
A melhor que conheço e já usei é o NewRelic (https://www.newrelic.com), mas infelizmente é uma solução que pode ficar muito cara com o tempo conforme a aplicação escala.
Com isto iniciei uma pesquisa na qual identifiquei algumas soluções que compartilho aqui com vocês e que também servirá para que possamos trocar experiências a respeito de sua adoção. Ainda não tenho experiência com estas ferramentas, sendo assim o objetivo deste post é justamente obter as experiências de vocês.
Vamos à lista.
Apache Skywalking
Como o próprio nome diz, é mantido pela fundação Apache e, ao que tudo indica, ainda está na incubadora. Mas só pelo fato de estar na Apache já me deixa um pouco mais tranquilo em relação à sua longevidade.
Stage Monitor
Pinpoint
Com este tive alguma experiência, no caso, uma dificuldade enorme em instalar o servidor, que é uma atividade bastante complexa, o que acabou me afastando da alternativa por um tempo, mas estou pensando em retomar contato agora com esta pesquisa.
JavaMelody
Com este já tive bastante experiência, no caso, em aplicações baseadas em Grails. É muito bom: me permite detectar consultas mais lentas, gargalos de memória e de desempenho.
O uso também é bastante simples: o problema é que preciso embarcá-lo na aplicação, e meu monitoramento é nó a nó. O ideal é que eu tenha um ponto central a partir do qual consiga acessar todos os meus servidores ao mesmo tempo.
Ele fornece um dashboard bem interessante, cujo print vocês podem ver a seguir:
E vocês, já experimentaram alguma destas soluções ou possui alguma sugestão? O que indicam?