[Stabilité] Exploration du raccourcissement du MTTR | Equipe technique JD Logistics

1. Qu’est-ce que le MTTR ?

Lorsqu'une panne système se produit dans le système, nous devons utiliser certains indicateurs pour mesurer la gravité et l'étendue de la panne. Parmi eux, le MTTR (Mean Time To Repair ) est un indicateur très important, qui peut nous aider à comprendre le temps moyen nécessaire pour réparer le système. Il n'est pas conseillé de prendre trop de temps pour réparer le système, surtout pour une entreprise comme JD.com. Si le MTTR est trop long, cela peut entraîner de graves conséquences telles que le règlement des factures de carte par l'utilisateur et une perte de revenus pour l'entreprise. Par conséquent, afin de garantir la stabilité et la fiabilité du système, nous devons raccourcir autant que possible le MTTR.



Pour calculer le MTTR, divisez la durée totale de maintenance par le nombre total d'opérations de maintenance sur une période donnée. La formule de calcul du MTTR est la suivante :



2. Comment raccourcir le MTTR

Comprendre MTTR est un outil très important pour toute organisation car il nous aide à mieux répondre et résoudre les problèmes de production. Dans la plupart des cas, les organisations espèrent réduire le MTTR grâce à des équipes de maintenance internes, ce qui nécessite les ressources, les outils et le support logiciel nécessaires.

Alors, quelles mesures pouvez-vous prendre pour raccourcir le MTTR de votre organisation ? Le meilleur point de départ est de comprendre chaque phase du MTTR et de prendre des mesures pour réduire le temps passé dans chaque phase. Plus précisément, nous pouvons considérer les aspects suivants :

1. Temps de découverte des problèmes : surveillance et alarme pour identifier les défauts

Pendant le délai nécessaire aux techniciens pour identifier le problème après une panne, nous pouvons raccourcir le temps d'identification MTTR en établissant un système d'alarme. En surveillant le fonctionnement du système en temps réel et en découvrant et en déclenchant rapidement le mécanisme d'alarme, nous pouvons nous aider à localiser le problème dans les plus brefs délais et à prendre les mesures appropriées pour le réparer.

Nous pouvons filtrer les informations d'alarme inutiles en définissant des seuils et des règles raisonnables, évitant ainsi que le bruit des alarmes n'interfère avec l'équipe de développement et d'exploitation et leur permettant de se concentrer davantage sur les problèmes réels.

