Consegui encontrar conexões diretas com as instâncias consultando o URL /routes
do Cloud Foundry .
Eu tenho um aplicativo Java que estou implantando em um ambiente do Cloud Foundry. Eu quero monitorar o uso de memória do aplicativo. O Cloud Foundry fornece o comando cf app
que produz saída sobre cada instância do aplicativo especificado. Aqui você pode ver informações sobre um aplicativo específico com duas instâncias em execução (expurgadas):
$ cf app myapp
Showing health and status for app myapp in org myorg / space myspace as admin...
OK
requested state: started
instances: 2/2
usage: 1G x 2 instances
urls: myapp.example.com
last uploaded: Wed Jan 27 09:00:53 UTC 2016
stack: mylinuxstack
buildpack: myjavabuildpack
state since cpu memory disk details
#0 running 2016-01-27 09:01:31 AM 0.4% 689.8M of 1G 0 of 1G
#1 running 2016-02-03 05:35:03 PM 0.0% 624.2M of 1G 0 of 1G
No entanto, as métricas de memória parecem apenas relatar a quantidade de memória usada pelos processos em execução no contêiner do Cloud Foundry. Se você já lidou com o monitoramento de aplicativos Java, está ciente de que as JVMs acabarão consumindo, potencialmente, a quantidade de memória que você disse que elas podem ter, mesmo se o aplicativo Java não estiver usando. (Em outras palavras, ele faz seu próprio gerenciamento de memória.) Isso significa que o processo java
real pode estar consumindo 1 GB de memória, mas isso não significa que ele está prestes a ficar sem memória.
Na minha experiência, o monitoramento útil da utilização da memória do aplicativo Java depende da obtenção de dados da própria JVM, por meio de algo como o JMX (como por exemplo, jconsole
). No entanto, o Cloud Foundry parece não fornecer informações sobre onde o aplicativo está sendo executado. (Na verdade, encontrei algumas pessoas afirmando que o Cloud Foundry explicitamente não lhe contará essas informações.) E isso significa que não tenho onde conectar um cliente JMX.
Se eu quiser monitorar a utilização de memória dos meus aplicativos Java no Cloud Foundry, como devo fazer isso? Sinta-se à vontade para refutar qualquer uma das minhas reivindicações, se você souber melhor.
Consegui encontrar conexões diretas com as instâncias consultando o URL /routes
do Cloud Foundry .