...
Objetivo
Esta funcionalidad permitirá poder permite monitorizar el consumo individual y en conjunto de los notebooks y tener controles sobre los mismos en plataforma (pantallas UI de los notebooks), de modo que sea viable ver y controlar su estado para poder pararlos de forma correcta sobre la interfaz, poder ver . De esta forma podremos conocer el estado de cada Notebook, ver los procesos en ejecución, etc, etccontrolar el estado,…
Funcionamiento de los Notebooks
Para entender la funcionalidad de Monitorización es importante conocer algunos conceptos de los Noteooboks.
Modos de ejecución de notebooks
Los notebooks de plataforma , (basados en apache zeppelin, Apache Zeppelin) se ejecutan en base a intérpretes con diferentes configuraciones. De , de modo que un notebook, puede ejecutar intérpretes en diferentes modos.
En plataforma se contemplan 3 modos de ejecución de intérpretes en notebooks:
Shared → El proceso del intérprete, se comparte con todos los notebooks, de modo que no se pueden hacer ejecuciones paralelas del mismo notebook. El manager es el mismo para ese intérprete
Por notebook:
Scoped → El proceso del intérprete es común para todos los notebooks por lo tanto es un manager de varias ejecuciones
Isolated → El proceso del intérprete está separado también por notebook con lo que el manager sólo maneja un notebook
...
En base a esto, será el manager (proceso RemoteInterpreterServer) el encargado de reportar la información de métricas y ejecuciones a plataforma, independientemente de donde se ejecute.
Estructura de la monitorización
Se tendrán dos monitorizaciones que se complementan la una a la otra.Monitorización de consumo → esta han creado 2 monitorizaciones, ambas complementarias:
Métricas de recursos
Esta monitorización, almacenada en una entidad de tipo timeseries, tendrá tipo TimeSeries (notebooks_metrics_resources). A nivel intérprete, se sacan los procesos, tipo de intérprete (shared, scoped, isolated), si está asociado a un notebook y el consumo de CPU y RAM
Tiene un reporte periódico (configurable a nivel pod del módulode notebooks) y, por defecto, estará a 10 segundos. Se tendrán datos con clave el notebook-intérprete, ya que, según el tipo de ejecución aplicará uno u otro.
En intérpretes “shared“, será necesario cruzar con la entidad de monitorización para saber que notebook ha consumido el intérprete.Monitorización de ejecución → esta
...
Métricas de ejecución
Estas métricas (notebooks_metrics_executions) dan el detalle de ejecución de los párrafos que se ve el usuario, notebook, párrafo, intérprete...
Esta monitorización hará de “history“ de ejecuciones, se almacenará en una entidad propia y podrá ser desactivada si no se cree necesaria. Esta
Con esta monitorización, cruzada con la anterior, podremos saber el consumo real por párrafo.
...