New Relic per monitorare in tempo reale le performance della propria applicazione web

Oggi dopo aver letto un post di Dries Buytaert (l'ideatore di Drupal) ho deciso di provare un interessante servizio offerto da New Relic per l'analisi della prestazioni delle proprie applicazioni PHP, Java e Ruby e .NET. La prima settimana di prova è gratuita e comprende un upgrade alla versione Gold (potreste dover attendere qualche ora prima di ricevere la mail di conferma per l'upgrade alla versione gold). I prezzi non sono economici, tuttavia esiste anche una versione free, piuttosto limitata nelle funzionalità a dire il vero, ma pur sempre interessante.

Il servizio nasce nell'ottica di monitorare i server in produzione, quindi può essere tranquillamente installato nelle VPS che ospitano i vostri siti web ed è costituito consta di un demone da installare in locale che invia i dati ad un server. E' per questo che è necessario effettuare la registrazione.

L'installazione può essere fatta tramite apt dopo aver aggiunto un nuovo repository alla lista dei sorgenti.

[filefield-description]

Il file di configurazione è in /etc/newrelic/newrelic.cfg e deve essere editato inserendovi la chiave di licenza che si può reperire sul sito. Dopo aver inserito la chiave, sarà sufficiente far ripartire il demone:

sudo /etc/init.d/newrelic-daemon

E quindi ricaricare la configurazione di Apache:

sudo /etc/init.d/apache2 reload

Vi è anche un file di configurazione PHP in /etc/php5/conf.d/newrelic.ini, ma inizialmente ho lasciato tutti i parametri di default.

Su Ubuntu Server 8.04 LTS la cartella di installazione dell'estensione newrelic.so sembra sbagliata; è possibile accorgersi del problema sia verificando con phpinfo() che il modulo non viene caricato, sia consultando il file di log degli errori di PHP

[17-Dec-2010 17:41:09] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613+lfs/newrelic.so' - /usr/lib/php5/20060613+lfs/newrelic.so: cannot open shared object file: No such file or directory in Unknown on line 0

Il file newrelic.so viene installato in diverse cartelle

[filefield-description]

per differenti versioni di PHP, tranne in quella corretta, che dovrebbe essere /usr/lib/php5/20060613+lfs. Potete verificare la cartella in cui PHP cerca le estensioni (e quindi la corretta versione da utilizzare per il vostro PHP) con il comando:

php -i | grep extension_dir

La creazione di un link simbolico risolve il problema:

sudo ln -s /usr/lib/php5/20060613/newrelic.so /usr/lib/php5/20060613+lfs/newrelic.so

Basta ricaricare la configurazioen di Apache per abilitare il modulo

sudo /etc/init.d/apache2 reload

e verificare con phpinfo() che sia stato effettivamente caricato:

[filefield-description]

Una volta che l'estensione verrà caricata, sarà possibile visualizzare i risultati nella home del vostro account su newrelic.com una volta che vi sarete loggati.

[filefield-description]