Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Based on this, the manager (RemoteInterpreterServer process) will be in charge of reporting metrics and execution information to the platform, regardless of where it is executed.

Métricas disponibles

Se han creado 2 métricas, ambas complementarias:

Métricas de recursos

...

Available metrics

2 metrics have been created, both complementary:

Resource metrics

This monitoring, stored in a TimeSeries Entity (notebooks_metrics_resources). A nivel intérprete, se sacan los procesos, tipo de intérprete At the interpreter level, the processes, type of interpreter (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), por defecto, estará a 10 segundos.

En intérpretes “shared“, será necesario cruzar con la entidad de monitorización para saber que notebook ha consumido el intérprete.

...

Métricas de ejecución

Estas métricas whether it is associated with a notebook and the consumption of CPU and RAM are output.

It has a periodic report (configurable at the pod level of the notebook module), by default it will be 10 seconds.

In “shared” interpreters, it will be necessary to contact the monitoring entity to know which notebook the interpreter has consumed.

...

Execution metrics

These metrics (notebooks_metrics_executions) dan el detalle de ejecución de los párrafos que se ve el usuariogive the execution details of the paragraphs seen by the user, notebook, párrafoparagraph, intérpreteinterpreter...

Esta monitorización hará de “history“ de ejecuciones, se almacenará en una entidad propia y podrá ser desactivada si no se cree necesaria.

Con esta monitorización, cruzada con la anterior, podremos saber el consumo real por párrafo.

...

Reporte de Métricas

Para el reporte de métricas existen dos métodos:

...

This monitoring will act as a “history” of executions, it will be stored in its own entity and can be deactivated if it is not considered necessary.

With this monitoring, crossed with the previous one, we will be able to know the real consumption per paragraph.

...

Metrics Report

There are two methods for reporting metrics:

  • Push report from interpreter → through these environment variables (included in zeppelin-env.sh) se configura el acceso, vía digital client, a dos entidades sobre las que se insertarán las métricas anterioresaccess is configured, via digital client, to two entities on which the previous metrics will be inserted.

Code Block
languagebash
#### Monitor reporter zeppelin onesait platform ####
export ZEPPELIN_INTERPRETER_MONITORREPORTER_ENABLE=true
export ZEPPELIN_INTERPRETER_MONITORREPORTER_DIGITALCLIENT_HOST=https://development.onesaitplatform.com/iot-broker
export ZEPPELIN_INTERPRETER_MONITORREPORTER_DIGITALCLIENT_NAME=notebook_metrics_client
export ZEPPELIN_INTERPRETER_MONITORREPORTER_DIGITALCLIENT_INSTANCE=notebook_metrics_client_interpreter
export ZEPPELIN_INTERPRETER_MONITORREPORTER_DIGITALCLIENT_TOKEN=XXXXXXX
export ZEPPELIN_INTERPRETER_MONITORREPORTER_ENTITY_RESOURCES=notebook_metrics_resources
export ZEPPELIN_INTERPRETER_MONITORREPORTER_ENTITY_EXECUTIONS=notebook_metrics_executions
  • Reporte desde API Rest de zeppelin → a través de un nuevo api creado (tipo actuator) se puede conocer el consumo de todos los intérpretes (métrica de recursos). En este caso, no es posible obtener la métrica de ejecución al depender en si de la temporalidad de la misma.

...

...

  • Report from Zeppelin's Rest API → through a new api created (actuator type) you can know the consumption of all the interpreters (resource metric). In this case, it is not possible to obtain the execution metric as it depends on its timing.

...

There are several endpoints:

/api/interpreter/metrics/allobtener todos los recursos de los intérpretes de zeppelin así como su estado y consumoget all the resources of the zeppelin performers as well as their status and consumption

/api/interpreter/metrics/runningobtener todos los recursos de los intérpretes arrancados de zeppelin así como su estado y consumoget all the resources of the interpreters ripped from zeppelin as well as their status and consumption

/api/interpreter/metrics/notebook/{notebookId}obtener todos los recursos de los intérpretes de zeppelin para el notebook parametrizado así como su estado y consumoget all the resources of the zeppelin interpreters for the parameterized notebook as well as their status and consumption

/api/interpreter/metrics/running/notebook/{notebookId}obtener todos los recursos de los intérpretes arrancados de zeppelin para el notebook parametrizado así como su estado y consumoget all the resources of the interpreters started from Zeppelin for the parameterized notebook as well as their status and consumption

/api/interpreter/metrics/interpreter/{interpreterId}obtener todos los recursos del intérprete por get all interpreter resources by id (python, spark, onesaitplatform, …) así como su estado y consumo

Próximos pasos

...

Tener controles sobre los mismos en plataforma (UI de los notebooks) → poder usar los elementos anteriores en la UI de los notebooks para conocer los activos, poder pararlos de forma sencilla, etc, etc

...

Dashboard de visualización de métricas de forma sencilla

...

...) as well as their status and consumption

Next steps

  • Have controls over them in the platform (notebook UI) → be able to use the previous elements in the notebook UI to know the assets, be able to stop them easily, etc, etc.

  • Metrics visualization dashboard in a simple way

  • Limit the use of notebook processes by both RAM and CPU