cambiar a curso:   2017-18   2019-20


Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2018-19

Integración de monitorización a nivel de aplicación en un entorno Kubernetes


Tecnologías Específicas

Ingeniería de Computadores
 


Descripcion y Objetivos

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

 


Metodología y Competencias

Los pasos a seguir para alcanzar los objetivos anteriores son:

  1. Estudio y familiarización con Docker y Kubernetes

  2. Puesta en marcha de la plataforma de pruebas local (clúster virtual gestionado mediante Kubernetes, herramienta minikube)

  3. Estudio de la monitorización con Prometheus y la visualización con Grafana

  4. Selección, despliegue y estudio de una aplicación como caso de uso representativo

  5. Instrumentación de la aplicación para interactuar con Prometheus

  6. Despliegue de la aplicación monitorizada y visualización de métricas de interés en Grafana

La competencias de Ing. De Computadores que se van a poner en práctica en el desarrollo de este TFG son:

  • Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software para las mismas.

  • Capacidad de diseñar e implementar software de sistema y de comunicaciones.

 


Medios a utilizar

Medios software

Las diversas herramientas mencionadas en la descripción están disponibles como open source.

Medios hardware

No existen requisitos de medios hardware especiales, más allá de un PC o portátil.

 


Bibliografía

Página web de Docker: https://www.docker.com/. Último acceso: 4/10/2018.

Página web de Kubernetes: https://kubernetes.io/. Último acceso: 4/10/2018.

Tim Park, “Simple Kubernetes cluster metrics monitoring with Prometheus and Grafana”, Medium, URL: https://medium.com/@timfpark/simple-kubernetes-cluster-monitoring-with-prometheus-and-grafana-dd27edb1641. Noviembre, 2017.

 


Tutores


CARRIÓN ESPINOSA, CARMEN
CAMINERO HERRÁEZ, Mª BLANCA
 

Alumno


SÁNCHEZ ALDEGUER, JUAN FRANCISCO