Usted trabaja en el rendimiento de su software. Pero seamos realistas: la producción es donde el caucho se encuentra con la carretera. Si su aplicación es lenta o falla, entonces nada más importa.
¿Está monitoreando sus aplicaciones en producción? ¿Ves errores y problemas de rendimiento a medida que ocurren? ¿O solo los ves después de que los usuarios se quejan? Peor aún, ¿nunca oyes hablar de ellos?
¿Qué herramientas tiene implementadas para el seguimiento de problemas de rendimiento? ¿Puedes seguirlos de vuelta a su fuente?
Hoy estamos hablando de herramientas de monitoreo de servidores.

¿Necesita supervisión del servidor?

Sin un software que administre sus aplicaciones críticas en tiempo real, no tiene visibilidad, y quizás esté perdiendo clientes. Después de todo, cuando un usuario encuentra una aplicación que no responde, se van.
Cuando hablamos de monitoreo de rendimiento de la aplicación (APM), estamos hablando de una competencia central crítica. El tiempo medio de recuperación (MTTR) es una métrica crucial para los proveedores de servicios web. Y así es imposible mantener su MTTR bajo control sin las herramientas adecuadas.
Hay una gran cantidad de paquetes de herramientas de monitoreo del servidor y sus ofertas de APM varían ampliamente. Los diferentes paquetes tienen ventajas y desventajas, y la selección del producto correcto puede ser difícil.
Entonces, ¿cuál se adapta mejor a su infraestructura? Para ayudarlo a decidir, hemos reunido una lista de sus cinco mejores opciones. Vamos a comparar sus características y sus pros y sus contras. Con suerte, te irás sabiendo cuál es el adecuado para tu empresa.

1. Plataforma Integrada de Raygun

La plataforma de Raygun es una herramienta de monitoreo de servidor.
Raygun ofrece una solución integrada. Con él, puede ver una imagen completa de la salud de su sistema en un solo lugar. Cuando integras la plataforma de Raygun en tu aplicación, puedes monitorear tu pila de software desde tu servidor. Y eso significa hasta a cada uno de sus usuarios individuales.

Herramientas de gestión del rendimiento de la aplicación

El APM de Raygun le brinda datos en tiempo real y tendencias sobre el rendimiento del servidor y también sobre la experiencia del usuario. También puede ver los datos de carga de su página en tablas de llamas APM en el tablero principal de Raygun. Los gráficos son líneas de tiempo navegables que puede usar para identificar cuellos de botella en el rendimiento. Al mismo tiempo, también tienes rastros de pila para cargas de página y otras actividades. Estos están disponibles como árboles de llamadas, similares a los que se encuentran en un perfilador tradicional.
Eso no es todo. La APM de Raygun presume de una estrecha integración con GitHub. Enlaza los seguimientos de llamadas directamente a los archivos de origen en el repositorio. Debido a que puede hacer una referencia cruzada de los problemas de rendimiento directamente al código, pasará menos tiempo aislando y reparando problemas. Actualmente, las herramientas de APM solo admiten GitHub, pero las interfaces para GitLab y Bitbucket estarán disponibles pronto. Además, el APM de Raygun ofrece un sistema de detección incorporado. Crea problemas procesables, en tiempo real, para problemas que impactan la experiencia del usuario final. Cada problema contiene un flujo de trabajo que los miembros del equipo de DevOps pueden usar para resolver esos problemas.
Raygun APM actualmente trabaja con servidores .NET. El soporte para otros lenguajes como Java y Ruby vendrá pronto.

Software de monitoreo de servidor

Raygun le proporciona informes de bloqueos y monitoreo de usuarios reales. Estas dos herramientas trabajan juntas para proporcionar una cobertura completa de la salud del servidor y la experiencia del usuario.
Los informes de fallos de Raygun se integran en el software del servidor. Captura diagnósticos completos de errores. Eso incluye rastreos de pila, métodos / funciones, nombres de clase, versiones de SO y otros detalles relevantes. Y la consola también agrupa múltiples apariciones del mismo problema. Esa agrupación hace que sea más fácil para usted informar y resolver errores comunes.
Puede acceder a la información del fallo a través de un sistema de informes robusto. Este sistema es personalizable, lo que le permite filtrar fechas, versiones de software, grupos de errores, nombres de clase, métodos y más. Crash Reporting también admite una lista exhaustiva de lenguajes y marcos. Estamos hablando angular, Reaccionar, Ember , .NET, Android , Java , PHP , y muchos más.
Real User Monitoring es exactamente lo que su nombre implica. Raygun te permite monitorear todas las sesiones de usuario en tiempo real. Tanto el rendimiento como la duración de la sesión están disponibles, y pueden desglosarse por agente de usuario.
Raygun muestra la información de la sesión en gráficos en cascada con "puntos de acceso" resaltados, enfatizando las oportunidades de mejora. Y el panel de control configurable muestra información completa para cada sesión. Eso significa que tendrá informes de fallos, estadísticas de la duración de la sesión e información sobre la carga lenta de componentes y páginas, lo que facilita el aislamiento de errores.

