Ceci est une ancienne révision du document !
Afin de pouvoir mettre en place les règles pour les alertes, il faut au préalable avoir mis en place Prometheus. Pour profiter de plus de fonctionnalités, il est également possible de mettre en place “alertmanager” qui permet notamment de rediriger les alertes vers un chat, une adresse mail… tout en déterminant qu'il n'est pas nécessaire d'envoyer plus d'un certain nombre d'alertes pour éviter d'être noyé sous les alertes du même type.
Afin de mettre en place le système d'alerte basique, il faut d'abord créer un fichier dans lequel il faudra répertorier tout ce que l'on veut alerter. Ce dernier peut se situer où l'on souhaite, mais de le mettre dans le même dossier que celui où se situent le fichier de configuration “xxx.yml” de l'installation de Prometheus permettra de faciliter la configuration.
En effet, dans ce dernier, il faudra indiquer les différentes adresses IP des machines/matériels que l'on souhaite superviser, et donc recevoir des alertes en cas de problème. Dans ce dernier, il existe différents paramètres modifiables, mais celui qui va nous intéresser ici est la partie “scrape_configs”.
Dans cette dernière, on peut indiquer les machines “cibles” que l'on souhaite superviser en utilisant le paramètre “target”. On peut leur donner un “nom” à l'aide du paramètre “job_name” qui permet de facilement identifier d'où vient l'alerte. Un exemple de configuration type que l'on pourrait avoir dans ce fichier serait par exemple :
scrape_configs:
- job_name: xxx
static_configs:
- targets: ['xxx.xxx.xxx.xxx:xxx']
Après avoir mis en place cette partie, il faudra créer les différentes règles d'alerting en fonction de ce que l'on a besoin de savoir en priorité, que ça soit une surcharge du CPU, l'espace disque qui devient trop faible…
Pour se faire, il va d'abord falloir créer un fichier qui permettra de mettre en place toutes les règles qui seront récupérées par Prometheus. Le fonctionnement est semblable au fichier qui a été créé afin de faire fonctionner Prometheus. Tout d'abord, il va falloir créer un fichier dans lequel on va stocker nos alertes que l'on nommera de la manière que l'on veut (par exemple xxx.alerts.yml).
Il faut ensuite placer ce dernier au même endroit que celui pour Prometheus permettra de plus facilement configurer le système d'alertes, puisqu'il ne sera pas nécessaire d'indiquer le chemin complet pour accéder à ce dernier, mais uniquement son nom. Afin que Prometheus détecte ce dernier, il suffit d'ajouter dans le fichier xxx.yml les lignes suivantes :
rule_files: - "prometheus.alerts.yml"
Une fois ceci fait, il faudra rajouter des alertes dans ce fichier. En fonction des alertes voulues, le fichier variera. C'est pour cette raison qu'il peut être compliqué au premier abord. A l'aide de la documentation officielle de Prometheus (que l'on peut retrouver ici).
Chaque paramètre est un point très important de la configuration des alertes, c'est pour cette raison qu'il faut bien comprendre à quoi chacun correspond avant d'y apporter des modifications. On retrouve notamment les variables suivantes :
alert: xxx (qui représente le nom que l'on veut donner à l'alerte. Lors de la réception d'un mail ou d'un message dans un chat par exemple, il sera indiqué clairement d'où provient le problème et donc facilement et rapidement dépanner) expr: xxx < xxx (le paramètre qui déclenchera l'alerte si la condition est respectée, c'est à dire dans le cas si la variable que l'on indique est inférieur à la valeur que l'on a indiqué) for: xxm (le temps d'attendre avant de considérer que l'alerte doit être envoyé. Ce paramètre permet notamment d'éviter de recevoir une alerte pour une défaillance qui n'a durée que quelques secondes. Le temps indiqué peut être en secondes(s), en minutes(m) en fonction de ce qui est indiqué)
Cela permet donc de configurer les alertes sur Prometheus. Cependant, les alertes ne seront pas envoyées automatiquement par mail, par SMS ou même par un chat. Pour cela, il faudra installer et configurer un outil extérieur que l'on intégrera dans Prometheus et qui s'appelle “Alertmanager”.
La configuration d'Alertmanager étant une étape à part, une nouvelle page sera créée expliquant les différentes étapes à suivre afin de mettre en place cet outil.