MĂ©thode CASE : surveillance sans cruautĂ©

MĂ©thode CASE : surveillance sans cruautĂ©
Dziiiiin! Il est 3 heures du matin, vous faites un rĂȘve merveilleux et soudain, un appel retentit. Vous ĂȘtes de service cette semaine et apparemment quelque chose s'est passĂ©. Le systĂšme automatisĂ© appelle pour savoir ce qui ne va pas. Il s'agit d'un aspect important de la gestion des systĂšmes informatiques modernes, mais voyons comment amĂ©liorer les notifications pour les utilisateurs.

Familiarisez-vous avec la philosophie du monitoring, nĂ©e au cours de plusieurs dĂ©cennies de mes fonctions au sein de diffĂ©rentes Ă©quipes de monitoring. Elle a Ă©tĂ© largement influencĂ©e par la vraie bible de Rob Evashchuk Ma philosophie sur l'alerte (Ma philosophie de notification) inclus dans le livre sur Google SRE, et livre de John Alspaugh ConsidĂ©rations relatives Ă  la conception des alertes (Remarques sur la configuration des alertes).

Kelly Dunn, Arijit Mukheryi о Maxime Petazzoni — merci pour votre aide dans la modification du message.

Qu’est-ce que CASE ?

J'ai dĂ©cidĂ© de trouver une belle abrĂ©viation comme La mĂ©thode USE de Brendan Gregg ou La mĂ©thode RED de Tom Wilkie. je l'appelle MĂ©thode CAS. Il dĂ©crit quatre points auxquels il faut prĂȘter attention lorsque l'on travaille avec la surveillance automatique :

Si vous utilisez CASE, vous traitez les notifications avec une saine indiffĂ©rence et ne rĂ©veillez pas les gens la nuit. L’utilitĂ© et l’efficacitĂ© du suivi doivent ĂȘtre rĂ©guliĂšrement Ă©valuĂ©es. Lorsqu’une personne reçoit la notification, elle aura de meilleurs modĂšles mentaux et plus de confiance.

Pour faciliter la mémorisation, imaginez que vous ayez besoin d'un CAS [c'est-à-dire un cas, une raison - note du traducteur] pour justifier chaque alerte. :des lunettes de soleil:

Et pourquoi tout cela ?

Être de service peut ĂȘtre pĂ©nible. Pour de nombreuses raisons. Et CASE ne les Ă©liminera pas tous. Mais grĂące Ă  lui, vous vous rĂ©veillerez la nuit avec de meilleures notifications. Cette mĂ©thode couvre divers processus organisationnels qui seront Ă©galement utiles dans ce domaine.

La beautĂ© des mĂ©thodes RED et USE est qu'avec leur aide, nous savons non seulement travailler, mais aussi parler le mĂȘme langage les uns avec les autres. J'espĂšre que la mĂ©thode CASE facilitera la discussion des notifications qui protĂšgent nos systĂšmes mais occupent nos collĂšgues.

Le fait est que vous devez crĂ©er une culture dans votre organisation oĂč les notifications sont traitĂ©es avec une saine indiffĂ©rence. Les notifications peuvent ĂȘtre créées dans un but prĂ©cis, mais ce n'est pas un fait qu'elles ne perdront pas de valeur plus tard. Pourquoi avons-nous mis en place cette notification ? Depuis combien de temps ses critĂšres ont-ils Ă©tĂ© rĂ©visĂ©s ? Avec CASE, il est possible de rĂ©pondre Ă  ces questions.

Contexte-Heavy - liaison de contexte

3 heures du matin n'est pas le meilleur moment pour lire des messages contenant beaucoup de mots intelligents. Pour rĂ©agir efficacement, vous avez besoin d’informations. IdĂ©alement, il devrait s'agir d'informations sur un problĂšme spĂ©cifique, pour lequel le contexte est immĂ©diatement clair, et les notifications devraient ĂȘtre configurĂ©es de maniĂšre Ă  ce que cela soit possible. C'est "l'observation" et "l'orientation" de Boucle OODA. Ce n'est pas une honte de consacrer du temps Ă  cette configuration, car distraire constamment une personne coĂ»te encore plus cher. Respectons-nous les uns les autres.

MĂ©thode CASE : surveillance sans cruautĂ©
Les problĂšmes ont de nombreuses sources. Surtout les fantĂŽmes.

