Installazione e configurazione accesso JavaMelody in Tomcat

In questo post vedremo insieme come sia facilmente possibile installare un tool di monitoraggio per le nostre applicazioni Java eseguite attraverso il servlet Tomcat.

JavaMelody (https://github.com/javamelody/javamelody/wiki) è un’utility di monitoraggio di applicazione Java. Si tratta di un tool che ha lo scopo di misurare e calcolare statistiche su reali operazioni effettuate attraverso un’applicazione Java.

JavaMelody, tra le altre cose, è in grado di monitorare:

  • il numero di esecuzioni ed il tempo di esecuzione di ogni singola richiesta http
  • utilizzo della memoria da parte di Java
  • utilizzo della CPU da parte di Java
  • numero di sessioni degli utenti
  • numero di connessioni jdbc

Il tutto è corredato da completi grafici che ci rendono perfettamente l’idea di come sta elaborando le richieste la nostra applicazione.

L’installazione di JavaMelody è decisamente banale. E’ sufficiente scaricare dal sito del progetto i file java-melody.jar e jrobin-x.jar e copiare gli stessi nella directory WEB-INF/lib dell’applicazione da monitorare.

Attualmente le versioni dei due jar sono rispettivamente:

javamelody-1.60.0.jar
jrobin-1.5.9.jar

Una volta copiati i due file è necessario effettuare il deploy degli stessi riavviando la nostra applicazione. Successivamente è sufficiente collegarsi all’indirizzo:

http://<host>/<context>/monitoring (dove context è il nome della nostra applicazione) per visualizzare la pagina di JavaMelody, simile alla seguente:

java_melody
In questo momento l’interfaccia di JavaMelody viene visualizzata senza alcun controllo sull’accesso. Questo è uno scenario che può essere gestito in ambienti di test, ma sicuramente non può esserlo in ambienti di produzione, in quanto dall’interfaccia di JavaMelody è possibile per esempio resettare tutte le sessioni della nostra applicazione.

Per aggiungere un’autenticazione di base (user/password) per l’accesso a JavaMelody è necessario editare il file WEB-INF/web.xml della nostra applicazione e aggiungere, prima del tag </web-app>:

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Monitoring</realm-name>
</login-config>
<security-role>
<role-name>monitoring</role-name>
</security-role>
<security-constraint>
<web-resource-collection>
<web-resource-name>Monitoring</web-resource-name>
<url-pattern>/monitoring</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>monitoring</role-name>
</auth-constraint>
</security-constraint>

Con queste righe indichiamo a Tomcat di utilizzare un’autenticazione di tipo BASIC per la url /monitoring della nostra applicazione, attraverso un nuovo ruolo (monitoring), che dobbiamo associare, nel file conf/tomcat-users.xml della nostra installazione di Tomcat, ad un utente:

<user username=”tomcat” password=”xxxxxxxxx” roles=”manager-gui,manager-script,manager-jmx,manager-status,monitoring”/>

Riavviamo la nostra applicazione e riproviamo ad accedere. Ora all’accesso ci verrà chiesto di inserire un utente ed una password.

Buon monitoraggio!

Be Sociable, Share!

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *