Saltear al contenido principal

Monitoreo: Python de pila completa – Lenguaje Python

Las herramientas de monitoreo capturan, analizan y muestran información para la ejecución de una aplicación web. Cada aplicación tiene problemas que surgen en todos los niveles de la pila web. Las herramientas de monitoreo brindan transparencia para que los desarrolladores y los equipos de operaciones puedan responder y solucionar problemas.

Contrata a un experto en Python para iniciar tu proyecto hoy mismo:

¿Por qué es necesario el seguimiento?

La captura y el análisis de datos sobre su entorno de producción es fundamental para abordar de forma proactiva la estabilidad, el rendimiento y los errores en una aplicación web.

Diferencia entre monitoreo y registro

La supervisión y el registro son muy similares en su propósito de ayudar a diagnosticar problemas con una aplicación y ayudar en el proceso de depuración. Una forma de pensar en la diferencia es que el registro ocurre en función de eventos explícitos, mientras que el monitoreo es una recopilación pasiva de datos en segundo plano.

Por ejemplo, cuando ocurre un error, ese evento se registra explícitamente a través del código en un controlador de excepciones. Mientras tanto, un agente de supervisión instrumenta el código y recopila datos no solo sobre la excepción registrada, sino también sobre el desempeño de las funciones.

Esta distinción entre tala y monitoreo es vaga y no necesariamente la única forma de verla. De manera pragmática, ambos son útiles para mantener una aplicación web de producción.

Supervisión de capas

Hay varios recursos importantes para monitorear en el sistema operativo y el nivel de red de una pila web.

  1. Utilización de CPU
  2. Utilización de la memoria
  3. Almacenamiento de persistencia consumido versus gratuito
  4. Ancho de banda y latencia de la red

La supervisión del nivel de aplicación abarca varios aspectos. La cantidad de tiempo y recursos dedicados a cada aspecto variará en función de si una aplicación tiene mucha lectura, mucha escritura o está sujeta a cambios rápidos en el tráfico.

  1. Advertencias y errores de la aplicación (errores HTTP de nivel 500)
  2. Rendimiento del código de la aplicación
  3. Tiempo de renderizado de la plantilla
  4. Tiempo de renderizado del navegador para la aplicación
  5. Rendimiento de consulta de base de datos

Proyectos de monitoreo de código abierto

  • Centinela comenzó su vida como un proyecto de monitoreo solo de Python, pero ahora se puede usar para cualquier lenguaje de programación.
  • Servicio Canary
  • ping.gg (código fuente)
  • miradas
    (código fuente)
  • statsd es un demonio de red de node.js que escucha las métricas y las agrega para transferirlas a otro servicio como Graphite.
  • Grafito almacena datos de series de tiempo y los muestra en gráficos a través de una aplicación web Django.
  • Sensu es un marco de monitoreo de código abierto escrito en Ruby pero aplicable a cualquier aplicación web de lenguaje de programación.
  • Explorador de gráficos by Vimeo es un panel de control basado en Graphite con funciones adicionales y un diseño elegante.
  • Munin es un sistema de monitoreo basado en complementos de cliente que envía el tráfico de monitoreo al nodo Munin donde los datos se pueden analizar y visualizar. Tenga en cuenta que este proyecto está escrito en Perl, por lo que Perl 5 debe instalarse en el nodo que recopila los datos.
  • Bucky mide el rendimiento de una aplicación web desde los navegadores del usuario final y envía esos datos al servidor para su recopilación.

Servicios de monitorización alojados

El software de monitoreo alojado elimina la carga de implementar y operar el software usted mismo. Sin embargo, el monitoreo alojado cuesta (a menudo una cantidad significativa) dinero y le quita los datos de la aplicación de sus manos, por lo que estos servicios no son los adecuados para cada proyecto.

Seguimiento de errores

  • Barra antivuelco instrumentos tanto del lado del servidor como del lado del cliente para capturar y reportar excepciones. los
    pirollbar La biblioteca de código proporciona una integración rápida para las aplicaciones web de Python. También hay instrucciones específicas para marcos web comunes como Django y Pyramid.
  • Centinela es la versión alojada de la herramienta de código abierto que se utiliza para monetizar y respaldar un mayor desarrollo.

Supervisión del rendimiento de aplicaciones (APM)

  • Nueva Reliquia proporciona monitoreo de aplicaciones y bases de datos, así como complementos para capturar y analizar datos sobre otras herramientas de desarrollo en su pila, como Twilio.
  • Opbeat Construido para django. Opbeat combina métricas de rendimiento, seguimiento de versiones y registro de errores en un solo servicio simple.
  • Explorar supervisa el rendimiento de las aplicaciones Django y Flask, las vistas de instrumentación automática, las consultas SQL, las plantillas y más.

Páginas de estado

  • Status.io se centra en el tiempo de actividad y la transparencia de las métricas de respuesta para las aplicaciones web.
  • StatusPage.io (sí, hay un Status y StatusPage.io) proporciona páginas de estado de fácil configuración para monitorear el tiempo de actividad de la aplicación.

Administracion de incidentes

  • PagerDuty alerta a una persona o grupo designado si hay problemas de estabilidad, rendimiento o tiempo de actividad con una aplicación.

Supervisión de recursos

Seguimiento de la lista de verificación del aprendizaje

  1. Revise las herramientas de monitoreo de software como servicio y de código abierto a continuación. Los servicios de terceros tienden a ser más fáciles de configurar y alojar los datos por usted. Los proyectos de código abierto le brindan más control, pero deberá tener servidores adicionales listos para el monitoreo.
  2. Mi recomendación es instalar Nueva ReliquiaOpción gratuita con el período de prueba para ver cómo funciona con su aplicación. Le dará una buena idea de las capacidades de las herramientas de monitoreo a nivel de aplicación.
  3. A medida que su aplicación escale, eche un vistazo a la configuración de uno de los proyectos de monitoreo de código abierto, como StatsD con Graphite. La combinación de esos dos proyectos le dará un control detallado sobre las métricas del sistema que está recopilando y visualizando.
  4. ¿Necesitas ayuda para revisar el código de tu proyecto?



Esta entrada tiene 0 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Volver arriba