Pour ce TP, utilisez la branch 8_starting_monitoring :
git checkout 8_starting_monitoring
Sur cette branche, il y a maintenant :
formation_indus_ds_avancee/monitoring.py qui contient 2 fonctions monitor_with_io et monitortests/test_unit/test_monitoring.py qui teste la fonction monitor_with_iodags/predict.py qui exécute le monitoring.Dans le fichier formation_indus_ds_avancee/monitoring.py, créez une fonction monitor qui retournera la valeur de
votre choix à monitorer.
Retourner un data frame avec deux colonnes :
Datetime | Une valeur aggrégée par run (exemple : moyenne) |
Cette valeur sera enregistrée dans la DB PostgreSQL grâce à la fonction monitor_with_io associée à une tâche Airflow.
Mettre à jour le test unitaire dans tests/test_unit/test_monitoring.py pour qu'il soit vert.
Spécifier la table PostgreSQL dans laquelle enregistrer les valeurs à monitorer
Dans le fichier dags/config.py, définir la constante MONITORING_TABLE_NAME avec un nom unique différent de celui des
autres participants. Cette table sera désormais alimentée par la tâche monitor d'Airflow.
Une fois cela fait, retirer du fichier .github/worflows/ci.yml la
ligne continue-on-error: true # Task is expected to fail (there is a test that trainee will fix" qui permettait
d'éviter à la CI de fail, même si vous n'avez pas fait cette modification.
Relancer Airflow et le DAG de prédiction
La tâche monitor devrait s'exécuter. Il nous faut désormais créer un dashboard de suivi des valeurs renvoyées par
notre fonction.
Nous souhaitons maintenant afficher nos valeurs monitorées dans Grafana à partir de la table PostgreSQL.
https://lab.aws.octo.training/grafana et se connecter avec l'identifiant admin et leNous allons ajouter une Data Source de type PostgreSQL et spécifier les paramètres suivants :

Il vous suffit de cliquer sur New dashboard > Add Query, et de spécifier la connexion et la table PostgreSQL
(personnelle) créées lors des étapes précédentes.