Hoy en día, el desarrollo y despliegue de aplicaciones basadas en contenedores es una práctica cada vez más común. Así mismo, dada la complejidad de muchos despliegues, con múltiples contenedores involucrados (por ejemplo, en arquitecturas basadas en microservicios), hace muy necesario el uso de herramientas de orquestación de los mismos.
Así, el contexto donde se plantea este TFG es el de un entorno basado en aplicaciones desplegadas en contenedores Docker y orquestadas mediante Kubernetes. Kubernetes se encarga de desplegar la aplicación (que suele estar basada en uno o varios contenedores), monitorizar su "estado de salud" para reiniciarla en caso de fallo y gestionar el escalado de la misma, entre otras cosas.
A Kubernetes se le puede habilitar un módulo de monitorización basado en Prometheus, que envía los datos a Grafana para su visualización. Por defecto, Prometheus funciona a nivel de la infraestructura (nodos, estructuras propias de Kubernetes...). Sin embargo, no dispone de herramientas que permitan monitorizar parámetros específicos de una aplicación.
El objetivo general de este TFG es obtener métricas específicas de la aplicación e integrarlas en el sistema de monitorización y visualización de Kubernetes, basado en Prometheus y Grafana
Este objetivo general se desglosa en los siguientes objetivos parciales:
-
Estudio y despliegue de la plataforma y herramientas: Docker, Kubernetes, Prometheus y Grafana
-
Instrumentación de una o varias aplicaciones representativas como casos de estudio
-
Visualización de métricas de interés a nivel de aplicación en Grafana