Comment puis-je aider l'officier de service ? La premiĂšre chose que voit l'officier de service est une notification, il construit donc toutes les hypothĂšses sur cette base. Ensuite, il regarde les instructions et les tableaux de bord, mais y a-t-il toujours des donnĂ©es sur une notification spĂ©cifique, et pas seulement des informations gĂ©nĂ©rales ? Alspaugh conseille de « rĂ©flĂ©chir Ă  la façon dont vous pourriez interprĂ©ter ou rĂ©pondre Ă  la notification » (diapositive 29)1. Une bonne notification se concentre sur la personne en service et ne se limite pas Ă  un seuil.

Voici donc quelques idĂ©es pour amĂ©liorer le contexte de notification :

  • Montrez Ă  l'utilisateur quelque chose d'utile et spĂ©cialement créé, et pas seulement des instructions ordinaires ou un tableau de bord. Auparavant, les gars et moi utilisions des tableaux de bord d'enquĂȘte configurĂ©s pour des notifications spĂ©cifiques. Cela sera utile si le problĂšme est connu, mais ne fera que dĂ©router les autres. Nous devons trouver un Ă©quilibre ici.
  • Parlez-nous de l'historique de la notification : est-ce nouveau ? Est-ce que ça marche souvent ? Est-ce saisonnier ?
  • Afficher les modifications rĂ©centes apportĂ©es Ă  l'Ă©tat du systĂšme. Est-ce que quelque chose a changĂ© rĂ©cemment ? (Par exemple, dĂ©ploiement ou activation/dĂ©sactivation d'une fonctionnalitĂ©.)
  • Montrez les relations et fournissez des informations pour le modĂšle mental : les dĂ©pendances du systĂšme doivent ĂȘtre clairement visibles, de prĂ©fĂ©rence avec une indication de fonctionnalitĂ©.
  • Connectez rapidement l'utilisateur Ă  l'Ă©quipe : peuvent-ils voir les incidents en cours ou peuvent-ils savoir qui d'autre dans l'entreprise a reçu une notification ? Programme la gestion des incidents activĂ© ?

IdĂ©alement, un programme de gestion des incidents fournira des conseils sur la maniĂšre d'amĂ©liorer le contexte de notification des enquĂȘtes sur les incidents. Il y a toujours quelque chose Ă  travailler !

Actionnable – valeur pratique

L'officier de service devrait-il faire quelque chose en rĂ©ponse Ă  la notification ? Si vous n’avez rien Ă  faire ou si vous ne savez pas quoi faire, pourquoi l’avez-vous rĂ©veillĂ© ? Vous devez Ă©viter les notifications qui gĂȘnent les personnes en service et ne nĂ©cessitent aucune action.

Voir le post sur imgur.com

Que dois-je faire? Que veux-tu?

Dans le passĂ©, lorsque les systĂšmes Ă©taient simples et les Ă©quipes petites, nous mettions en place une surveillance uniquement pour rester au courant. La notification indiquant que la charge sur le tas a augmentĂ© nous donnera un contexte en cas de dysfonctionnement ultĂ©rieur du service. À grande Ă©chelle, de telles notifications ne feront que crĂ©er de la confusion car nos systĂšmes fonctionnent toujours dans un Ă©tat de dĂ©gradation plus ou moins grave. Cela conduit rapidement Ă  fatigue des notifications et bien sĂ»r Ă  la perte de sensibilitĂ©. Par consĂ©quent, l'agent de service ignore ou mĂȘme filtre ces notifications et n'y rĂ©pond pas toujours comme nĂ©cessaire. Ne tombez pas dans ce piĂšge ! Ne configurez pas toutes les notifications Ă  la suite, puis envoyez-les par e-mail dans un dossier perdu.

Voici Ă  quoi ressemble un avis ayant une valeur pratique :

  • Une notification nĂ©cessite une action plutĂŽt que de simplement rapporter des nouvelles.
  • Cette action est difficile ou risquĂ©e Ă  automatiser. Si une action peut ĂȘtre automatisĂ©e, alors automatisez-la, arrĂȘtez de harceler les gens !
  • L'avis contient des recommandations urgentes sous la forme Accords de Niveau de Service (SLA) ou objectif de temps de rĂ©cupĂ©ration (RTO). L'agent de service peut alors activer le programme de gestion des incidents de l'organisation.

Je tiens Ă  clarifier : je ne dis pas que les notifications ne doivent arriver que pour les SLO (objectifs de niveau de service) les plus importants pour l'API. La surveillance des SLO est constamment fragmentĂ©e et divisĂ©e et nĂ©cessite la mĂȘme approche pour tous les services. Il est clair que vous suivrez les SLO les plus importants pour les clients qui vous paient. Mais les SLO d’infrastructure, tels que les bases de donnĂ©es, doivent Ă©galement ĂȘtre surveillĂ©s. BientĂŽt, vous devrez traiter avec des clients internes et les accompagner. Et ainsi de suite Ă  l’infini.

