Outils pour utilisateurs

Outils du site


sysadmin

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
sysadmin [2020/01/31 16:38] – [Ressources] lpierisysadmin [2020/01/31 17:34] – [Gestion des utilisateurs] lpieri
Ligne 25: Ligne 25:
   * L'outil qui va récupérer les données formatées et les afficher dans des tableaux de bord   * L'outil qui va récupérer les données formatées et les afficher dans des tableaux de bord
  
 +=== Formater et mettre à disposition les données ===
 +
 +Le premier outil se nomme Promethéus, c'est une time series database.
 +
 +**Une Time Series DataBase est une base de données optimisée pour le stockage de données horodatées**
 +
 +C'est l'outil qui va stocker les information que l'on souhaite récolter à propos du serveur et les mettre à disposition pour d'autres outils.
 +
 +{{:what-does-prometheus-do-1024x610.png?800|}}
 +
 +Il permet d'accéder aux données via des requêtes comme sur une base de données classique.
 +
 +=== Récolter les données ===
 +
 +Prometheus fonctionne avec des exporter. Ce sont des outils qui récolter les données d'un serveur ou d'un service et les enregistrer dans Prometheus. Il en existe de nombreux pour tous types d'applications (MySQL, NodeJS, Nginx, Linux...)
 +
 +[[https://prometheus.io/docs/instrumenting/exporters/|Liste d'exporters]]
 +
 +=== Alerter ===
 +
 +Prometheus possède un système d'alarme et de notification lorsqu'un comportement identifié se déroule pendant une période trop longue. Ce système se nomme AlertManager. Il fonctionne grâce à des règles qui définissent le comportement à observer (requête Prometheus), la période avant que l'alarme se déclenche, le canal de notification (E-mail, Slack...) et enfin les destinataires.
 +
 +[[https://awesome-prometheus-alerts.grep.to/|Listes d'alertes préconfigurées en fonction d'exporters]]
 +
 +=== Afficher les données ===
 +
 +Enfin, il est intéressant d'afficher ces données sous la forme de dashboards pour avoir un rapide aperçu de la santé du système. Pour cela, on utilise Grafana.
 ===== Ressources ===== ===== Ressources =====
  
Ligne 73: Ligne 100:
   * Les permissions qui lui sont attribuées directement   * Les permissions qui lui sont attribuées directement
   * Toutes les permissions si il est **Grafana Admin**   * Toutes les permissions si il est **Grafana Admin**
 +
 +===== Gestion des alarmes =====
 +
 +Comme expliqué plus haut, les alarmes sont gérées par AlertManager.
 +
 +AlertManager récupère les alertes remontées par Prometheus et les dispatche au personnes concernées. Il est aussi capable de mettre en silence certaines alertes et d'en regrouper d'autres pour ne pas inonder les boites de réception. Par exemple : l’hébergeur subit une coupure d’électricité, toutes les instances ne fonctionnent plus. Si une alerte doit être déclenchée à chaque fois qu'une instance n'est plus accessible, alors Alermanager n'enverra qu'un e-mail indiquant toutes les instances inaccessibles.
 +
 +[[https://blog.debugo.fr/tuto-monitoring-prometheus-partie-4-alertmanager/|Installation et configuration d'AlertManager]]
 +
 +Le fichier de configuration global d'AlertManager se trouve **/etc/alertmanager/alertmabager.yml**, il contient : 
 +  * les informations de connexions au serveur smtp
 +  * la liste des destinataires des alertes
 +  * la configuration du silence et du regroupement des alertes
 +
 +La configuration des alertes en elle-mêmes est rédigée dans le dossier **/etc/prometheus/alerting_rules/*_rule.yml**. La convention veut que les fichiers des règles portent le nom du groupe auxquels ils appartiennent puis **_rule.yml**.
 +
 +Dans ces fichiers sera décrit : 
 +  * le groupe
 +  * le nom de l'alerte
 +  * la requête prometheus qui va identifier le comportement déclenchant l'alerte
 +  * le temps avant que l'alerte soit déclenchée
 +  * un label pour identifier la sévérité de l'alerte (page, warning, high, critical...)
 +  * un sommaire et une description : c'est ce qu'on retrouvera dans la notification
 +
 +Plusieurs alertes peuvent-être configurées dans un même fichier, à condition qu'elles fassent parties du même groupe. 
 +
 +2 alertes ont déjà été configurées : 
 +  * une alerte si le serveur dev n'est plus accessible pendant plus d'une minute.
 +  * une alerte si le disque du serveur dev possède moins de 5% de capacité libre pendant plus de une minute.
 +
 +**Attention !** A chaque de fois qu'un fichier d'alerte est créé, il faut vérifier :
 +  * que les droits du fichier sont prometheus:prometheus
 +  * que le fichiers est correctement construit avec la commande **promtool check rules path/to/the/rule**
 +  * relancer prometheus avec **sudo systemctl restart prometheus**