2. monitis

Captura de pantalla de la página de inicio de Monitis.
Monitis es una oferta de SaaS que tendrá su monitoreo en funcionamiento en minutos. Le proporciona planes personalizados basados ​​en la cantidad de nodos en su red y el tipo de monitoreo que desea.
Monitis se centra principalmente en la red tradicional y en el monitoreo del sistema operativo del servidor. El monitoreo de la aplicación es posible a través del raspado de registros y su API. Puede usar la API para reportar estadísticas a la consola Monitis, pero agregar esta integración significa que necesitará escribir código para ello.

Herramientas de monitorización de servidores de Monitis

Monitis tiene agentes nativos para monitorear servidores Linux y Windows. Los agentes pueden informar sobre la memoria, el almacenamiento, la red y los agentes, y pueden hacerlo tan a menudo como una vez por minuto.
El sistema también puede monitorear los archivos de registro para detectar errores y mensajes de texto específicos. Si bien el agente supervisará los registros del sistema, los registros de las aplicaciones requieren un "complemento" de registro adicional.

Monitoreo del rendimiento de la aplicación

Monitis puede monitorear aplicaciones web basadas en Java a través de scripts JMeter. Y las herramientas de monitoreo del servidor ejecutarán esos scripts en intervalos de 15 minutos. Pero hay un inconveniente potencial aquí: no hay soporte para el monitoreo continuo de aplicaciones.
Sin embargo, si necesita soporte para plataformas e idiomas distintos de Java, no se preocupe. Monitis tiene SDK propietarios para Perl, Python, PHP, Ruby y C #. Con estas interfaces, puede publicar estadísticas para gráficos y alertas para el sistema de monitoreo. Naturalmente, esto requiere definir el esfuerzo de desarrollo de estadísticas.
El monitoreo real del usuario de Monitis realiza un seguimiento de las vistas de la página, los tiempos de carga de la página, el rendimiento de construcción de la página y otras estadísticas del usuario. Pero solo soporta clientes del navegador. Si está buscando soporte para aplicaciones móviles, tendrá que buscar en otra parte.

3. Zabbix

Captura de pantalla de la página de inicio de Zabbix.
Zabbix es una plataforma de monitoreo de código abierto, y puede descargarla e instalarla usted mismo. Si lo desea, Zabbix puede incluso consultar con usted, creando una solución llave en mano para sus necesidades. Tienen una oferta de SaaS basada en la nube en versión beta, pero aún no tiene soporte comercial.

Monitoreo del servidor Zabbix

Zabbix soporta una amplia variedad de infraestructuras de servidor. Dependiendo de la topología de su red, se configurará a sí mismo a través del "descubrimiento automático". Encontrará esta capacidad útil para el hardware del servidor y la infraestructura de red. Pero la mayoría de las plataformas de servidor requieren configuración adicional. Algo más a tener en cuenta: Zabbix tiene un agente de sistema operativo que puede configurarse para el monitoreo de algunas aplicaciones. Las herramientas del servidor Zabbix detectan problemas a través de raspado de registros y monitores de red.

Monitoreo de rendimiento de aplicaciones Zabbix

Al igual que Monitis, Zabbix proporciona una API para agregar monitoreo y métricas a su aplicación. Sin embargo, su API es un conjunto de puntos finales REST en el servidor Zabbix. El soporte REST significa independencia de la plataforma y el idioma, lo que es bueno. Sin embargo, la carga recae en el cliente para definir los criterios de monitoreo e implementar los flujos de datos.
Zabbix también puede monitorear aplicaciones Java a través de JMX con su Java Gateway. Pero no hay soporte nativo para otras plataformas o idiomas. En lugar de rastrear a los usuarios, Zabbix puede emular uno a través de solicitudes web definidas por el usuario. Los usuarios definen las solicitudes y los criterios de respuesta. Estos criterios pueden incluir la velocidad de descarga, el tiempo de respuesta, el código de respuesta HTTP y la aparición de una cadena en los resultados de la consulta. Puede programar las solicitudes de intervalos predefinidos.
Con Zabbix, tenga en cuenta que no hay soporte explícito para clientes móviles. Zabbix solo puede rastrear clientes móviles que realizan solicitudes web o REST. No puede recopilar características de rendimiento para diferentes navegadores.

