Ce TP ne requiert pas de nouvelle branche, il se fait dans l'interface Grafana
Accéder à Grafana à l'adresse https://lab.aws.octo.training/grafana/alerting.
L'identifiant est collectif à tous les formés : admin
.
Le mot de passe vous sera communiqué par le formateur.
NB : Le formateur a créé une connection à la postgresql de monitoring :
Afin de créer une alerte, nous allons créer un point de contact dans Grafana.
Dans le cadre de ce TP, nous allons utiliser un webhook disponible au sein de notre infrastructure de TP.
Contact points
dans la section Alerting
Add contact point
name
, fixer un nom unique webhook_<votreprenom>
Integration
, il est possible de s'intégrer à un serveur mail (SMTP), teams, slack, etc. Choisir dans le menu déroulant webhook
.Test
pour vérifier que vous recevez bien le mailSave contact point
.NB : Si le save ne marche pas, c'est peut-être qu'un autre formé a sauvegardé en même temps, réessayer plusieurs fois.
Maintenant que Grafana sait comment vous contacter, nous allons configurer quand vous contacter.
Nous allons créer une règle pour déclencher des alertes.
Alert rules
dans la section Alerting
Create alert rule
1 Set an alert rule name
, donner lui un nom : alert_prenom
2 Set a query and alert condition
:now-5m to now
(Last five minutes) : nous allons nous intéresser uniquement aux 5 dernièresGroup
, les données vont être groupées par datetimeTable
, renseigner monitoring_sells_forecast
column
, sélectionner 2 colonnes : inference
et datetime
. Pour inference
, choisir Aggregationmin
Group by col
, grouper selon datetime
Threshold
, choisir is below9000
Preview
pour voir les alertes. Si aucun point ne s'affiche, retourner dans le Swagger pour demander une prédiction.age = 100
devrait permettre de la déclencher).alert evaluation behavior
, nous allons configurer un groupe d'alertes et la durée au bout de laquelle elle seFolder
, choisir add_new
et lui donner le nom alert_folder_prenom
Evaluation group
, renseigner alert_evaluation_group_prenom
Evaluation interval
, choisir every 30s
(doit être un multiple de 10s). Il s'agit de la fréquence d'évaluation de l'alerte, il sera commun à toutes les alertes de cet Evaluation group
for
, choisir 30s
, c'est le délai pendant lequel le seuil doit être dépassé pour déclencher une alerteNB : Dans la "vraie" vie, les noms choisis seront explicites !
Notifications
, Labels
, Choose key
, taper trainee
Choose value
, indiquer votre prénomSave and exist
Nous venons de créer une alerte. Il faut maintenant définir un envoi de mail pour cette alerte.
Notification policies
dans la section Alerting
New nested policy
trainee=prenom
Contact Point
, renseigner webhook-prenom
Maintenant, nous allons chercher à avoir une alerte.
Dans la vue Alert rule
, votre alerte apparaît comme normale :
Aller dans le Swagger et faire une requête (par exemple avec age=100
) pour avoir une prédiction sous le seuil.
Attention, nous sommes tous sur la même table de monitoring des inférences, le comportement des autres formés peut avoir un impact sur vous.
Pour vous isoler, vous pouvez renommer la table de monitoring dans source/infrastructure/database_monitoring_handler
dans la variable MONITORING_SELLS_FORECAST
.
Retourner dans alert rules
et vérifier que votre alerte devient pending
(c'est-à-dire a dépassé le s
euil, mais sur une durée inférieure à 30s)
Attendre un peu, elle va apparaître firing
Vérifier que vous avez bien reçu le mail d'alerte.
En attendant le reste du groupe, vous pouvez créer une alerte sur l'âge.
Les instructions du TP suivant sont ici