1.1. Surveillance de l'UMP

  • Réalisez 3 indicateurs de suivi en or (taux de disponibilité, volume d'appels, TP99) grâce à l'UMP.

Lors de la configuration du mécanisme d'alarme, nous pouvons prendre en compte de manière globale des facteurs tels que la disponibilité, le TP99 et le volume d'appels pour évaluation. Une évaluation complète de ces indicateurs peut nous aider à acquérir une compréhension plus complète du fonctionnement du système, afin que les problèmes potentiels puissent être découverts en temps opportun et que les mesures correspondantes puissent être prises.

Il est recommandé que lors de la configuration des alarmes, vous puissiez d'abord adopter une stratégie plus stricte, c'est-à-dire serrer d'abord puis desserrer, et s'ajuster progressivement au meilleur état . Cela garantit que les problèmes sont détectés dès les premiers stades et que les pannes majeures sont évitées. Mais à mesure que le système se stabilise progressivement, nous pouvons également assouplir le seuil d'alarme de manière appropriée en fonction de la situation réelle afin d'améliorer la disponibilité et l'efficacité du système.

Il convient de noter que lors de la configuration des alarmes, nous devons effectuer des ajustements et des optimisations en fonction de scénarios commerciaux spécifiques et des caractéristiques du système. Différents systèmes peuvent présenter différents points de risque et goulots d'étranglement, nous devons donc formuler des stratégies d'alarme correspondantes basées sur la situation réelle pour garantir la stabilité et la fiabilité du système.

critical告警方式:咚咚、邮件、即时消息(京ME)、语音
可用率:(分钟级)可用率 < 99.9% 连续 3 次超过阈值则报警,且在 3 分钟内报一次警。
性能:(分钟级)TP99 >= 200.0ms 连续 3 次超过阈值则报警,且在 3 分钟内只报一次警。
调用次数:当方法调用次数在 1 分钟的总和,连续 3 次大于 5000000 则报警,且在 3分钟内只报一次警

warning告警方式:咚咚、邮件、即时消息
可用率:(分钟级)可用率 < 99.95% 连续 3 次超过阈值则报警,且在 30 分钟内报一次警。
性能:(分钟级)TP99 >= 100.ms 连续 3 次超过阈值则报警,且在 30 分钟内只报一次警。
调用次数:当方法调用次数在 1 分钟的总和,连续 3 次大于 2000000 则报警,且在 3 分钟内只报一次警
  • Si l'UMP est une tâche planifiée, le point le plus important est de déterminer la période de surveillance . Ce n'est qu'en configurant correctement la période de surveillance que nous pouvons garantir que l'UMP est exécuté normalement dans le délai prévu. De cette façon, une fois que l'UMP ne parvient pas à être exécuté dans le délai prévu, le mécanisme d'alarme sera automatiquement déclenché pour détecter et résoudre le problème à temps.

1.2. Les appels d'alarme doivent être émis rapidement, avec précision et peu fréquemment.

Lors du traitement des informations d'alarme, notre clé n'est pas la quantité, mais l'exactitude et l'exhaustivité des informations . Notre équipe reçoit des centaines de messages d’alarme chaque jour. Avez-vous suffisamment d’énergie et de temps pour vérifier chacun d’eux ? Pouvez-vous vous assurer que chacun retienne l’attention ?

Par conséquent, nous devons évaluer l’impact commercial et définir une fréquence d’alarme appropriée en fonction de la situation. En particulier pour les messages d'alarme considérés comme des « voix clés », nous devons les découvrir et les traiter le plus rapidement possible . Ce n’est qu’ainsi que nous pourrons garantir que nous pouvons réagir rapidement et avec précision face à des situations d’urgence et minimiser les impacts possibles.

1.3. Les détails déterminent le succès ou l'échec.

1. Si le temps de réponse aux informations d'alarme est long, nous devons vérifier si le mécanisme de réponse de l'équipe en service est normal. Nous devons nous assurer que les informations d’alarme peuvent être communiquées efficacement aux bonnes personnes afin que le problème puisse être résolu en temps opportun.
2. Concernant le règlement quotidien des informations d'alarme, nous devons établir un mécanisme de traitement correspondant pour garantir que chaque information d'alarme peut être correctement traitée. Si nous ne parvenons pas à réaliser une compensation et une clôture quotidiennes, nous devons analyser en profondeur les raisons et prendre les mesures correspondantes pour les améliorer.
3. Lors du traitement des informations d’alarme, nous devons analyser en profondeur leurs causes profondes. Ce n’est qu’en trouvant la racine du problème que le problème pourra être fondamentalement résolu.
4. Si l'alarme est fréquente mais n'a pas été traitée, nous devons sérieusement réfléchir à sa nécessité. Parfois, certaines alarmes peuvent être provoquées par de fausses alarmes ou des problèmes non pertinents. À ce stade, nous devons filtrer et éliminer ces alarmes.
5. Si un problème survient et que les informations d'alarme correspondantes de l'UMP ou d'autres liens ne sont pas ajoutées, nous devons vérifier soigneusement s'il existe d'autres liens principaux qui ont également été manqués. S'il manque un ajout, nous pouvons utiliser l'outil d'analyse pour le trouver.
6. Pour les informations d'alarme apparues auparavant, nous ne pouvons pas conclure, sur la base de l'expérience, qu'elles sont causées par une certaine raison. L’expérience historique n’est pas nécessairement exacte et fiable, et de véritables conclusions ne peuvent être tirées que par l’investigation et l’analyse des journaux pertinents.
7. Lors de la configuration des informations d'alarme, nous devons examiner attentivement leur rationalité. Il est recommandé de s'adapter progressivement aux meilleures conditions en serrant d'abord puis en desserrant. Cela peut éviter trop ou trop peu de messages d'alarme dès le début, améliorant ainsi l'efficacité et la précision du travail.

2. Il est temps de résoudre les problèmes du système : mécanisme de réponse aux pannes, hémostase rapide

Pourquoi devons-nous atténuer les problèmes du système au lieu de simplement les localiser ? En effet, lorsqu'il s'agit de problèmes système, la simple localisation du problème ne constitue qu'une partie de la solution. Plus important encore, nous devons atténuer les problèmes système le plus rapidement possible afin d’éviter tout impact supplémentaire sur l’entreprise.

Afin d’améliorer l’efficacité de la gestion des problèmes, nous devons partir des trois aspects suivants :

1. Améliorer le système de commande et la division des rôles : Un système de commande complet et une division claire des rôles peuvent améliorer efficacement l'efficacité de la gestion des pannes. Lorsqu'il s'agit de problèmes, chaque rôle doit clarifier ses responsabilités et ses tâches et travailler ensemble pour résoudre le problème.
2. Moyens techniques complets d'isolation des défauts : Au niveau technique, nous devons adopter certains moyens d'isolation des défauts, tels que via les commutateurs DUCC, pour éviter une restauration excessive du code. Cela peut arrêter le saignement plus rapidement (DUCC change en quelques secondes, si la machine recule plusieurs fois, cela prendra 5 à 10 minutes)
3. Garantie du mécanisme de gestion des pannes suffisamment approfondie : Enfin, nous devons établir une garantie du mécanisme de gestion des pannes suffisamment approfondie, comprenant les tests d'environnement UAT, les exercices de dépannage, le plan d'urgence SOP, etc. Cela permet une réponse rapide et une résolution efficace des problèmes lorsque des problèmes surviennent.

En bref, afin d'améliorer l'efficacité de la gestion des problèmes, nous devons prendre une série de mesures pour réduire le temps nécessaire aux problèmes du système, et pas seulement pour localiser le problème. Ce n'est qu'ainsi que la stabilité et la fiabilité du système peuvent être véritablement garanties.

2.1. Mettre en œuvre un mécanisme de réponse d'urgence en cas de panne

Quelle que soit la taille d’une organisation, l’une de ses caractéristiques les plus importantes est sa capacité à répondre aux urgences. Face à des situations d'urgence, il est nécessaire de disposer d'un plan d'urgence complet et d'un mécanisme de formation pratique pour garantir que diverses urgences puissent être répondues rapidement et efficacement. Pour atteindre cet objectif, nous devons partir des aspects suivants :

1. Établir un processus complet d’entraînement et d’exercices : Il est très important d’établir et de maintenir un processus complet d’entraînement et d’exercices. Cela nécessite un groupe de personnes familiarisées avec l’entreprise et dédiées à la formulation et à l’exécution des plans pertinents. Dans le même temps, des exercices et des tests de simulation réguliers doivent être menés sur la base des conditions réelles pour garantir l'efficacité et l'opérabilité des plans d'urgence.
2. Signalez d'abord le problème au groupe et utilisez la force de l'équipe : Lorsque vous faites face à une urgence, vous devez d'abord signaler le problème au groupe et faire jouer pleinement la force de l'équipe. Grâce au brainstorming, la cause profonde du problème peut être trouvée plus rapidement et les mesures correspondantes peuvent être prises pour le résoudre.
3. Déterminez raisonnablement la gravité du problème : Lorsque vous déterminez la gravité du problème, vous devez faire preuve d’un bon jugement technique et maintenir un certain niveau de calme.

En bref, afin d'améliorer la capacité de l'organisation à répondre aux urgences, nous devons établir un processus complet de formation et d'exercices, faire jouer pleinement la force de l'équipe et déterminer raisonnablement la gravité du problème . Ce n’est qu’ainsi que la stabilité et la fiabilité de l’organisation pourront être véritablement garanties.

Répartition des rôles clés

1. Commandant de pannes . Ce rôle est au cœur de l'ensemble du système de commandement. Sa responsabilité la plus importante est l'organisation et la coordination, et non l'exécution, comme le responsable, le chef d'équipe et l'architecte.
2. Communication et orientation . Responsable de la collecte et du reporting des informations internes et externes, mais nécessite de bonnes compétences en communication et en expression, comme un chef de produit.
3. Exécuteur testamentaire . Tous les types de personnel impliqués dans la gestion des pannes sont responsables de la localisation réelle des pannes et de la reprise de l'activité, comme les collègues de base de R&D et d'exploitation et de maintenance de l'équipe.

Mécanisme de processus

1. Après la découverte d'un défaut, les collègues d'astreinte ou les chefs d'équipe ont le droit de convoquer le développement commercial correspondant ou d'autres ressources nécessaires pour organiser rapidement une réunion.
2. Si le problème est difficile et a un impact important, vous pouvez demander une intervention à un niveau supérieur, comme le chef de service, etc.

mécanisme de rétroaction

Commentaires sur la progression du traitement en cours et sur l'action suivante. Si des opérations doivent être effectuées immédiatement, signalez-les à l'avance. Le contenu qui doit être signalé inclut l'impact sur l'entreprise et le système. Enfin, le commandant des pannes fera une décision avant de l’exécuter pour éviter d’être occupé. Aucun progrès n’est toujours un progrès et un retour d’information en temps opportun est requis. Commentaires du personnel non technique, tel que le service client, etc. Cela ne doit pas être décrit en termes techniques, mais décrit dans un langage aussi professionnel que possible, et l'autre partie doit avoir une idée approximative, comme ce que nous faisons, combien de temps il faudra pour récupérer et si elle ne peut pas. être rétabli, combien de temps faudra-t-il pour recevoir un rappel ? Commentaires et plus encore.

2.2. Plan d'urgence en hémostase rapide

Principes de base : Dans tous les moyens et actions pris au cours du processus de traitement des pannes, la reprise de l'activité est la priorité absolue, et la restauration des solutions d'hémostase sur site est plus importante que la recherche de la cause de la panne.

1. Face à un problème, votre première réaction peut être de lancer immédiatement le processus de dépannage et d'essayer de trouver la cause profonde du problème le plus rapidement possible. Ne faites pas cela. L'approche correcte est la suivante : atténuer les problèmes du système est la première priorité et faire tout son possible pour remettre le système en service.
2. Arrêtez rapidement le saignement au lieu d’en rechercher la cause profonde. Tout d'abord, il suffit de localiser grossièrement le problème, puis de restaurer la scène grâce à quelques mesures de plan d'urgence (déclassement du commutateur DUCC, limitation de courant, retour en arrière, etc.).
3. Pour les problèmes en ligne, demandez-vous d'abord s'ils sont causés par des changements tels que la mise en ligne, la modification des configurations commerciales, etc., et l'alignement des informations.
4. Des erreurs ont commencé à apparaître lors de la sortie, mais tout était normal avant la sortie ? Ne vous inquiétez de rien, annulez-le d'abord, puis enquêtez lentement une fois qu'il est revenu à la normale.
5. L'application fonctionne de manière stable depuis longtemps, mais soudainement le processus commence à se terminer ? Il s’agit très probablement d’une fuite de mémoire, alors redémarrez silencieusement la méthode.
6. Comment confirmer s'il s'agit d'un problème introduit en ligne ? Le même problème existe-t-il avant de se connecter (comme hier ou la semaine dernière) d'une année sur l'autre ? S’il existe également, cela signifie que cela n’a rien à voir avec la connexion en ligne. Jetez un oeil au journal d'hier. Le journal est le plus fiable. Le taux de disponibilité va tromper tout le monde (car vous avez peut-être géré le taux de disponibilité aujourd'hui, et le taux de disponibilité était de 100% avant, mais ce n'est pas forcément 100%)
7. Les activités, les produits et la R&D sont menés en parallèle
8. Lors de la localisation rapide du problème, la scène du problème doit être enregistrée à temps.Par exemple, supprimez d'abord le service JSF, mais conservez une machine (ne la redémarrez pas) et conservez les informations de la pile JVM pour une analyse ultérieure des causes profondes.

2.3. Utiliser pleinement les outils existants pour analyser intelligemment les problèmes de positionnement

2.2.1. Pour le TP99, qui est haut et difficile à positionner :

La relation d'appel est complexe, ce qui rend difficile la localisation rapide des goulots d'étranglement en matière de performances. Des outils peuvent être utilisés pour trier à l’avance les dépendances complexes entre les services et se concentrer sur les problèmes fondamentaux des services goulots d’étranglement, plutôt que de trier les liens uniquement lorsque des problèmes surviennent.

Tels que le basculement Taishan, etc. : indiquez intelligemment à quel facteur cette alarme est la plus liée, la fonction est en cours d'essai.
Une signalétique globale, intégrant les points de collecte UMP, permet de localiser rapidement quel lien a un TP99 élevé
Application de liaison longue, configurez la carte radar Taishan.
Lien d'appel distribué Pfinder comme base d'analyse

2.2.2. En réponse à l'augmentation soudaine du volume d'appels

Vous pouvez utiliser JSF>Traffic Protection>Applications and Interfaces>Alias ​​​​et Method Name pour localiser le volume d'appels des applications en amont, puis prendre les mesures correspondantes, telles que la communication en amont, les stratégies de limitation de courant, etc.

2.2.3. Analyse des threads, JVM, échantillonnage CPU flame graph, etc.

Plateforme Taishan》Diagnostic des défauts》Diagnostic en ligne

2.2.4. Enjeux commerciaux

D'après la recherche dans le journal de bord, il n'y a rien à dire à ce sujet.

En guidant et en formant les techniciens via des procédures standardisées, vous pouvez réduire le temps nécessaire à la résolution des problèmes. Dans le cas d’une même panne, disposer d’une documentation appropriée et de plans d’intervention d’urgence (SOP) vous permet d’examiner rapidement tous les facteurs causals qui ont pu conduire à la panne.

3. Résumé

Une fois le problème en ligne réparé, la rédaction d'un rapport d'examen du COE (Centre d'excellence) est une étape très importante. Dans ce rapport, nous pouvons passer en revue l'ensemble du processus de gestion des problèmes et réfléchir à ce que nous aurions pu faire pour raccourcir le MTTR (Mean Time To Repair) plus rapidement si nous l'avions fait à ce moment-là.

Concrètement, nous pouvons partir des aspects suivants :

1. Analysez la cause du problème : Tout d’abord, vous devez effectuer une analyse approfondie du problème pour découvrir la cause profonde du problème . Ce n’est qu’en trouvant la cause profonde du problème que nous pourrons prendre des mesures ciblées pour résoudre le problème et raccourcir le MTTR.
2. Résumer l'expérience et les leçons : Dans le processus d'analyse du problème, nous devons résumer l'expérience et les leçons et faire des suggestions d'amélioration. Ces suggestions peuvent inclure l'optimisation des processus, l'amélioration de l'efficacité, le renforcement de la formation, etc., mais il n'est pas nécessaire de lister un tas d'actions, concentrez-vous simplement sur les points clés selon la règle des 2/8 .
3. Tirer des conclusions à partir d'un exemple pour éviter que des problèmes similaires ne se reproduisent la prochaine fois : nous devons appliquer l'expérience et les leçons tirées de ce problème à d'autres problèmes similaires pour éviter que des problèmes similaires ne se reproduisent.

En bref, en analysant en profondeur les problèmes, en identifiant les causes profondes, en résumant les expériences et les leçons et en tirant des conclusions à partir d'un exemple, nous pouvons efficacement raccourcir le MTTR et garantir la stabilité et la fiabilité du système .

référence:

Décryptage du fonctionnement et de la maintenance de SRE Google

Livraison continue 2.0

Auteur : JD Logistique Feng Zhiwen

Source : JD Cloud Developer Community Ziyuanqishuo Tech Veuillez indiquer la source lors de la réimpression

Amende de 200 yuans et plus d'un million de yuans confisqués You Yuxi : L'importance des documents chinois de haute qualité Le serveur de migration hard-core de Musk Solon pour JDK 21, les fils virtuels sont incroyables ! ! ! Le contrôle de la congestion TCP sauve Internet Flutter pour OpenHarmony est là La période LTS du noyau Linux sera restaurée de 6 ans à 2 ans Go 1.22 corrigera l'erreur de variable de boucle for Svelte a construit une "nouvelle roue" - les runes Google fête son 25e anniversaire
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/4090830/blog/10114513
conseillé
Classement