CASE-Methode: humane Überwachung

CASE-Methode: humane Überwachung
Dziiiiin! Es ist 3 Uhr morgens, Sie träumen wunderbar und plötzlich ertönt ein Anruf. Sie sind diese Woche im Dienst und anscheinend ist etwas passiert. Das automatisierte System ruft an, um herauszufinden, was los ist. Dies ist ein wichtiger Aspekt bei der Verwaltung moderner Computersysteme, aber schauen wir uns an, wie wir Benachrichtigungen für Menschen verbessern können.

Machen Sie sich mit der Überwachungsphilosophie vertraut, die über mehrere Jahrzehnte meiner Tätigkeit in verschiedenen Überwachungsteams entstanden ist. Sie wurde maßgeblich von der wahren Bibel von Rob Evashchuk beeinflusst Meine Philosophie zur Alarmierung (Meine Benachrichtigungsphilosophie) im Buch enthalten Google SREund Buch von John Alspaugh Überlegungen zum Warnungsdesign (Hinweise zum Einrichten von Benachrichtigungen).

Kelly Dunn, Arijit Mukheryi и Maxim Petazzoni — Vielen Dank für Ihre Hilfe beim Bearbeiten des Beitrags.

Was ist CASE?

Ich habe beschlossen, mir eine schöne Abkürzung auszudenken Brendan Greggs USE-Methode oder Tom Wilkies RED-Methode. I nenne es CASE-Methode. Er beschreibt vier Punkte, auf die man bei der Arbeit mit automatischer Überwachung achten sollte:

Wenn Sie CASE verwenden, behandeln Sie Benachrichtigungen mit einer gesunden Gleichgültigkeit und wecken die Leute nachts nicht. Die Überwachung sollte regelmäßig auf ihren Nutzen und ihre Wirksamkeit überprüft werden. Wenn eine Person die Benachrichtigung erhält, verfügt sie über bessere mentale Modelle und mehr Selbstvertrauen.

Um es leichter zu merken, stellen Sie sich vor, Sie benötigen einen FALL [das heißt einen Fall, einen Grund – Anmerkung des Übersetzers], um jede Warnung zu rechtfertigen. :Sonnenbrille:

Und warum ist das alles so?

Im Dienst zu sein kann schmerzhaft sein. Aus vielen Gründen. Und CASE wird sie nicht alle beseitigen. Aber damit werden Sie nachts mit besseren Benachrichtigungen geweckt. Diese Methode deckt verschiedene organisatorische Prozesse ab, die auch in dieser Angelegenheit hilfreich sind.

Das Schöne an den RED- und USE-Methoden ist, dass wir mit ihrer Hilfe nicht nur wissen, wie man arbeitet, sondern auch die gleiche Sprache miteinander sprechen. Ich hoffe, dass die CASE-Methode es einfacher macht, über Benachrichtigungen zu diskutieren, die unsere Systeme schützen, aber unsere Kollegen beschäftigen.

Der Punkt ist, dass Sie in Ihrem Unternehmen eine Kultur schaffen müssen, in der Benachrichtigungen mit gesunder Gleichgültigkeit behandelt werden. Benachrichtigungen können für einen bestimmten Zweck erstellt werden, es ist jedoch keine Tatsache, dass sie später nicht an Wert verlieren. Warum haben wir diese Benachrichtigung eingerichtet? Wie lange ist es her, dass die Kriterien überarbeitet wurden? Mit CASE können diese Fragen beantwortet werden.

Kontextlastig – Kontextbindung

3 Uhr morgens ist nicht die beste Zeit, um Nachrichten zu lesen, die viele kluge Worte enthalten. Um effektiv reagieren zu können, benötigen Sie Informationen. Im Idealfall handelt es sich hierbei um Informationen zu einem konkreten Sachverhalt, deren Kontext sofort klar ist, und Benachrichtigungen sollten so konfiguriert sein, dass dies möglich ist. Daraus ergibt sich „Beobachtung“ und „Orientierung“. OODA-Schleife. Es ist keine Schande, Zeit mit diesem Setup zu verbringen, denn die ständige Ablenkung einer Person ist noch teurer. Lasst uns einander respektieren.

CASE-Methode: humane Überwachung
Probleme haben viele Ursachen. Vor allem Geister.

