Amazon Elastic BeanStalk Ebextension – Come attivare il monitoraggio jmx di Tomcat

In questo articolo vedremo come configurare una webapp su Amazon Elastic BeanStalk per attivare il monitoraggio JMX su Apache Tomcat sfruttando uno script di configurazione di ebextensions.

amazon-web-services

 

 

 

 

Il seguente script, jmx-remote.config, inserito dentro la directory ebextension, consente di attivare il monitoraggio JMX su Tomcat. Oltre allo script, è necessario copiare altri due file:

  • la libreria catalina-jmx-remote, che trovate sul sito di Apache Tomcat;
  • il file server.xml da sostituire a quello di Apache Tomcat

Ricordo che gli script di configurazione vanno formattati secondo le regole di YAML

Lo script di configurazione è il seguente:

container_commands:

copy-jmx-jar:

command: cp .ebextensions/catalina-jmx-remote.jar /usr/share/java/tomcat7/

replace-tomcat-server-xml:

command: cp .ebextensions/server.xml /etc/tomcat7/server.xml

Il file server.xml è lo stesso che trovare di default sul server al path /etc/tomcat7/server.xml con l’aggiunta del listener Jmx Remote:

<!– REMOTE JMX –>

<Listener className=”org.apache.catalina.mbeans.JmxRemoteLifecycleListener”

rmiRegistryPortPlatform=”10001″ rmiServerPortPlatform=”10001″ />

 

Una volta attivato il jmx per il monitoraggio, sarà necessario attivare un tunnel ssh verso la posta 10001 per potersi poi collegare con un tool come Jvisualvm.

 

Download: [download id=”10″]

 

 

Lascia un commento