Notification, monitoring et métriques : les 3 systèmes d’astreinte pour minimiser et réduire les temps de résolution des incidents

Par
Pollen logo Pollen
Publié le
17/11/2023
Temps de lecture
2min

L’astreinte (appelée aussi on-call) est un dispositif de gestion des incidents qui recueille des métriques, visualise les données et alerte les opérateurs en cas de problème. Son objectif est de répondre à une dégradation de service. Le travail de préparation à l’astreinte a quant à lui pour but d’automatiser un maximum d’actions de façon à réduire les temps de résolution des incidents, et de minimiser l’intervention humaine.

L’astreinte est constituée de trois systèmes interdépendants :

  • Les métriques
  • Le monitoring
  • Les notifications (ou alertes)

Les métriques

Les métriques représentent les mesures brutes de l’utilisation des ressources ou du comportement qui peuvent être observées et collectées dans l’ensemble de vos systèmes. En opposition aux métriques numériques, les “logs” sont des chaînes de caractères.

Exemple : les requêtes servies par seconde.

Le monitoring

Le monitoring est le processus de collecte, d’agrégation et d’analyse des métriques qui permet d’améliorer la connaissance des caractéristiques et du comportement des composants. On parle de système de monitoring en présence :

  • De données en temps réel
  • D’un graphique des données historiques
  • Et d’un processus de définition des notifications.

Les notifications

La notification est le composant réactif de l’astreinte (on-call) qui informe un opérateur lorsqu’une dégradation de service est détectée. Une notification est composée de deux éléments :

  • Une condition ou un seuil basé sur les métriques
  • Une action manuelle pour remettre le service en état de fonctionnement.

L’astreinte reposant sur des humains, un bon système de notification doit :

  • Permettre la déduplication des alertes de façon à ce que les opérateurs se concentrent à résoudre l’incident
  • Avoir une système d’escalade et de réassignation dans le cas où l’opérateur en temporairement indisponible ou n’a pas les connaissances
  • Permettre la gestion des plannings des opérations.

Le but des notifications est de définir des situations où l’intervention d’une personne compétente est nécessaire, tout en s’appuyant sur la surveillance passive du logiciel pour repérer les changements de conditions.

Exemple : Pour s’assurer que votre site web fonctionne, vous avez besoin :

  • d’émettre une métrique pour mesurer le nombre de réponses “500” qui indique un la présence d’un problème
  • de stocker l’historique de la métrique
  • de notifier un opérateur si le site web retourne des erreurs “500” durant une période d’une heure.

De cette manière, l’opérateur est uniquement alerté lorsque le site retourne de manière récurrente des erreurs sans s’auto-réparer.

Dans sa formation « On-call : mettre en place les bons workflows », notre trainer Xavier Grand, Principal Engineer chez Algolia, vous partage les techniques avancées qu’il a mises en place pour réduire les temps de résolution des incidents et qui permettent aujourd’hui au moteur de recherche Algolia de traiter 65 milliards de requêtes par mois en un temps record. Pour vous inscrire, c’est par ici !