Wie kann ich dem diensthabenden Beamten helfen? Das erste, was der diensthabende Beamte sieht, ist eine Benachrichtigung, auf deren Grundlage er alle Hypothesen aufstellt. Dann schaut er sich Anleitungen und Dashboards an, aber gibt es immer Daten zu einer bestimmten Meldung und nicht nur allgemeine Informationen? Alspaugh rät dazu, „darüber nachzudenken, wie Sie die Benachrichtigung interpretieren oder darauf reagieren könnten“ (Folie 29)1. Eine gute Benachrichtigung konzentriert sich auf die diensthabende Person und nicht nur auf einen Schwellenwert.

Hier sind einige Ideen, wie Sie den Benachrichtigungskontext verbessern können:

  • Zeigen Sie dem Benutzer etwas Nützliches und Speziell Geschaffenes und nicht nur gewöhnliche Anweisungen oder ein Dashboard. Zuvor verwendeten die Jungs und ich Ermittlungs-Dashboards, die für bestimmte Benachrichtigungen konfiguriert waren. Dies hilft, wenn das Problem bekannt ist, führt aber nur zur Verwirrung anderer. Hier müssen wir eine Balance finden.
  • Erzählen Sie uns etwas über den Verlauf der Meldung: Ist sie neu? Funktioniert es oft? Ist es saisonal?
  • Aktuelle Änderungen am Systemstatus anzeigen. Hat sich in letzter Zeit etwas geändert? (Zum Beispiel Bereitstellung oder Aktivierung/Deaktivierung von Funktionen.)
  • Zeigen Sie die Zusammenhänge auf und liefern Sie Informationen für das mentale Modell: Systemabhängigkeiten sollten klar erkennbar sein, am besten mit Hinweis auf Funktionalität.
  • Verbinden Sie den Benutzer schnell mit dem Team: Kann er laufende Vorfälle sehen oder herausfinden, wer sonst noch im Unternehmen eine Benachrichtigung erhalten hat? Programm Vorfallmanagement aktiviert?

Im Idealfall bietet ein Vorfallmanagementprogramm Ratschläge zur Verbesserung des Benachrichtigungskontexts bei Vorfalluntersuchungen. Es gibt immer etwas zu arbeiten!

Umsetzbar – praktischer Wert

Sollte der diensthabende Beamte als Reaktion auf die Benachrichtigung etwas unternehmen? Wenn Sie nichts tun müssen oder unklar sind, was zu tun ist, warum haben Sie ihn dann geweckt? Sie müssen Benachrichtigungen vermeiden, die die Diensthabenden verärgern und keine Maßnahmen erfordern.

View post on imgur.com

Was soll ich machen? Was willst du?

In der Vergangenheit, als die Systeme noch einfach und die Teams klein waren, richteten wir eine Überwachung ein, nur um den Überblick zu behalten. Die Benachrichtigung, dass die Auslastung des Heaps zugenommen hat, gibt uns Aufschluss darüber, ob der Dienst später ausfällt. Im Großen und Ganzen werden solche Meldungen nur Verwirrung stiften, da sich unsere Systeme ständig in einem unterschiedlich starken Zustand der Verschlechterung befinden. Das führt schnell dazu Müdigkeit durch Benachrichtigungen und natürlich zum Verlust der Sensibilität. Daher ignoriert oder filtert der diensthabende Beamte solche Benachrichtigungen und reagiert nicht immer wie erforderlich darauf. Tappen Sie nicht in diese Falle! Richten Sie nicht alle Benachrichtigungen hintereinander ein und senden Sie sie dann per E-Mail an einen gottverdammten Ordner.

So sieht ein Hinweis mit praktischem Nutzen aus:

  • Eine Benachrichtigung erfordert Maßnahmen und nicht nur die Meldung von Neuigkeiten.
  • Es ist schwierig oder riskant, diese Aktion zu automatisieren. Wenn eine Aktion automatisiert werden kann, dann automatisieren Sie sie und hören Sie auf, Menschen zu belästigen!
  • Die Bekanntmachung enthält im Formular dringende Empfehlungen Service Level Agreements (SLA) bzw Erholungszeitziel (RTO). Der diensthabende Beamte kann dann das Vorfallmanagementprogramm der Organisation aktivieren.

Ich möchte klarstellen: Ich sage nicht, dass Benachrichtigungen nur für die wichtigsten SLOs (Service-Level-Ziele) für die API erfolgen sollten. Die SLO-Überwachung ist ständig fragmentiert und aufgeteilt und erfordert den gleichen Ansatz für alle Dienste. Es ist klar, dass Sie die wichtigsten SLOs für die Kunden verfolgen, die Sie bezahlen. Aber auch Infrastruktur-SLOs, wie zum Beispiel Datenbanken, müssen überwacht werden. Bald müssen Sie sich um interne Kunden kümmern und diese betreuen. Und so weiter bis ins Unendliche.

