Entwickeln von Vorgängen mit Einblicken
Gewinnen Sie Einblick in das System, leiten Sie Erkenntnisse ab und treffen Sie datengesteuerte Entscheidungen. |
---|
Etablieren Sie eine Kultur, in der die Qualität kontinuierlich verbessert wird, indem Sie die Workload überwachen und alle Säulen des Azure Well-Architected Framework berücksichtigen. Ermöglichen Sie es dem Team und den Projektbeteiligten, sowohl kurzfristige als auch langfristige Entscheidungen in vielen Bereichen zu treffen, indem Sie die erforderlichen Daten, Statistiken und Trends bereitstellen. Lernen Sie aus Ihren Daten und treiben Sie Verbesserungen voran.
Vorgänge, die zum Zweck der Beobachtbarkeit erstellt wurden, sind entscheidend für die proaktive Wartung der Anwendung, die Sicherstellung von Qualität und Sicherheit, die Kapazitätsplanung und das Produktmanagement.
Ein wichtiger Aspekt der Anwendungsüberwachung ist die Anwendung von Zustandsmodellen, die Ihnen helfen, Probleme zu erkennen, bevor sie zu Vorfällen werden und die Kundenerfahrung beeinträchtigen. Effiziente Überwachung reduziert die für das Incident Management aufgewendeten reaktiven Zyklen.
Beispielszenario
Contoso hat für die interne Verwendung eine App namens Contoso Real Estate entwickelt. Mit dieser Web-App können neu eingestellte oder bestehende Mitarbeiter*innen, die umziehen, eine vorübergehende Unterkunft suchen und reservieren, um ihnen den Umzug zu erleichtern. Die Personalabteilung von Contoso verwendet die App auch, um Umzüge zu unterstützen.
Die App befindet sich in der Produktion und wird vollständig in Azure bereitgestellt. Sie basiert auf Mikrodiensten mit Azure Container Apps und verwendet auch Azure Functions, Azure Database for PostrgreSQL, Azure Blob Storage und Azure Monitor.
Beobachten Ihrer Workload durch Telemetrie
Geben Sie Telemetriedaten aus dem Anwendungscode aus, die die wichtigsten Punkte des Ausführungsflusses korrelieren und eine End-to-End-Ansicht auf verschiedenen Granularitätsebenen bieten.
Priorisieren Sie Aktionen auf der Grundlage des Schweregrads und verstehen Sie den Kontext angesichts der Ausführlichkeit. Diese Informationen sind für die Problembehandlung von entscheidender Bedeutung.
Herausforderung von Contoso
- Benutzer*innen melden, dass sie nach einem der letzten Updates der Contoso Real Estate Anwendung gelegentlich eine leere Seite oder eine generische Fehlermeldung auf der Suchseite der Web-App sehen. Die Fehler scheinen zufällig aufzutreten, und die Suchfunktion funktioniert in der Regel, wenn die Benutzer*innen die Seite einfach aktualisieren oder die Suche erneut durchführen.
- Bei der Überprüfung der Protokolle des Microservice für die Suche stellt das Team eine Zunahme von Fehlern aufgrund von Timeouts bei der Verbindung mit der Azure Database for PostgreSQL fest. Es gibt jedoch derzeit keine Möglichkeit festzustellen, ob ein Fehler, der in den Protokollen des Microservice für die Suche erscheint, mit den Fehlerseiten übereinstimmt, die die Benutzer*innen sehen oder nicht.
Umsetzung und Ergebnisse
- Das Entwicklungsteam hat beschlossen, die von der Web-App und den zentralen Microservices aufgezeichneten Informationen zu erweitern, um das Problem genauer zu untersuchen. Für das Such-Szenario stellen sie sicher, dass die Suchbegriffe zusammen mit anderen verfügbaren Transaktionsattributen wie Zeit, Client-IP und dem mit der Suche verbundenen Benutzernamen erfasst werden. Diese zusätzlichen Daten sollten ihnen genügend Informationen liefern, um Transaktionen über verschiedene Ebenen hinweg zu korrelieren.
- Durch diese Änderung konnte das Team bestätigen, dass Zeitüberschreitungen bei Datenbankabfragen, die in der letzten Aktualisierung der App nicht ordnungsgemäß gehandhabt wurden, die Hauptursache für die Fehler waren, die bei den Benutzern auftraten. Nachdem die Ursache gefunden war, war es für das Team ein Leichtes, eine Lösung zu implementieren.
- Das Team arbeitet nun an einem neuen Ansatz, bei dem OpenTelemetry eingesetzt wird, um eine umfassendere verteilte Tracing-Lösung zu implementieren, die alle Lösungsebenen abdeckt.
Visualisieren von Überwachungsdaten in Dashboards
Aggregieren und visualisieren Sie Daten in Dashboards, um Überwachungsdaten zielgruppengerecht zu präsentieren und den geschäftlichen Kontext zu berücksichtigen. Verwenden Sie situationsbezogene Dashboards, um die Daten zu veröffentlichen und das Bewusstsein der Beteiligten zu schärfen. Verwenden Sie Betriebs-Dashboards und Arbeitsmappen mit Drilldown-Funktionen für Operator-Aktivitäten wie Incident Response. Aktualisieren Sie die Dashboards häufig und stellen Sie granulare Daten bereit.
Mithilfe von Visualisierungen können Sie Trends analysieren, Geschäftsziele verfolgen und Incidents verwalten.
Dashboards, die auf die Interessen der Kund*innen zugeschnitten sind, erhöhen die Aussagekraft und sorgen dafür, dass Probleme schneller erkannt und behoben werden können.
Herausforderung von Contoso
- Das Workload-Team fasst Telemetriedaten aus allen Lösungsebenen in einem einzigen Log Analytics-Arbeitsbereich zusammen, auf den die Betriebs- und Entwicklungsteams sowie andere Projektbeteiligte zugreifen können. Die Interaktion mit den Daten ist jedoch schwierig und komplex, was für Teammitglieder, die irrelevante von verwertbaren Daten unterscheiden müssen, frustrierend ist.
Umsetzung und Ergebnisse
- Das Team bemüht sich, die Daten mithilfe von Dashboards zu aggregieren und zu visualisieren. Jedes Dashboard wird auf ein bestimmtes Publikum zugeschnitten sein:
- Die Dashboards für die Projektbeteiligten sind eher geschäftsorientiert und bieten einen Überblick über den Gesamtzustand der Lösung sowie Geschäftsindikatoren wie die Anzahl der Benutzer*innen, Suchanfragen und Reservierungen.
- Betriebs-Dashboards und Arbeitsmappen enthalten detaillierte und granulare Daten für das Betriebsteam. Diese Dashboards verfügen über Drilldown-Funktionen, mit denen Benutzer*innen die Daten auf verschiedenen Granularitätsebenen untersuchen können. Die Benutzer*innen können diese Dashboards und Arbeitsmappen verwenden, um Problembehandlungen und andere Incident Response-Aufgaben durchzuführen.
- Die Dashboards ermöglichen es den Benutzer*innen, Trends zu analysieren, Geschäftsziele zu verfolgen und Incidents effektiver zu verwalten. Die auf jedem Dashboard dargestellten Daten werden für die Zielgruppe relevanter sein und sich an deren Interessen und Bedürfnissen orientieren.
Entwerfen einer robusten Warnungsstrategie
Gestalten Sie Warnungen so, dass sie umsetzbar sind, indem Sie die verantwortlichen Rollen mit standardisierten Beschreibungen und Schweregraden benachrichtigen. Stellen Sie Informationen bereit, die aus verschiedenen Quellen zusammengetragen werden, und verfolgen Sie Abweichungen von den Geschäftszielen.
Lösen Sie Warnungen nur bei Incidents aus, die Maßnahmen erfordern, und bemühen Sie sich um proaktive und zum Nachdenken anregende Warnungen, die Maßnahmen einleiten, bevor ein fehlerhafter Zustand zu einem Ausfall wird. Ein gutes Warnsystem identifiziert Aktionen und Schweregrad und liefert gerade genug Daten, um Klarheit und Zweckmäßigkeit zu schaffen. Operatoren können ohne Verzögerung mit der Behebung des Problems beginnen.
Herausforderung von Contoso
- Azure Monitor wird verwendet, um Warnungen an das Betriebsteam zu senden, wenn etwas schief läuft. Allerdings erhält das Team derzeit zu viele Warnungen, die irrelevant, unklar oder redundant sind. Dies führt zu einer Ermüdungswirkung, die die Produktivität des Teams beeinträchtigt und dazu führt, dass einige wichtige Warnungen unbemerkt bleiben.
- Es gab auch einige Fälle von Ausfällen, die verhindert oder minimiert hätten werden können, wenn rechtzeitig eine Warnung gesendet worden wäre. Hätte das Team eine bessere Warnfunktion gehabt, bevor es zu Ausfällen kommt, hätten diese Situationen vielleicht vermieden werden können. So gab es beispielsweise Fälle, in denen eine Verlangsamung der Verarbeitungszeit von Datenbankabfragen zu Ausfällen geführt hat. Bei der Problembehandlung der Ausfälle stellt das Team fest, dass die Leistung der Abfrageverarbeitung im Laufe der Zeit langsam abnimmt und immer schlechter wird, bis es schließlich zu einem kompletten Ausfall kommt.
Umsetzung und Ergebnisse
- Das Betriebsteam startet eine Initiative, um alle Warnungen mit niedriger Priorität zu beseitigen, die zu einer Ermüdungswirkung führen. Nur kritische und umsetzbare Warnungen dürfen aktiviert bleiben. Außerdem prüft das Team die Warnungen, die aktiv bleiben, um sicherzustellen, dass diese genügend Kontext enthalten, um die notwendigen Korrekturmaßnahmen ergreifen zu können (und verbessert sie bei Bedarf).
- Das Team nutzt auch die Gelegenheit, neue proaktive und umsetzbare Warnmeldungen zu definieren, durch die Maßnahmen ergriffen werden können, bevor ein Fehler auftritt. Beispielsweise werden die DBAs mit einer neuen Warnung benachrichtigt, sobald sich die Leistung von Datenbankabfragen kontinuierlich verschlechtert.
- In einem nächsten Schritt prüft das Team die Automatisierung von Reaktionen auf häufige Warnmeldungen, wie z. B. die Situation bei der Leistung von Datenbankabfragen.