BasĂ© sur les symptĂŽmes â€“ accent mis sur les symptĂŽmes

Que cela vous plaise ou non, vous travaillez dans un systĂšme distribuĂ© (Kavaj)2. En consĂ©quence, vous utilisez diffĂ©rentes tactiques pour isoler les services et les protĂ©ger des pannes (Trainor et al.)3. Et mĂȘme si un garbage collection retardĂ© ou une requĂȘte de base de donnĂ©es bloquĂ©e indique des problĂšmes, il n'est pas nĂ©cessaire de se prĂ©cipiter pour les rĂ©soudre si les utilisateurs n'ont pas de problĂšmes dans un avenir proche.

Ce sont des signaux importants et peuvent avoir une valeur pratique, mais s'ils ne dĂ©rangent pas les utilisateurs, ils ne sont pas suffisamment urgents pour distraire l'opĂ©rateur. Les notifications basĂ©es sur la cause sont des instantanĂ©s de nos modĂšles mentaux concernant une panne du systĂšme. Il est prĂ©fĂ©rable de suivre les symptĂŽmes importants plutĂŽt que d’essayer de lister toutes les causes possibles d’une panne.

Pour rendre les notifications significatives, concentrez-vous sur des indicateurs de performance, important pour les utilisateurs. Evashchuk appelle cela « la surveillance des utilisateurs ». N'oubliez pas que cette philosophie doit ĂȘtre appliquĂ©e dans toute l'organisation. Si un service rencontre des problĂšmes urgents quelque part au cƓur de l’infrastructure, l’équipe appropriĂ©e s’en chargera. ProtĂ©ger les systĂšmes contre de telles pannes est une tout autre affaire (Trainer et al., section sur les stratĂ©gies pour minimiser les dĂ©pendances critiques)3.

Les symptĂŽmes ne sont pas aussi variables

Richard Cook nous rappelle que les systĂšmes complexes regorgent de dĂ©fauts, de lacunes et de problĂšmes4. Essayer d’énumĂ©rer toutes les raisons possibles est une tĂąche de Sisyphe. Vous essayez de dĂ©crire les problĂšmes, mais ils changent tout le temps. Cindy Sridharan estime que « les systĂšmes ne doivent pas nĂ©cessairement ĂȘtre en parfait Ă©tat Ă  chaque seconde » et qu'il est prĂ©fĂ©rable d'utiliser une approche plus humaine ("ObservabilitĂ© des systĂšmes distribuĂ©s" (« Surveillance des systĂšmes distribuĂ©s »), 7)5.

Évitez les notifications aprùs un incident

En rÚgle générale, les notifications de causes sont configurées pour corriger les incidents. Et ces notifications limitées sur ce qui s'est passé créent un faux sentiment de sécurité, car le systÚme propose à chaque fois de nouvelles façons de s'introduire.

Ne vous laissez pas berner par les avis de cause. Mieux vaut penser :

  • Pourquoi la notification basĂ©e sur les symptĂŽmes n'a-t-elle pas dĂ©tectĂ© le problĂšme ?
  • Serait-il utile d'amĂ©liorer le contexte pour l'utilisateur ?
  • Comment amĂ©liorer les outils de surveillance pour Ă©tablir un diagnostic plus rapidement, plutĂŽt que d’accumuler des notifications sur ce qui s’est passĂ© ?

Les outils de surveillance pour le diagnostic ne seront utiles que si vous les considĂ©rez comme un moyen de passer du symptĂŽme Ă  la solution. Sans ces commentaires, vous serez simplement bombardĂ© de notifications tardives et de graphiques sur les Ă©checs passĂ©s, et pas un mot sur les Ă©checs futurs. Il s’agit d’une excellente opportunitĂ© pour une organisation de passer de la dĂ©fense Ă  l’attaque. Et les dĂ©veloppeurs et chefs de produit auront les mĂȘmes attentes et les mĂȘmes objectifs clairs. Le cas - CASE (:wink:) - est clair pour chaque notification.

Les notifications basées sur un motif sont tolérables avec modération

