¿Cuáles son los pros y los contras de la supervisión del rendimiento del servidor sin agente frente al basado en agente?

Todas las soluciones de monitoreo serias (comerciales o de código abierto) que se me ocurran utilizan el monitoreo basado en agentes. Hoy en día es posible tener agentes con muy poca sobrecarga de CPU y memoria. También hay herramientas para la automatización de la implementación, que ayudan a automatizar la implementación de agentes en nuevos servidores / aplicaciones. Aquí hay algunas cosas que puede hacer con la supervisión basada en agentes, que realmente no puede hacer con la supervisión sin agentes:

  • Rastreo de transacciones (vea un Rastreo de transacciones para la detección de cuellos de botella de rendimiento para ver un ejemplo de eso)
  • Creación de perfiles (consulte Creación de perfiles Java a petición para ver un ejemplo de eso)
  • Mapas de aplicaciones (vea Introducción a AppMap para lo que quiero decir)
  • Recopilación de registros (consulte Logsene para ver un ejemplo y Death to APM y Logging Silos para ver por qué es útil recopilar registros junto con las métricas)

Si utiliza la supervisión sin agente, debe permitir el acceso al servidor / aplicaciones desde el exterior, lo que no siempre es posible o deseable. Espero que esto ayude.

Creo que el argumento histórico de que un agente es difícil de instalar y mantener ya no es válido para la solución moderna de monitoreo basada en agentes que se integra bien con las herramientas de gestión de configuración como Puppet, Chef, etc. El agente puede instalarse y configurarse correctamente como parte. del proceso de implementación, que tiene la ventaja adicional de que, en entornos dinámicos, las nuevas instancias de servidor se instrumentan y monitorean automáticamente. Por lo tanto, esto se está convirtiendo en una ventaja sobre las soluciones sin agente que tienen que depender del autodescubrimiento u otras técnicas, que generalmente son más difíciles de acertar.

En lo que respecta a la sobrecarga, esto depende en gran medida de lo que esté haciendo el agente. Obviamente, la instrumentación de código de bytes agregará una sobrecarga adicional, pero quizás no siempre sea necesaria en los entornos de producción. En CoScale, desarrolló un agente muy ligero en Google Go con un mínimo de huellas de memoria y CPU y sin dependencias locales.

Un argumento final para una solución basada en agentes es que, por lo general, también está disponible como SaaS. Si el agente solo inicia conexiones externas (y no en la otra dirección), posiblemente a través de un proxy, y lo hace de manera segura y encriptada, esto es generalmente aceptable. Lo que más le preocupa a la gente es tener que aceptar conexiones externas a sus servidores, por lo que esto normalmente excluye que las soluciones sin agente sean SaaS.

Los servidores de monitoreo, las aplicaciones, las bases de datos se han vuelto muy cruciales. Pero con el tiempo, los sistemas de monitoreo basados ​​en agentes están en desventaja debido a la complejidad involucrada con los agentes. En muchos casos, no es recomendable instalar varios programas en máquinas críticas sin un proceso de evaluación exhaustivo. También estos agentes requieren un alto mantenimiento. Además de esto, un problema importante asociado con la herramienta de supervisión de servidores basada en agentes es que la implementación se vuelve muy difícil y masiva a medida que aumenta la cantidad de servidores.

Algunas ventajas de la supervisión del servidor sin agente son:

1. Fácil de implementar

2. Bajo coste de instalación.

3. No consume recursos adicionales.

Hay varias herramientas de monitoreo de servidores sin agente disponibles, por ejemplo: Monyog para obtener información en tiempo real, monitoreo de métricas de rendimiento, sistema de alertas y paneles interactivos. Las herramientas sin agente ayudan a monitorear de forma remota el servidor junto con una instalación fácil.

Tanto el monitoreo basado en agente como el sin agente tienen sus beneficios:

