New Relic: uno strumento di monitoraggio in tempo reale per applicazioni Java

New Relic è uno strumento molto interessante e innovativo per il monitoraggio in tempo reale di applicazioni Java, Ruby, Php, .NET e Python. Ne ho testato la versione lite, che consente di avere caratteristiche di monitoraggio base senza scadenze temporali.

La prima caratteristica interessante di questo strumento consiste nel fatto che il server che colleziona i dati di monitoraggio e li espone tramite interfaccia web è gestito esternamente, e l’unica cosa di cui ci si deve preoccupare è l’installazione del client che invierà i dati. Personalmente ho eseguito l’installazione del client su un Apache Tomcat, e devo ammettere che la procedura è stata molto semplice.

Di seguito la procedura per installare il client di monitoraggio di New Relic su un Apache Tomcat:

  1. iscrivetevi gratuitamente sul sito di New Relic al seguente indirizzo: http://newrelic.com/signup
  2. scaricate il pacchetto di installazione del client che vi serve (nel mio caso l’agent per Apache Tomcat)
  3. scompattate il pacchetto in una directory del server su cui è installato il Tomcat; nel mio caso si trattava di un server con sistema operativo Linux, in cui il servizio Tomcat era configurato per essere eseguito come utente ‘tomcat’; ho quindi scompattato l’agent nel path /home/tomcat/newrelic assicurandomi che l’utente tomcat avesse accesso in lettura e scrittura a tale directory;
  4. modificate il file newrelic.yml assegnando un valore alla property ‘Application Name’ ( app_name ) che sia descrittivo del sistema che dovete monitorare; in un momento successivo potrete analizzare le molte configurazioni presenti, che vi consentono di limare secondo le vostre preferenze lo strumento;
  5. modificate la variabile d’ambiente JAVA_OPTS presente nello script di startup del servizio Apache Tomcat, piuttosto che nel file setenv.sh o direttamente in catalina.sh sotto la sua bin di installazione, inserendo la seguente configurazione -javaagent:/path/to/newrelic.jar che nel mio caso era -javaagent:/home/tomcat/newrelic/newrelic.jar
  6. avviare (o riavviare) il servizio Apache Tomcat

Noterete che nel path di installazione del agent è comparsa una directory logs con al suo interno alcuni file con nome newrelic_agent.log*, in cui avete visibilità sulle operazione del agent:

ambtest1:/home/tomcat/newrelic/logs# cat /home/tomcat/newrelic/logs/newrelic_agent.log

NewRelic INFO: Writing to New Relic log file : /home/tomcat/newrelic/logs/newrelic_agent.log
NewRelic INFO: Configuration file is /home/tomcat/newrelic/./newrelic.yml
NewRelic INFO: java.util.logging.LogManager class is org.apache.juli.ClassLoaderLogManager
NewRelic WARNING: The apdex_t setting is obsolete and is ignored! Set the apdex_t value for an application in New Relic UI
NewRelic INFO: The New Relic Agent v2.0.2 has started
NewRelic INFO: Initializing Apache Tomcat system sampler
NewRelic INFO: Collector redirection to collector-1.newrelic.com:80
NewRelic INFO: Agent 17530@ambtest1 connected to collector-1.newrelic.com:80
NewRelic INFO: The agent received 2 url normalization rule(s)
NewRelic INFO: Real user monitoring is enabled with auto instrumentation
NewRelic INFO: Transaction traces will be sent to New Relic
NewRelic INFO: Errors will be sent to New Relic
NewRelic INFO: Agent is configured to send obfuscated SQL to New Relic

A questo punto le operazioni lato client sono terminate, e non vi resta che attendere qualche minuto per consentire l’attivazione della console di monitoraggio. Una volta che i dati cominceranno a popolare i grafici, avrete la possibiltà di verificare varie caratteristiche del vostro server, il comportamento delle singole richieste che perveranno ai vostri applicativi, eventuali picchi di carico, e una mail riassuntiva settimanale con un riassunto dell’andamento. I seguenti grafici si riferiscono alla versione lite, che racchiude un numero limitato di caratteristiche ma resta comunque gratuita a tempo indeterminato. Nella pagina dei prezzi potete verificare quali sono le altre possibilità offerte dallo strumento, come le notifiche in caso di problemi reali o potenziali o l’analisi degli errori.

New Relic – Time Spent in Database Processing

New Relic – Time Spent In DOM Processing

New Relic – Time Spent In JVM Processing

New Relic – Time Spent In Network Processing

New Relic – Time Spent In Rendering Processing

New Relic – Web Transactions

 

New Relic – Weekly Performance Metrics

 

Lascia un commento