Parfois, notre systĂšme nous laisse peu de choix en termes de notifications basĂ©es sur une cause. Et parfois, les personnes de service comprennent parfaitement qu'un symptĂŽme conduira certainement Ă  un Ă©chec et qu'il contient donc une valeur pratique. Peut-ĂȘtre que vous n'ĂȘtes tout simplement pas sĂ»r de ce qui se passe et que vous configurez des notifications par mesure de sĂ©curitĂ©. EspĂ©rons que cette action soit temporaire jusqu'Ă  ce que nous puissions modifier le systĂšme pour rĂ©soudre le problĂšme de performances.
Gardez les autres composants de CASE Ă  l’esprit lorsque vous faites face Ă  ces situations. Ce n’est pas parce que c’est temporaire que vous pouvez arrĂȘter de penser avec votre tĂȘte.

ÉvaluĂ© - Ă©valuation

Toute modification apportĂ©e au systĂšme (nouveau code, nouvelle infrastructure, tout ce qui est nouveau) Ă©largit la gamme de pannes (Cook, 3).4 Cette notification fonctionne-t-elle toujours comme prĂ©vu ? ModĂšles mentaux clairs et actuels des systĂšmes et expĂ©rience en rĂ©ponse Ă  certaines notifications d'assistance approche prĂ©ventive - ce sont les principales caractĂ©ristiques organisation axĂ©e sur l'apprentissage. Les dĂ©fauts des systĂšmes Ă©voluent constamment et nous devons les suivre.

Vous devez constamment Ă©valuer la qualitĂ© de chaque notification pour vous assurer qu’elle fonctionne comme prĂ©vu. Chers dirigeants ! Ce sera beaucoup plus simple pour vos Ă©quipes si vous les aidez Ă  mettre en place cette dĂ©marche ! Voici quelques idĂ©es d’évaluation :

  • utilisation ingĂ©nierie du chaos, jours de match ou d'autres mĂ©thodes de test de notification. L’équipe peut le faire elle-mĂȘme sans avoir Ă  s’appuyer sur un lourd systĂšme de gestion des incidents !
  • IntĂ©grez la collecte de toutes les notifications liĂ©es aux incidents dans votre programme de gestion des incidents. Marquez les Ă©lĂ©ments utiles, nuisibles, inappropriĂ©s, peu clairs, etc. Utilisez-les comme commentaires.
  • Les bonnes notifications sont rarement dĂ©clenchĂ©es et sont soigneusement testĂ©es. Assurez-vous que tous les liens fonctionnent, pointent vers le bon contexte, etc.
  • Si une notification ne se dĂ©clenche jamais ou se dĂ©clenche trop souvent, il y a un problĂšme. RĂ©parez-le ou supprimez-le. Attention Ă  la passivitĂ© ou Ă  l'activitĂ© excessive !
  • DĂ©finissez des horodatages de notification avec des dates d'expiration. Si la date d'expiration a expirĂ©, Ă©valuez la notification Ă  l'aide de la mĂ©thode CASE et mettez Ă  jour l'horodatage. Tout comme pour les aliments, vĂ©rifiez rĂ©guliĂšrement la date de pĂ©remption.
  • Simplifiez le processus d’amĂ©lioration des notifications. Utilisez la surveillance sous forme de code et stockez les notifications dans un rĂ©fĂ©rentiel Git. Les demandes de tirage aident Ă  impliquer l'Ă©quipe et vous donnent un historique des notifications passĂ©es. Et vous n'aurez plus peur de modifier les notifications ou de demander l'autorisation aux responsables.
  • Configurez des commentaires pour les notifications, mĂȘme si c'est simple Formulaire Google, de sorte que les agents de service marquent les notifications comme inutiles ou intrusives. IntĂ©grez un lien ou un appel Ă  l'action dans la notification elle-mĂȘme et consultez rĂ©guliĂšrement vos commentaires.
  • Établissez une rĂšgle dans l'Ă©quipe : laissez les personnes de service travailler pour simplifier le travail lorsqu'il y a peu de travail. Que tout aprĂšs vous soit un peu meilleur qu'avant.

Conclusion

Je pense que la méthode CASE aide les développeurs et les organisations à discuter de la configuration et de l'envoi de notifications automatisées. Un développeur peut commencer à évaluer les notifications à l'aide de la méthode CASE, puis l'ensemble de l'organisation se joindra à d'autres développeurs, programmes de gestion et de gestion des incidents pour maintenir les notifications en bon état. Cela ne nécessite aucun outil spécial ni processus complexe.

L’ensemble du secteur doit penser au facteur humain lorsqu’il est en service sans sacrifier un service client de premier ordre. Tous ces outils et pratiques peuvent et doivent ĂȘtre amĂ©liorĂ©s. J'espĂšre que la mĂ©thode CASE vous aidera.

Profitez de notifications amĂ©liorĂ©es !
MĂ©thode CASE : surveillance sans cruautĂ©

Source: habr.com

Ajouter un commentaire