Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors, HP Printing and Computing, Marín Tordera, Eva, Gamero Ramón, Raúl, Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors, HP Printing and Computing, Marín Tordera, Eva, and Gamero Ramón, Raúl
Este trabajo se ha realizado con la empresa HP Inc., y surge de la necesidad de rediseñar el sistema de monitorización de una infraestructura de máquinas en un entorno de integración continua. El objetivo es conseguir una mayor automatización, portabilidad y escalabilidad del sistema, minimizando así la intervención manual y adaptándose mejor a mayores volúmenes de datos y dispositivos. El proyecto define el sistema actual y los problemas que este presenta y, después de un estudio de las diferentes posibles soluciones, detalla la solución propuesta adaptándose a los requerimientos del nuevo sistema. La solución propuesta y posteriormente desarrollada, se basa en la tecnología Zabbix, y consta de un servidor de monitorización que almacena y analiza los datos enviados por los hosts, las máquinas que conforman el sistema y que se quieren monitorizar. Tanto la creación del servidor, como la inserción de los hosts en el sistema, se realiza mediante el uso de Ansible, tecnología que permite la automatización completa de la tarea. La recolección de datos se ha realizado mediante la monitorización de ítems de las máquinas del sistema, como la carga de CPU o el estado de los servicios que ejecutan. Para ello, se han utilizado ítems preestablecidos por Zabbix y también se ha desarrollado un ciclo de desarrollo que permite crear ítems personalizados. Zabbix ofrece una interfaz gráfica para la configuración del sistema y la visualización de los datos recopilados por el servidor. Para acceder a esta interfaz, se ha implementado una autenticación automática mediante el uso de LDAP y el correo corporativo, consiguiendo la creación y mantenimiento automático de usuarios dentro del sistema sin necesidad de hacerlo manualmente. Finalmente, mediante el uso de Webhooks, se ha implementado un sistema automatizado para el envío de alertas cuando los datos monitorizados muestren valores anormales o críticos. En conclusión, el proyecto ha logrado implementar una solución completa y eficaz, Aquest treball s’ha realitzat amb l’empresa HP Inc., i sorgeix de la necessitat de redissenyar el sistema de monitorització d’una infraestructura de màquines en un entorn d’integració continua. L’objectiu es assolir una major automatització, portabilitat i escalabilitat del sistema, minimitzant així la intervenció manual i adaptant-se millor a majors volums de dades i dispositius. El projecte defineix el sistema actual i els problemes que presenta i, després d’un estudi de les diferents possibles solucions, detalla la solució proposada adaptant-se als requeriments del nou sistema. La solució proposada i posteriorment desenvolupada, es basa en la tecnologia Zabbix, i consta d'un servidor de monitoratge que emmagatzema i analitza les dades enviades pels hosts, les màquines que conformen el sistema i que es volen monitorar. Tant la creació del servidor, com la inserció dels hosts al sistema, es realitza mitjançant l'ús d'Ansible, tecnologia que permet l'automatització completa de la tasca. La recol·lecció de dades s'ha realitzat mitjançant la monitorització d'ítems de les màquines del sistema, com ara la càrrega de CPU o l'estat dels serveis que executen. Per això, s'han utilitzat ítems preestablerts per Zabbix i també s'ha desenvolupat un cicle de desenvolupament que permet crear ítems personalitzats. Zabbix ofereix una interfície gràfica per a la configuració del sistema i la visualització de les dades recopilades pel servidor. Per accedir a aquesta interfície, s'ha implementat una autenticació automàtica mitjançant l'ús de LDAP i el correu corporatiu, aconseguint la creació i el manteniment automàtic d'usuaris dins del sistema sense necessitat de fer-ho manualment. Finalment, mitjançant l'ús de Webhooks, s'ha implementat un sistema automatitzat per enviar alertes quan les dades monitorades mostrin valors anormals o crítics. En conclusió, el projecte ha aconseguit implementar una solució completa i eficaç per a la monitorització de la infraestructura de màquines en u, This project has been done with the enterprise HP Inc., and appears from the necessity to redesign the monitoring system of an IT infrastructure in a continuous integration environment. The objective is to improve the automation, portability and scalability of the system, thus minimizing manual intervention and making it adapt better to larger volumes of data and devices. The project defines the current system and the problems it presents and, after a study of the different possible solutions, details the proposed solution adapting to the requirements of the new system. The solution proposed and developed is based on Zabbix technology and consists of a monitoring server that stores and analyzes the data sent by the hosts, the machines that are part of the system and that needs to be monitored. Both the creation of the server and the insertion of the hosts into the system, are being done using Ansible, a technology that allows the automation of tasks. Data collection has been carried out by monitoring items on the system machines, such as the CPU load or the status of the services they run. For this, pre-established items by Zabbix have been used and a development cycle has also been developed that allows creating personalized items. Zabbix offers a graphical interface for the configuration of the system and to view the data collected by the server. To access this interface, automatic authentication has been implemented using LDAP and corporate email, achieving the automatic creation and maintenance of users within the system. Finally, through the use of Webhooks, an automated system has been implemented to send alerts when the monitored data shows abnormal or critical values. In conclusion, the project has managed to implement a complete and effective solution for monitoring an IT infrastructure in a continuous integration environment, achieving the established objectives.