Symptombasiert – Betonung der Symptome

Ob es Ihnen gefällt oder nicht, Sie arbeiten in einem verteilten System (Kavaj)2. Daher verwenden Sie unterschiedliche Taktiken, um Dienste zu isolieren und vor Fehlern zu schützen (Trainor et al.)3. Und obwohl eine verzögerte Garbage Collection oder eine blockierte Datenbankabfrage auf Probleme hinweist, besteht kein Grund zur überstürzten Behebung, wenn Benutzer in naher Zukunft keine Probleme haben.

Dies sind wichtige Signale und können von praktischem Wert sein. Wenn sie den Benutzer jedoch nicht stören, sind sie auch nicht dringend genug, um den Bediener abzulenken. Ursachenbasierte Benachrichtigungen sind Momentaufnahmen unserer mentalen Modelle über einen Systemausfall. Es ist besser, wichtige Symptome zu verfolgen, als alle möglichen Fehlerursachen aufzulisten.

Um Benachrichtigungen aussagekräftig zu machen, konzentrieren Sie sich auf Leistungskennzahl, wichtig für Benutzer. Evashchuk nennt dies „Überwachung für Benutzer“. Denken Sie daran, dass diese Philosophie im gesamten Unternehmen angewendet werden muss. Wenn ein Dienst irgendwo tief in der Infrastruktur dringende Probleme hat, kümmert sich das entsprechende Team darum. Der Schutz von Systemen vor solchen Ausfällen ist eine völlig andere Angelegenheit (Trainer et al., Abschnitt über Strategien zur Minimierung kritischer Abhängigkeiten).3.

Die Symptome sind nicht so variabel

Richard Cook erinnert uns daran, dass komplexe Systeme voller Fehler, Unzulänglichkeiten und Probleme sind4. Der Versuch, alle möglichen Gründe aufzuzählen, ist eine Sisyphusarbeit. Sie versuchen, Probleme zu beschreiben, aber sie ändern sich ständig. Cindy Sridharan glaubt, dass „Systeme nicht jede Sekunde in perfektem Zustand sein müssen“ und dass es besser ist, einen menschlicheren Ansatz zu wählen („Beobachtbarkeit verteilter Systeme“ („Überwachung verteilter Systeme“), 7)5.

Vermeiden Sie Benachrichtigungen nach einem Vorfall

Typischerweise werden Benachrichtigungen für Ursachen konfiguriert, um Vorfälle zu beheben. Und diese begrenzten Benachrichtigungen über die Tatsache, was passiert ist, erzeugen ein falsches Sicherheitsgefühl, weil das System jedes Mal neue Wege findet, um zu brechen.

Lassen Sie sich nicht von Ursachenhinweisen täuschen. Denken Sie besser:

  • Warum hat die symptombasierte Benachrichtigung das Problem nicht bemerkt?
  • Wäre es hilfreich, den Kontext für den Benutzer zu verbessern?
  • Wie können Überwachungstools verbessert werden, um eine Diagnose schneller zu stellen, anstatt Benachrichtigungen über das Geschehen anzuhäufen?

Überwachungstools für die Diagnose helfen nur dann, wenn Sie sie als eine Möglichkeit betrachten, vom Symptom zur Lösung zu gelangen. Ohne dieses Feedback werden Sie einfach mit verspäteten Benachrichtigungen und Diagrammen über vergangene Fehler bombardiert – und kein Wort über zukünftige. Dies ist eine großartige Gelegenheit für eine Organisation, von der Verteidigung zum Angriff überzugehen. Und Entwickler und Produktmanager werden die gleichen Erwartungen und klaren Ziele haben. Der Fall - CASE (:wink:) - ist für jede Benachrichtigung klar.

Begründungsbasierte Benachrichtigungen sind in Maßen tolerierbar

Manchmal lässt uns unser System kaum eine Wahl, wenn es um ursachenbasierte Benachrichtigungen geht. Und manchmal ist den Diensthabenden völlig klar, dass ein Symptom zwangsläufig zum Scheitern führt und daher einen praktischen Wert hat. Vielleicht sind Sie sich einfach nicht sicher, was los ist, und richten sicherheitshalber Benachrichtigungen ein. Hoffentlich ist diese Aktion nur vorübergehend, bis wir das System ändern können, um das Leistungsproblem zu beheben.
Berücksichtigen Sie bei der Bewältigung dieser Situationen die anderen Komponenten von CASE. Nur weil es vorübergehend ist, heißt das nicht, dass Sie aufhören können, mit dem Kopf zu denken.

