Accueil Technologies Grafana – guide complet : créer une alerte pour suivre les événements sur son serveur
Guide Complet sur Grafana – Créer une alerte

Grafana – guide complet : créer une alerte pour suivre les événements sur son serveur

par Jérémy PASTOURET
Publié : Mis à jour le

Avant de vous lancer dans la création d’alerte, vous devez bien connaître votre base de données et avoir une idée précise de vos besoins. Par exemple : « J’ai envie de recevoir une alerte à chaque nouvelle inscription sur mon site. Quand cela se produit, je désire recevoir un mail ou être informé sur Slack« . En pré-requis, vous devez donc connecter un service tiers à Grafana (Slack ou Mail par exemple). Si ce n’est pas encore fait, je vous conseille de suivre ce tutoriel.

Créer un graphique d’alerte

Pour créer une alerte, commencez par vous positionner sur un tableau de bord. Soit vous en créez un, soit vous vous rendez sur un tableau de bord existant. A présent, vous devez créer un nouveau graphique. Sur l’axe X, nous retrouverons les jours (dates), et sur l’axe Y le volume de données à surveiller. Côté requête SQL, il faut formater les données en mode Time series avec une requête de ce type :

SELECT
$__time(:colonne_date),
COUNT(:colonne_interessante)
FROM :table
WHERE $__timeFilter(:colonne_date)
GROUP BY :colonne_date
ORDER BY :colonne_date;

Si vous reprenez mon exemple de base de données utilisé dans mon précédent article, vous devriez obtenir une requête similaire à celle-ci :

Grafana - ajout d'un graphique pour les alertes

Comme vous pouvez le constater ci-dessus, on obtient un graphique qui liste les achats par jour. Vous souhaitez suivre mon exemple ? Comme je suis sympathique, je vous propose la requête SQL copiable :

SELECT
$__time(transfer_date),
COUNT(transaction)
FROM land_registry_price_paid_uk 
WHERE $__timeFilter(transfer_date)
GROUP BY transfer_date
ORDER BY transfer_date;

Créer l’alerte Grafana

Cliquez sur l’onglet Alert puis Create Alert. Vous devriez obtenir le même résultat que moi :

Grafana - nouvelle alerte

Maintenant, sélectionnez la valeur count() dans la liste déroulante When. Dans la section « if no data or all values are null« , choisissez OK. Puis dans « if execution error or timeout », optez pour Alerting. Afin d’éviter de saturer la base de données, vous pouvez changer l’intervalle de temps correspondant à la vérification de votre requête. C’est-à-dire que vous pouvez demander à Grafana de teste la requête toutes les 300 secondes par exemple. Ce paramètre se règle dans la case « Evaluate every« .

Quelques explications concernant ces paramètres:

  • When : c’est la fonction qui va vous retourner une valeur. Pour moi, il est plus représentatif de jouer sur count puisqu’on compte les lignes. Ainsi, on peut détecter un nouvel utilisateur ou une nouvelle commande. Vous pouvez également jouer sur une moyenne. Par exemple, si la moyenne des notes attribuées à tous vos produits est inférieure à 3, il y a peut-être un souci. Sachez enfin que tous les opérateurs classiques utilisés avec un Group By (groupement) sont disponibles.
  • Is Above : permet de désigner une valeur au-delà de laquelle il faut faire attention. Dans le cas présent, nous voulons savoir si la valeur est supérieure à 0. En effet, le système compare le nouveau résultat avec celui obtenu lors d’une période précédente (ici, toutes les 5 minutes). Par exemple : il y a 5 minutes, il y avait 5 clients. 5 minutes plus tard, il y en a 11. La soustraction des deux donne 6, ce qui est supérieur à 0. Une alerte est donc envoyée. Si le nombre était resté à 5, la soustraction aurait donné 0 : aucune alerte n’aurait été envoyée.
  • if no data or all values are null : permet de dire à Grafana : « si tu reçois aucune valeur, ne déclenche pas d’erreur » (c’est le cas quand on lance un site web ou un service pour la première fois).
  • if execution error or timeout : par contre si la base de données renvoie une erreur, il faut déclencher une alerte.

Maintenant que la condition d’alerte est paramétrée, nous allons y associer un service qui a déjà été configuré.

Associer l’alerte à un service de messagerie

Grafana - Liaison de service avec une alerte

Cliquez sur le bouton Notifications, puis sur le petit +. A cet instant, une liste déroulante apparaît avec les services que vous avez configurés (e-mail, Slack…) au préalable. Pensez à personnaliser le message qui sera affiché. Et voilà, le tour est joué. Ainsi, quand vous recevrez une alerte, voici à quoi elle ressemblera :

Grafana - Alerte dans Slack

Conclusion

Vous savez désormais comment créer des alertes. Ainsi, vous éviterez d’être surpris quand quelqu’un vous informe que votre site web ne marche plus. Ou que la base de données ne répond plus. Si vous rencontrez des difficultés ou des cas particuliers, utilisez les commentaires ci-dessous. Dans le prochain article, je vous montrerai quelques fonctions avancées sur les widgets que l’on peut disposer dans les tableaux de bord.

Vous pourriez aussi aimer

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.