4. Nueva reliquia

Captura de pantalla de la página de inicio de New Relic.New Relic es una plataforma de monitoreo de servidores y APM basada en la nube.

APM con nueva reliquia

Con las herramientas APM de New Relic, dispondrás de instrumentación automática para Java, Node.js y muchos otros lenguajes. Pero si eres una tienda .NET, ten cuidado, no es compatible. New Relic monitorea usuarios web y móviles. Pero proporciona las capacidades en dos módulos distintos. Esto significa instalaciones, configuraciones y facturación separadas. Francamente, si busca simplicidad, entonces New Relic podría no ser el camino a seguir. Son seis productos diferentes con licencias y costos individuales.

Herramientas de monitoreo del servidor de New Relic

Las herramientas de monitoreo del servidor registran excepciones en un panel de control junto con gráficos para errores y tasas de error. Sin embargo, solo puede ver las excepciones en los seguimientos de pila. No encontrarás enlaces al código fuente de control. El monitoreo del servidor de New Relic requiere un agente que publique datos en sus sistemas. Estos sistemas proporcionan agentes para las principales distribuciones de Linux y las versiones recientes de Microsoft Windows Server. Una posible desventaja a tener en cuenta: si los agentes no se pueden instalar en un sistema, no se pueden monitorear. Y como New Relic tiene diferentes maneras de manejar cada producto e idioma, es posible que esté agregando complejidad a las implementaciones.

5. Datadog

Captura de pantalla de la página de inicio de Datadog.
Datadog es otro servicio de monitoreo de SaaS para aplicaciones e infraestructura. Es compatible con la supervisión del rendimiento de las aplicaciones web. Pero su enfoque principal es el monitoreo del sistema.

Monitorización de rendimiento de aplicaciones de Datadog

Datadog supervisa los servidores a través de un agente de código abierto. Para Linux y Windows, Datadog empaqueta al agente con un "agente de rastreo" que agrega capacidades de APM. Al igual que en New Relic, las plataformas que no pueden instalar el agente se limitan a registrar raspado. Además del agente, deberá instrumentar sus aplicaciones para habilitar el rastreo. Datadog solo admite Golang, Java, Python y Ruby. Varios otros idiomas tienen bibliotecas no compatibles. Puede usar la consola de administración para rastrear aplicaciones instrumentadas que se ejecutan en sistemas con el agente de Datadog. Tenga en cuenta que Datadog no admite el seguimiento continuo. El sistema solo almacena muestras periódicas de la actividad de la aplicación.

Software de monitoreo del servidor de Datadog

El enfoque inicial de Datadog fue el monitoreo de infraestructura. Como era de esperar, la plataforma soporta muchas integraciones de infraestructura. Sin embargo, como mencioné anteriormente, solo puede monitorear los hosts del servidor donde está instalado su agente. Con eso, vamos a hablar de algunas desventajas de Datadog. Para estar seguro, pone un gran énfasis en las métricas y el monitoreo en tiempo real. Pero encontrará que las capacidades de generación de informes de Datadog son limitadas, al menos cuando lo compara con otros productos. No hay informes en tiempo real, solo históricos. Y las opciones para personalizarlos son limitadas. Otra cosa a tener en cuenta es que Datadog es un sistema complicado con una curva de aprendizaje empinada. Es posible que deba invertir mucho tiempo y esfuerzo antes de poder utilizarlo en todo su potencial.

¿Qué proveedor es el adecuado para usted?

Seleccionar las herramientas de monitoreo del servidor correctas es importante, pero eso ya lo sabía. Lo que realmente necesitaba aprender era las mejores herramientas disponibles para usted, completas con sus pros y sus contras. Como viste, cada plataforma tiene sus ventajas y desventajas. Pero una cosa es segura. Si no está supervisando sus servidores y utilizando APM, entonces se está quedando atrás de sus competidores.