martedì 24 luglio 2007

Come si fa ad usare TPTP di Eclipse per monitorare un server Tomcat remoto?

Come si fa ad usare TPTP di Eclipse per monitorare un server Tomcat remoto?

TPTP: Test and Performance Tools Platform (plugin di Eclipse)

1) Scaricare dal sito di ecplipse lo "Standalone Agent Controller" per il proprio computer remoto. Io, per un server Window 2003, ho scaricato agntctrl.win_ia32-TPTP-4.4.0.1.zip
2) Scompattare lo zip dove si vuole (da ora <>)
3) Entrare nella directory scompattata <>\bin\ con una shell ed eseguire SetConfig.bat (questo dipende dal sistema operativo, ovviamente)
4) Rispondere alle domande del setup, nel mio caso questo è l'output finale
Specify the fully qualified path of "java.exe" (e.g. c:\jdk1.4\jre\bin\java.exe):
Default>"C:\Program Files\Java\jre1.6.0_02\bin\java.exe" (Press to accept the default value)
New value>
Network access mode (ALL=allow any host, LOCAL=allow only this host, CUSTOM=list of hosts):
Default>"LOCAL" (Press to accept the default value)
New value>ALL
Security enabled. (true/false):
Default>"FALSE" (Press to accept the default value)
New value>
Please enter the JBoss Application Server Home:
Default>"" (Press to accept the default value)
New value>
Please enter the JOnAS Application Server Home:
Default>"" (Press to accept the default value)
New value>

La domanda "Security enabled." stabilisce se serve un'autenticazione per il server. Io ho messo false.
4a) Questo setup può essere eseguito quante volte si vuole.
4b) Per gli smanettoni, il file di configurazione è <>\config\serviceconfig.xml
5) Far partire il server: <>\bin\ACServer.exe. Una volta partito lo si lascia là tranquillo: ctrl+C per fermarlo oppure ACServer.exe shutdown da un'altra shell.
6) A questo punto bisogna configurare Tomcat. Le cose funzionano in modo diverso a seconda del jdk. Fino al jdk1.4 e dal jdk5 in poi. Di seguito riporto le modifiche da fare per chi usa il jdk1.4 o precedenti, mentre tra pararentesi quadre [] quelle per il jdk5.
6a) Bisogna aggiungere dei parametri a Tomcat: per chi ha installato Tomcat, bisogna lanciare il "Configure Tomcat" e nel tab Java aggiungere l'opzione -Xrunpiagent:server=enabled [-agentlib:JPIBootLoader=JPIAgent:server=standalone;CGProf:execdetails=true;HeapProf:allocsites=true;ThreadProf] tra le "Java Options:". Per chi invece ha solo scompattato lo zip, bisogna modificare il file di lancio di Tomcat, quello in cui vengono settati i parametri della JVM.
6b) Con questa opzione si ha lanciato il server in modalità "enabled" questo significa che dal plugin tptp di eclipse possiamo agganciarci per monitorare l'applicazione. Le informazioni vengono scambiate via rete con degli xml. Il server Tomcat comincerà a "rallentare" solo nel momento in cui ci si aggancia con un tool per monitoring, altrimenti le sue prestazioni non dovrebbero decadere molto. Volevo si può utilizzare l'opzione "server=standalone" in cui non ci si può agganciare con tool esterni, ma viene prodotto un file xml che poi viene analizzato dai tool. Per maggiori info sulla configurazione vedere il file getting_started.html nella directory <>. Ci sono delle differenze nella configurazione a seconda del jdk usato, ma nel file getting_started.html è tutto spiegato.
7) Lanciare Tomcat: a seconda del jdk bisogna settare delle variabili d'ambiente.
Fino al jdk1.4:
set PATH=%PATH%;<>\bin
Dal jdk5 in poi:
Set TPTP_AC_HOME=<>
Set JAVA_PROFILER_HOME=%TPTP_AC_HOME%\plugins\org.eclipse.tptp.javaprofiler
Set PATH=%JAVA_PROFILER_HOME%;%PATH%;%TPTP_AC_HOME%\bin
Poi basta lanciare Tomcat.
8) Se si ha lanciato il server con l'opzione enabled, ci si può attaccare da Eclipse con tptp.
8a) Cliccare sul menù "Run" e poi "Profile..."
8b) Andare su "Attach to Agent" e cliccare "New launch configuration"
8c) Rinominare il nome della configurazione se si vuole
8d) Cliccare sul pulsante "Add..." e inserire l'ip/hostname del server remoto (la porta dovrebbe già essere corretta 10002)
8e) Andare sul tab "Agents" e cliccare sul pulsante "Refresh"
8f) Dopo qualche secondo dovrebbe comparire tra gli agents disponibili il nostro tomcat: selezionarlo e cliccare sul "Profile" in basso a destra
8g) E ora.... divertitevi