Bewertet - Bewertung

Jegliche Änderungen am System (neuer Code, neue Infrastruktur, alles Neue) erweitern die Fehlerspanne (Cook, 3).4 Funktioniert diese Benachrichtigung immer noch wie erwartet? Klare und aktuelle mentale Modelle von Systemen und Erfahrung beim Reagieren auf einige Support-Benachrichtigungen präventiver Ansatz - das sind die Hauptmerkmale lernorientierte Organisation. Fehler in Systemen entwickeln sich ständig weiter und wir müssen mit ihnen Schritt halten.

Sie müssen die Qualität jeder Benachrichtigung ständig bewerten, um sicherzustellen, dass sie wie erwartet funktioniert. Liebe Führungskräfte! Es wird für Ihre Teams viel einfacher sein, wenn Sie ihnen bei der Einrichtung dieses Prozesses helfen! Hier sind einige Bewertungsideen:

  • Verwenden Chaos-Engineering, Spieltage oder andere Benachrichtigungstestmethoden. Das Team kann es selbst erledigen, ohne auf ein umfangreiches Incident-Management-System angewiesen zu sein!
  • Integrieren Sie die Sammlung aller vorfallbezogenen Benachrichtigungen in Ihr Vorfallmanagementprogramm. Markieren Sie sie als nützlich, schädlich, unangemessen, unklar usw. Nutzen Sie sie als Feedback.
  • Die richtigen Benachrichtigungen werden selten ausgelöst und sorgfältig getestet. Stellen Sie sicher, dass alle Links funktionieren, auf den richtigen Kontext verweisen usw.
  • Wenn eine Benachrichtigung nie oder zu oft ausgelöst wird, stimmt etwas nicht. Repariere es oder entferne es. Hüten Sie sich vor übermäßiger Passivität oder Aktivität!
  • Legen Sie Benachrichtigungszeitstempel mit Ablaufdaten fest. Wenn das Ablaufdatum abgelaufen ist, werten Sie die Benachrichtigung mit der CASE-Methode aus und aktualisieren Sie den Zeitstempel. Überprüfen Sie, genau wie bei Lebensmitteln, regelmäßig das Verfallsdatum.
  • Vereinfachen Sie den Prozess zur Verbesserung von Benachrichtigungen. Verwenden Sie die Überwachung als Code und speichern Sie Benachrichtigungen in einem Git-Repository. Pull-Requests helfen dabei, das Team einzubeziehen und geben Ihnen einen Überblick über frühere Benachrichtigungen. Und Sie werden keine Angst mehr haben, Benachrichtigungen zu ändern oder die dafür verantwortlichen Personen um Erlaubnis zu bitten.
  • Richten Sie Feedback für Benachrichtigungen ein, auch wenn es einfach ist Google-Formular, sodass diensthabende Beamte Benachrichtigungen als nutzlos oder aufdringlich markieren. Betten Sie einen Link oder einen Call-to-Action in die Benachrichtigung selbst ein und überprüfen Sie Ihr Feedback regelmäßig.
  • Legen Sie im Team eine Regel fest – lassen Sie die Diensthabenden arbeiten, um den Dienst bei wenig Arbeit zu vereinfachen. Möge alles nach dir ein bisschen besser sein als vorher.

Abschluss

Ich glaube, dass die CASE-Methode Entwicklern und Organisationen dabei hilft, die Einrichtung und den Versand automatisierter Benachrichtigungen zu diskutieren. Ein Entwickler kann mit der Bewertung von Benachrichtigungen mithilfe der CASE-Methode beginnen, und dann wird die gesamte Organisation mit anderen Entwicklern, Management- und Incident-Management-Programmen zusammenarbeiten, um die Benachrichtigungen in gutem Zustand zu halten. Dafür sind keine Spezialwerkzeuge oder aufwändigen Prozesse erforderlich.

Die gesamte Branche muss im Dienst an den menschlichen Faktor denken, ohne dabei auf erstklassigen Kundenservice zu verzichten. Alle diese Tools und Praktiken können und sollten verbessert werden. Ich hoffe, dass die CASE-Methode dabei hilft.

Genießen Sie verbesserte Benachrichtigungen!
CASE-Methode: humane Überwachung

Source: habr.com

Kommentar hinzufügen