Sistema de monitorización de servidores y servicios en infraestructuras de investigación

Bookmark (0)
Please login to bookmark Close

Este Trabajo de Fin de Grado presenta el diseño e implementación de un sistema de monitorización y visualización para la infraestructura de servidores y servicios del grupo de investigación OEG (Ontology Engineering Group) de la Universidad Politécnica de Madrid. El objetivo principal ha sido desarrollar una solución que permita la supervisión en tiempo real del rendimiento de los sistemas, la detección temprana de problemas y el envío de alertas automáticas cuando se alcanzan valores críticos en las métricas clave, facilitando así una gestión proactiva y eficiente de los recursos. El sistema propuesto utiliza un stack tecnológico compuesto por Telegraf, InfluxDB y Grafana, herramientas ampliamente utilizadas en entornos de monitorización debido a su flexibilidad y capacidad de personalización. Telegraf se configuró como el agente de recolección de métricas, capturando información detallada sobre el uso de CPU, la memoria, el almacenamiento, la disponibilidad de servicios web y estado de los servicios Docker mediante peticiones HTTPEn nuestro proyecto manejamos series de datos temporales, y estas métricas se almacenan en InfluxDB, una base de datos de series temporales especialmente diseñada para manejar grandes volúmenes de datos que se actualizan constantemente. Por último, Grafana se empleó como herramienta de visualización, permitiendo el diseño de paneles interactivos y dinámicos que muestran las métricas en tiempo real de manera intuitiva. Uno de los aspectos destacados del sistema es el diseño y configuración de dashboards personalizados en Grafana, que permiten visualizar las métricas agrupadas por tipo de servicio o servidor. Se crearon dashboards específicos para monitorizar servidores individuales, servicios web y contenedores Docker, cada uno adaptado a las necesidades específicas del grupo de investigación. Estos paneles incluyen gráficas detalladas que facilitan la interpretación de los datos y permiten identificar rápidamente cualquier anomalía en el sistema. El sistema de alertas configurado en Grafana constituye otra pieza clave del proyecto. Este sistema permite establecer umbrales para cada métrica relevante y notifica automáticamente por correo electrónico cuando se alcanzan estos valores, gracias a la configuración de un servidor SMTP. Esta funcionalidad asegura que el equipo de administración pueda reaccionar de manera oportuna ante situaciones críticas, minimizando así el impacto de posibles fallos en el servicio. Para garantizar la replicabilidad del sistema, se elaboró una guía completa de instalación y configuración que abarca desde la descarga e instalación de las herramientas hasta la creación y personalización de dashboards y alertas. Esta documentación no solo facilita la futura implementación del sistema en otros entornos, sino que también proporciona las instrucciones necesarias para ampliar el sistema con nuevas métricas o servidores. En resumen, este trabajo ha desarrollado una infraestructura de monitorización robusta, flexible y escalable que proporciona al grupo de investigación OEG una herramienta efectiva para supervisar el estado de sus sistemas y anticiparse a posibles problemas. La capacidad de personalización de los paneles y la rapidez en la detección de incidencias mediante alertas automáticas son características clave que aportan un valor significativo a la gestión de los recursos tecnológicos del grupo.
ABSTRACT
This Bachelor’s Thesis focuses on the design and implementation of a monitoring and visualization system for the infrastructure of servers and services at the Ontology Engineering Group (OEG) of the Polytechnic University of Madrid. The main objective was to develop a solution capable of real-time performance monitoring, early problem detection, and automatic alert generation when critical thresholds are reached, thus enabling proactive and efficient resource management. The proposed system leverages a technological stack composed of Telegraf, InfluxDB, and Grafana, which are widely used tools in monitoring environments due to their flexibility and high customization potential. Telegraf was configured as the data collection agent, gathering detailed information on CPU usage, memory consumption, storage utilization, Docker status and service availability through HTTP requestsIn our project, we work with timeseries data, and the collected metrics are stored in InfluxDB, a time-series database specifically designed to handle large volumes of frequently updated data. Finally, Grafana was employed as the visualization platform, enabling the creation of interactive and dynamic dashboards that display real-time metrics in an intuitive manner. One of the key components of the system is the set of customized dashboards created in Grafana, which provide clear and organized visualization of metrics by service type or server. Specific dashboards were designed for monitoring individual servers, web services, and Docker containers, each tailored to the specific needs of the research group. These dashboards feature detailed graphs that facilitate data interpretation and allow for quick identification of any anomalies in the system. Another significant element of the project is the alert system implemented in Grafana. This system allows the definition of thresholds for each relevant metric and sends automatic email notifications when these values are exceeded, using an SMTP server configuration. This functionality ensures that the administration team can respond promptly to critical situations, minimizing the potential impact of system failures. To ensure the replicability of the system, a comprehensive installation and configuration guide was developed. This guide covers everything from downloading and installing the tools to creating and customizing dashboards and alerts. The documentation not only facilitates future deployment of the system in different environments but also provides the necessary instructions for expanding the system with new metrics or servers. In conclusion, this project has developed a robust, flexible, and scalable monitoring infrastructure that offers the OEG research group an effective tool for supervising the status of their systems and anticipating potential problems. The high level of customization of the dashboards and the rapid incident detection through automatic alerts are key features that significantly enhance the management of the group’s technological resources.