1. En términos de implementación: la supervisión sin agente es más fácil de implementar en comparación con la basada en agentes. En la supervisión basada en agentes, los agentes deben implementarse en cada servidor.

2. Red de sobrecarga: la supervisión sin agente requiere tráfico de red adicional, ya que los datos de rendimiento sin procesar se transportan a un recolector de datos remoto. Mientras que la supervisión basada en agentes es eficiente en el ancho de banda porque los datos se recopilan localmente.

Lea más detalles de comparación en el monitor basado en agente versus sin agente.

En mi opinión, elegir de acuerdo a la necesidad y los recursos en la mano. Si tienes suficiente ancho de banda, ve a Agentless Monitor.

Hola,

Hicimos una investigación sobre el tema y a continuación se muestran las diferencias entre el Monitoreo de Agentes y los Sin Agentes.

En caso de estar interesado, aquí está la investigación completa sobre cómo decidir entre
Monitoreo de Activos de TI sin Agente

Espero que esto ayude.

Un agente que ingresa cada 5 minutos para recopilar algunas métricas proporciona un monitoreo bastante limitado.

Estoy desarrollando netdata: ¡monitoreo de rendimiento en tiempo real, hecho correctamente! (fuente abierta).

netdata recopila miles de métricas por servidor, por segundo.

Antes de netdata, estaba monitoreando mis servidores con zabbix. Una vez que instalé netdata en ellos, me di cuenta de que varios servidores tenían bastantes problemas inadvertidos: presiones de la memoria TCP, presiones de la CPU de los softirqs, conexiones rechazadas en el pico debido a la poca acumulación de conexiones TCP, cuellos de botella de E / S en el pico, búferes de anillo de las tarjetas de red desbordados, y docenas más.

La idea general es recopilar métricas que le permitirán ser proactivo. La mayoría de los sistemas NMS (y especialmente los que no tienen agente) recopilan métricas muy básicas y activan alarmas cuando es demasiado tarde para evitar un fallo.

Esto es solo mi opinión, así que tómalo con un grano de sal. Quiero decir, no esperes algo respaldado por toneladas de datos y muchas estadísticas; es justo lo que aprendí trabajando con el monitoreo sin agente y “agente lleno” durante algunos años. E incluso eso puede estar mal 🙂

Para mí, los puntos a tener en cuenta para decidir a favor o en contra de los agentes son:

  • Disponibilidad de agente en la plataforma monitoreada: a veces no tiene un agente para lo que está monitoreando, por lo que no hay que tomar una decisión. Es decir, electrodomésticos de caja negra.
  • Posibilidad de instalación en la plataforma supervisada: a veces, incluso si hay un agente disponible, no puede instalarlo por razones técnicas o de políticas. Es decir, tal vez al DBA no le guste nada “extraño” instalado en el servidor principal de DB; O tal vez la administración del dispositivo monitoreado pertenece a otro departamento o empresa, por lo que no puede tocarlo.

Entonces, si hay un agente disponible para el dispositivo monitoreado y no hay obstáculos para instalarlo, ¿lo usaría? Seguro. Por lo general, los agentes proporcionan un monitoreo más detallado de lo que puede hacer sin agentes. Y si no lo hacen, será mejor que elijas otro sistema de monitoreo.

Puedo compartir mi propia experiencia sobre herramientas de monitoreo. No importa si son agentes o sin agentes. Funcionan de la misma manera. En este momento estoy usando una herramienta de monitoreo de agentes para toda la infraestructura de TI que se llama Anturis (Servicio de Monitoreo Basado en la Nube para Servidores y Sitios Web, Monitoreo de Infraestructura de TI), y no puedo aceptar que un agente tome algunos recursos. No veo ninguna diferencia entre la herramienta, ya que antes utilizábamos una solución sin agente. Todo depende de la herramienta y de cómo se haya desarrollado. Si el desarrollador de la compañía fue serio y trabajador, crearon una herramienta confiable y fácil de usar.