New Relic es un sistema de monitorización en la nube, pero no es el típico servicio de monitorización remota de puertos o disponibilidad de aplicaciones, New Relic puede ser complementario a estos sistemas ya que monitoriza los recursos del servidor o servidores de turno de forma automática, sin casi ninguna configuración (sólo la instalación del agente) y permite controlar aplicaciones web de todo tipo (Java, PHP, Ruby, .Net, Python, etc.), carga de páginas, respuesta de la web, operaciones de la JVM, de SOLR, etc. A nivel de servidor podemos monitorizar los procesos, red, discos, etc. Además de fijar umbrales para el envío de alertas. La lista completa de características están aquí, no te las pierdas. Recuerda que ya hablé por aquí de cómo monitorizar otros aspectos de Alfresco con Nagios/Icinga y generar gráficas.
Antes de seguir estos pasos puedes registrarte en la web de New Relic, tienen diferentes tipos de cuentas en función de los servicios que queramos, hay una gratuita que es la que he usado para probar mi monitorización del servidor Alfresco que tengo para pruebas.
Por lo tanto, a continuación os voy a contar como instalar el agente para monitorizar un servidor, en mi caso en un servidor Linux (Redhat/Centos) instalando el agente mediante RPM y también como monitorizar Alfresco instalando el agente java en la aplicación. Si quieres saber como instalarlo en otros sistemas operativos o aplicaciones tienes muy buena información paso a paso aquí: https://newrelic.com/docs/server/new-relic-for-server-monitoring
Descargamos e instalamos la información del repo rpm de New Relic que nos permitirá instalar posteriormente el rpm del paquete para monitorizar el servidor:
[bash]
rpm -Uvh http://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm
[/bash]
Ahora instalamos el paquete de monitorización:
[bash]
yum install newrelic-sysmond
[/bash]
Añadimos a la configuración la llave de la licencia:
[bash]
nrsysmond-config –set license_key=que está en tu perfil de la web de New Relic
[/bash]
Arrancamos el servicio:
[bash]
/etc/init.d/newrelic-sysmond start
[/bash]
Podemos ver el log aquí:
[bash]
tail -f /var/log/newrelic/nrsysmond.log
[/bash]
La configuración se encuentra en /etc/newrelic/nrsysmond.cfg
Con el siguiente comando activamos el servicio en el arranque del servidor (para RedHat/Centos/Fedora):
[bash]
chkconfig newrelic-sysmond on
[/bash]
Hecho esto puedes ir a tu Dashboard en la web de New Relic (http://rpm.newrelic.com) y en la pestaña “Servers” ver el servidor que empieza a dibujar gráficas como las siguientes:
Recuerda que para que esto ocurra, el servidor debe tener acceso a internet para poder enviar los datos a los servidores de New Relic.
Ahora vamos a monitorizar la aplicación Alfresco. Desde la web de ayuda de New Relic se puede descargar el agente para cada lenguaje de programación, una vez descargado sube el fichero newrelic_agent2.5.zip al servidor, vamos a ver como instalarlo para Tomcat (del bundle que viene en el paquete de Alfresco por ejemplo):
Descomprimimos el agente Java:
[bash]
unzip /root/newrelic_agent2.5.zip
[/bash]
Nos vamos al directorio donde se encuentra el servidor de aplicaciones, en mi caso de Alfresco Enterprise pero es igual de válido para Community:
[bash]
cd /opt/alfresco-enterprise-4.0.0/tomcat/
[/bash]
Instalamos el agente java en Alfresco, recuerda ejecutar este comando desde dentro del directorio de Tomcat, para otros servidores mira la ayuda:
[bash]
# /opt/alfresco-enterprise-4.0.0/java/bin/java -jar /root/newrelic/newrelic.jar install
may 18, 2012 12:50:24 PM NewRelic INFO: Agent is using Log4j
***** ( ( o)) New Relic Java Agent Installer
***** Installing version 2.5.0 …
Backed up start script to /opt/alfresco-enterprise-4.0.0/tomcat/bin/catalina.sh.20120518_125024
Added agent switch to start script /opt/alfresco-enterprise-4.0.0/tomcat/bin/catalina.sh
No need to create New Relic configuration file because:
.:. A config file already exists: /opt/alfresco-enterprise-4.0.0/tomcat/newrelic/newrelic.yml
***** Install successful
***** Next steps:
You’re almost done! To see performance data for your app:
.:. Restart your app server
.:. Exercise your app
.:. Log into http://rpm.newrelic.com
Within two minutes, your app should show up, ready to monitor and troubleshoot.
If app data doesn’t appear, check newrelic/logs/newrelic_agent.log for errors.
[/bash]
Lee bien lo que te muestra la salida del comando de instalación, debes reiniciar el servidor de aplicaciones, luego vamos a http://rpm.newrelic.com y en unos minutos empezaremos a ver información muy útil sobre Alfresco en la pestaña “Applications” como se ve a continuación:
Si quieres ir un poco más allá con la monitorización de Alfresco, concretamente de Share puedes ver este interesantísimo artículo de Jan Pfitzner.
Hola Toni!
hace tiempo que no pasaba por aquí y he encontrado esta página a través de google casualmente. Keep pushing hard! 🙂
Hombre Fernando, cuanto tiempo!! A ver si nos vemos por Skype y nos hacemos un update! Saludos!!
Hola gracias por el articulo, está interesante, justo estoy buscando info sobre newrelic, me queda la siguiente duda: newrelic no te sirve si estas en un hosting compartido?, tendría que tener un VPS o servidor dedicado para usarlo?
Hola, podrías usarlo si en el hosting compartido puedes instalar el agente, pero igual eso es complicado.
Hola, muy interesante el artículo sobre New relic, siempre viene bien conocer nuevos sistemas de monitorización en nube.
En nuestro blog especializado en Application Performance y Seguridad tratamos también temas similares, por si os resulta de interés.
En cuanto a herramientas similares, nosotros conocemos ISM (http://ism.nextret.net/), un servicio también de monitorización de aplicaciones web, que simula el comportamiento de un usuario realizando testing de forma que se obtienen métricas de disponibilidad, tiempo de respuesta, etc. Muy recomendable! Saludos.