​Este Trabajo de Fin de Grado presenta el diseño e implementación de un sistema de monitorización y visualización para la infraestructura de servidores y servicios del grupo de investigación OEG (Ontology Engineering Group) de la Universidad Politécnica de Madrid. El objetivo principal ha sido desarrollar una solución que permita la supervisión en tiempo real del rendimiento de los sistemas, la detección temprana de problemas y el envío de alertas automáticas cuando se alcanzan valores críticos en las métricas clave, facilitando así una gestión proactiva y eficiente de los recursos. El sistema propuesto utiliza un stack tecnológico compuesto por Telegraf, InfluxDB y Grafana, herramientas ampliamente utilizadas en entornos de monitorización debido a su flexibilidad y capacidad de personalización. Telegraf se configuró como el agente de recolección de métricas, capturando información detallada sobre el uso de CPU, la memoria, el almacenamiento, la disponibilidad de servicios web y estado de los servicios Docker mediante peticiones HTTPEn nuestro proyecto manejamos series de datos temporales, y estas métricas se almacenan en InfluxDB, una base de datos de series temporales especialmente diseñada para manejar grandes volúmenes de datos que se actualizan constantemente. Por último, Grafana se empleó como herramienta de visualización, permitiendo el diseño de paneles interactivos y dinámicos que muestran las métricas en tiempo real de manera intuitiva. Uno de los aspectos destacados del sistema es el diseño y configuración de dashboards personalizados en Grafana, que permiten visualizar las métricas agrupadas por tipo de servicio o servidor. Se crearon dashboards específicos para monitorizar servidores individuales, servicios web y contenedores Docker, cada uno adaptado a las necesidades específicas del grupo de investigación. Estos paneles incluyen gráficas detalladas que facilitan la interpretación de los datos y permiten identificar rápidamente cualquier anomalía en el sistema. El sistema de alertas configurado en Grafana constituye otra pieza clave del proyecto. Este sistema permite establecer umbrales para cada métrica relevante y notifica automáticamente por correo electrónico cuando se alcanzan estos valores, gracias a la configuración de un servidor SMTP. Esta funcionalidad asegura que el equipo de administración pueda reaccionar de manera oportuna ante situaciones críticas, minimizando así el impacto de posibles fallos en el servicio. Para garantizar la replicabilidad del sistema, se elaboró una guía completa de instalación y configuración que abarca desde la descarga e instalación de las herramientas hasta la creación y personalización de dashboards y alertas. Esta documentación no solo facilita la futura implementación del sistema en otros entornos, sino que también proporciona las instrucciones necesarias para ampliar el sistema con nuevas métricas o servidores. En resumen, este trabajo ha desarrollado una infraestructura de monitorización robusta, flexible y escalable que proporciona al grupo de investigación OEG una herramienta efectiva para supervisar el estado de sus sistemas y anticiparse a posibles problemas. La capacidad de personalización de los paneles y la rapidez en la detección de incidencias mediante alertas automáticas son características clave que aportan un valor significativo a la gestión de los recursos tecnológicos del grupo.
ABSTRACT
This Bachelor’s Thesis focuses on the design and implementation of a monitoring and visualization system for the infrastructure of servers and services at the Ontology Engineering Group (OEG) of the Polytechnic University of Madrid. The main objective was to develop a solution capable of real-time performance monitoring, early problem detection, and automatic alert generation when critical thresholds are reached, thus enabling proactive and efficient resource management. The proposed system leverages a technological stack composed of Telegraf, InfluxDB, and Grafana, which are widely used tools in monitoring environments due to their flexibility and high customization potential. Telegraf was configured as the data collection agent, gathering detailed information on CPU usage, memory consumption, storage utilization, Docker status and service availability through HTTP requestsIn our project, we work with timeseries data, and the collected metrics are stored in InfluxDB, a time-series database specifically designed to handle large volumes of frequently updated data. Finally, Grafana was employed as the visualization platform, enabling the creation of interactive and dynamic dashboards that display real-time metrics in an intuitive manner. One of the key components of the system is the set of customized dashboards created in Grafana, which provide clear and organized visualization of metrics by service type or server. Specific dashboards were designed for monitoring individual servers, web services, and Docker containers, each tailored to the specific needs of the research group. These dashboards feature detailed graphs that facilitate data interpretation and allow for quick identification of any anomalies in the system. Another significant element of the project is the alert system implemented in Grafana. This system allows the definition of thresholds for each relevant metric and sends automatic email notifications when these values are exceeded, using an SMTP server configuration. This functionality ensures that the administration team can respond promptly to critical situations, minimizing the potential impact of system failures. To ensure the replicability of the system, a comprehensive installation and configuration guide was developed. This guide covers everything from downloading and installing the tools to creating and customizing dashboards and alerts. The documentation not only facilitates future deployment of the system in different environments but also provides the necessary instructions for expanding the system with new metrics or servers. In conclusion, this project has developed a robust, flexible, and scalable monitoring infrastructure that offers the OEG research group an effective tool for supervising the status of their systems and anticipating potential problems. The high level of customization of the dashboards and the rapid incident detection through automatic alerts are key features that significantly enhance the management of the group’s technological resources. Read More