Empfehlungen für das Entwerfen und Erstellen eines Überwachungssystems

Gilt für diese Checkliste für azure Well-Architected Framework Operational Excellence:

OE:07 Entwerfen und implementieren Sie ein Überwachungssystem, um Designentscheidungen zu validieren und zukünftige Design- und Geschäftsentscheidungen zu treffen. Dieses System erfasst und macht betriebstechnische Telemetrie, Metriken und Protokolle verfügbar, die aus der Infrastruktur und dem Code der Workload ausgegeben werden.

Verwandter Leitfaden: Empfehlungen für die Instrumentierung einer Anwendung

In diesem Leitfaden werden die Empfehlungen zum Entwerfen und Erstellen eines Überwachungssystems beschrieben. Um Ihre Arbeitsauslastung effektiv auf Sicherheit, Leistung und Zuverlässigkeit zu überwachen, benötigen Sie ein umfassendes System mit einem eigenen Stapel, der die Grundlage für alle Überwachungs-, Erkennungs- und Warnfunktionen bietet.

Definitionen

Begriff Definition
Protokolle Aufgezeichnete Systemereignisse. Protokolle können unterschiedliche Datentypen in einem strukturierten oder freiformatigen Textformat enthalten. Sie enthalten einen Zeitstempel.
Metriken Numerische Werte, die in regelmäßigen Abständen gesammelt werden. Metriken beschreiben einige Aspekte eines Systems zu einem bestimmten Zeitpunkt.

Wichtige Entwurfsstrategien

Um ein umfassendes Überwachungssystemdesign für Ihre Workload zu implementieren, befolgen Sie die folgenden Kern-Tenets:

  • Nutzen Sie, wann immer praktisch, plattformgestützte Überwachungstools, die in der Regel nur sehr wenig Konfiguration erfordern, und können tiefe Einblicke in Ihre Workload liefern, die andernfalls schwierig zu erreichen ist.

  • Sammeln Sie Protokolle und Metriken aus dem gesamten Workloadstapel. Alle Infrastrukturressourcen und Anwendungsfunktionen sollten so konfiguriert werden, dass standardisierte, aussagekräftige Daten erstellt werden und diese Daten gesammelt werden müssen.

  • Speichern Sie die gesammelten Daten in einer standardisierten, zuverlässigen und sicheren Speicherlösung.

  • Verarbeiten Sie gespeicherte Daten, damit sie von Analyse- und Visualisierungslösungen verarbeitet werden können.

  • Analysieren Sie verarbeitete Daten, um den Zustand der Workload genau zu bestimmen.

  • Visualisieren Sie den Status der Arbeitsauslastung in aussagekräftigen Dashboards oder Berichten für Arbeitsauslastungsteams und andere Projektbeteiligte.

  • Konfigurieren Sie Aktionen erfordernde Warnungen und andere automatische Antworten auf intelligent definierte Schwellenwerte, um Workloadteams zu benachrichtigen, wenn Probleme auftreten.

  • Schließen Sie Überwachungs- und Benachrichtigungssysteme in Ihre allgemeinen Arbeitsauslastungstests ein.

  • Stellen Sie sicher, dass Überwachungs- und Warnsysteme im Rahmen einer kontinuierlichen Verbesserung stehen. Das Anwendungs- und Infrastrukturverhalten in der Produktion bietet kontinuierliche Lernmöglichkeiten. Integrieren Sie diese Lektionen in Überwachungs- und Alarmierungsdesigns.

  • Binden Sie die Überwachungsdaten, die Sie sammeln und analysieren, mit Ihrem System und den Benutzerflüssen zusammen, um die Integrität der Flüsse mit den Daten zusätzlich zur allgemeinen Integrität der Workload zu korrelieren. Die Analyse dieser Daten in Bezug auf die Flüsse trägt dazu bei, Ihre Observability-Strategie mit Ihrem Integritätsmodell auszurichten.

Sie sollten alle Funktionen des Überwachungssystems so weit wie möglich automatisieren, und sie sollten alle täglich kontinuierlich, täglich ausgeführt werden.

Diese Workflowpipeline veranschaulicht das Überwachungssystem:

Diagramm, das die Phasen eines umfassenden Überwachungssystems als Pipeline zeigt.

Sammeln von Instrumentierungsdaten

Hinweis

Sie müssen Ihre Anwendung instrumentieren, um die Protokollierung zu aktivieren. Weitere Informationen finden Sie im Instrumentierungshandbuch.

Sie sollten alle Workloadkomponenten konfigurieren, unabhängig davon, ob es sich um Infrastrukturressourcen oder Anwendungsfunktionen handelt, um Telemetrie und/oder Ereignisse wie Protokolle und Metriken zu erfassen.

Protokolle sind in erster Linie nützlich, um Anomalien zu erkennen und zu untersuchen. In der Regel werden Protokolle von der Workloadkomponente erstellt und dann über die Automatisierung an die Überwachungsplattform gesendet oder von der Überwachungsplattform abgerufen.

Metriken sind in erster Linie nützlich, um ein Integritätsmodell zu erstellen und Trends bei der Arbeitsauslastungsleistung und Zuverlässigkeit zu identifizieren. Metriken sind auch hilfreich, um Trends im Nutzungsverhalten Ihrer Kunden zu identifizieren. Diese Trends können dabei helfen, Entscheidungen über Verbesserungen aus der Kundenperspektive zu treffen. In der Regel werden Metriken in der Überwachungsplattform definiert, und die Überwachungsplattform und andere Tools fordern die Workload ab, um Metriken zu erfassen.

Anwendungsdaten

Bei Anwendungen kann der Sammlungsdienst ein APM-Tool (Application Performance Management) sein, das unabhängig von der Anwendung ausgeführt werden kann, die die Instrumentierungsdaten generiert. Nachdem APM aktiviert wurde, haben Sie klare Einblicke in wichtige Metriken, in Echtzeit und historisch. Verwenden Sie eine geeignete Protokollierungsebene. Die ausführliche Protokollierung kann erhebliche Kosten verursachen. Legen Sie Protokollebenen entsprechend der Umgebung fest. Niedrigere Umgebungen benötigen z. B. nicht die gleiche Ausführlichkeit wie die Produktion.

Anwendungsprotokolle dienen dem Lebenszyklus von End-to-End-Anwendungen. Die Protokollierung ist wichtig, um zu verstehen, wie die Anwendung in verschiedenen Umgebungen funktioniert, welche Ereignisse auftreten, und die Bedingungen, unter denen sie auftreten.

Es wird empfohlen, Anwendungsprotokolle und Ereignisse in allen wichtigen Umgebungen zu sammeln. Trennen Sie die Daten so weit wie möglich zwischen Umgebungen, indem Sie unterschiedliche Datenspeicher für jede Umgebung verwenden, wenn dies praktisch ist. Verwenden Sie Filter, um sicherzustellen, dass nicht kritische Umgebungen die Interpretation von Produktionsprotokollen nicht erschweren. Schließlich sollten entsprechende Protokolleinträge in der gesamten Anwendung eine Korrelations-ID für ihre jeweiligen Transaktionen erfassen.

Sie sollten Anwendungsereignisse in strukturierten Datentypen mit maschinenlesbaren Datenpunkten erfassen, nicht als unstrukturierte Zeichenfolgentypen. Ein strukturiertes Format, das ein bekanntes Schema verwendet, kann das Parsen und Analysieren von Protokollen vereinfachen. Außerdem können strukturierte Daten problemlos indiziert und durchsucht werden, und die Berichterstellung kann erheblich vereinfacht werden.

Daten sollten in einem agnostischen Format vorliegen, das unabhängig vom Computer, Betriebssystem oder Netzwerkprotokoll ist. Geben Sie beispielsweise Informationen in einem selbst beschreibenden Format wie JSON, MessagePack oder Protobuf anstelle von ETL/ETW aus. Ein Standardformat ermöglicht dem System das Erstellen von Verarbeitungspipelines. Komponenten, die Daten im Standardformat lesen, transformieren und senden, können problemlos integriert werden.

Infrastrukturdaten

Stellen Sie für Infrastrukturressourcen in Ihrer Workload sicher, dass Sie sowohl Protokolle als auch Metriken sammeln. Für Infrastruktur as a Service (IaaS)-Systeme erfassen Sie zusätzlich zu Metriken im Zusammenhang mit der Arbeitsauslastungsintegrität Betriebssystem-, Anwendungsschicht- und Diagnoseprotokolle. Bei PaaS-Ressourcen (Platform as a Service) können Sie möglicherweise Protokolle erfassen, die mit der zugrunde liegenden Infrastruktur zusammenhängen. Stellen Sie jedoch sicher, dass Sie Diagnoseprotokolle zusätzlich zu Metriken im Zusammenhang mit der Arbeitsauslastungsintegrität erfassen können.

Sammeln Sie so oft wie möglich Protokolle von Ihrer Cloudplattform. Sie können möglicherweise Aktivitätsprotokolle für Ihr Abonnement und Diagnoseprotokolle für die Verwaltungsebene sammeln.

Sammlungsstrategien

Vermeiden Sie es, Telemetriedaten aus jeder Komponente manuell abzurufen. Verschieben Sie Daten an einen zentralen Ort, und konsolidieren Sie sie dort. Für eine Lösung mit mehreren Regionen empfehlen wir, zuerst Daten nach Region zu sammeln, zu konsolidieren und zu speichern und dann die regionalen Daten in einem einzigen zentralen System zu aggregieren.

Kompromiss: Beachten Sie, dass es Kostenauswirkungen für regionale und zentralisierte Datenspeicher gibt.

Um die Nutzung der Bandbreite zu optimieren, liegt die Priorität bei der Wichtigkeit von Daten. Sie können weniger dringende Daten in Batches übertragen. Diese Daten dürfen jedoch nicht auf unbestimmte Zeit verzögert werden, insbesondere, wenn sie zeitabhängige Informationen enthält.

Es gibt zwei primäre Modelle, mit denen der Sammlungsdienst Instrumentierungsdaten sammeln kann:

  • Pullmodell: Ruft Aktiv Daten aus den verschiedenen Protokollen und anderen Quellen für jede Instanz der Anwendung ab.

  • Pushmodell: Wartet passiv darauf, dass die Daten von den Komponenten gesendet werden, die jede Instanz der Anwendung darstellen.

Überwachungs-Agents

Sie können Überwachungs-Agents im Pullmodell verwenden. Agents werden lokal in einem separaten Prozess mit jeder Instanz der Anwendung ausgeführt, wobei daten regelmäßig abgerufen und die Informationen direkt in den gemeinsamen Speicher geschrieben werden, der von allen Instanzen der Anwendung freigegeben wird.

Diagramm, das die Verwendung eines Überwachungs-Agents zeigt, um Informationen abzurufen und in freigegebenen Speicher zu schreiben.

Hinweis

Die Verwendung eines Überwachungs-Agents eignet sich hervorragend zum Erfassen von Instrumentierungsdaten, die naturgemäß per Pull aus einer Datenquelle übertragen werden. Es eignet sich für eine kleine Anwendung, die an einer begrenzten Anzahl von Knoten an einer einzigen Position ausgeführt wird. Beispiele sind Informationen aus dynamischen SQL Server-Verwaltungsansichten oder der Länge einer Azure Service Bus-Warteschlange.

Leistungsaspekte

Eine komplexe und hoch skalierbare Anwendung kann große Datenmengen generieren. Die Datenmenge kann die verfügbare E/A-Bandbreite für einen einzelnen zentralen Standort problemlos überfordern. Die Telemetrielösung darf nicht als Engpass fungieren und muss skalierbar sein, wenn das System erweitert wird. Im Idealfall sollte die Lösung einen Grad an Redundanz integrieren, um die Risiken zu reduzieren, dass wichtige Überwachungsinformationen verloren gehen (z. B. Überwachungs- oder Abrechnungsdaten), wenn ein Teil des Systems fehlschlägt.

Eine Möglichkeit zum Puffern von Instrumentierungsdaten ist die Verwendung von Warteschlangen:

Diagramm, das zeigt, wie Sie eine Warteschlange zum Puffern von Instrumentierungsdaten verwenden können.

In dieser Architektur sendet der Datensammlungsdienst Daten an eine Warteschlange. Eine Nachrichtenwarteschlange eignet sich, da sie "mindestens einmal"-Semantik bereitstellt, mit der sichergestellt wird, dass in die Warteschlange eingereihte Daten nach dem Posten nicht mehr verloren gehen. Sie können den Speicherschreibdienst mithilfe einer separaten Workerrolle implementieren. Sie können das Muster "Priority Queue" verwenden, um diese Architektur zu implementieren.

Zur Skalierbarkeit können Sie mehrere Instanzen des Speicherschreibdiensts ausführen. Wenn eine hohe Anzahl von Ereignissen oder eine hohe Anzahl von Datenpunkten überwacht wird, können Sie Azure Event Hubs verwenden, um die Daten zur Verarbeitung und Speicherung an eine andere Computeinstanz zu verteilen.

Konsolidierungsstrategien

Die von einer einzelnen Instanz einer Anwendung gesammelten Daten bieten eine lokalisierte Ansicht der Integrität und Leistung dieser Instanz. Um die Gesamtintegrität des Systems zu bewerten, müssen Sie einige Aspekte der Daten aus den lokalen Ansichten konsolidieren. Sie können dies tun, nachdem die Daten gespeichert wurden, aber in einigen Fällen können Sie dies tun, wenn die Daten gesammelt werden.

Diagramm, das ein Beispiel für die Verwendung eines Diensts zum Konsolidieren von Instrumentierungsdaten zeigt.

Die Instrumentierungsdaten können einen separaten Datenkonsolidierungsdienst durchlaufen, der Daten kombiniert und die Rolle eines Filter- und Bereinigungsprozesses übernimmt. Sie können z. B. Daten zur Instrumentierung zusammenführen, die dieselben Korrelationsinformationen enthalten, z. B. eine Aktivitäts-ID. (Ein Benutzer startet möglicherweise einen Geschäftsvorgang auf einem Knoten und wird dann an einen anderen Knoten übertragen, wenn der erste Knoten fehlschlägt oder aufgrund der Konfiguration des Lastenausgleichs.) Dieser Vorgang kann auch duplizierte Daten erkennen und entfernen. (Duplizierung kann auftreten, wenn der Telemetriedienst Nachrichtenwarteschlangen verwendet, um Daten der Instrumentierung an den Speicher zu übertragen.)

Speichern von Daten für Abfrage und Analyse

Berücksichtigen Sie beim Auswählen einer Speicherlösung die Art der Daten, deren Verwendung und wie dringend sie erforderlich ist.

Hinweis

Verwenden Sie separate Speicherlösungen für Nichtproduktions- und Produktionsumgebungen, um sicherzustellen, dass Daten aus jeder Umgebung leicht zu identifizieren und zu verwalten sind.

Speichertechnologien

Erwägen Sie einen Polyglot-Persistenzansatz, bei dem unterschiedliche Informationstypen in Technologien gespeichert werden, die am besten geeignet für die Verwendung der einzelnen Typen sind.

Beispielsweise wird auf ähnliche Weise auf Azure Blob Storage und Azure Table Storage zugegriffen. Aber die Vorgänge, die Sie für sie ausführen können, unterscheiden sich, ebenso wie die Granularität der Daten, die sie enthalten. Wenn Sie weitere analytische Vorgänge durchführen müssen oder Volltext-Suchfunktionen für die Daten erforderlich sind, ist möglicherweise die Nutzung einer Datenspeicherung besser geeignet, die für bestimmte Typen von Abfragen und Datenzugriff optimierte Funktionen bietet. Beispiel:

  • Leistungsindikatordaten können in einer SQL-Datenbank gespeichert werden, um eine Ad-hoc-Analyse zu ermöglichen.

  • Es ist möglicherweise besser, Ablaufverfolgungsprotokolle in Azure Monitor-Protokollen oder Azure-Daten-Explorer zu speichern.

  • Sie können Sicherheitsinformationen in einer HDFS-Lösung speichern.

Die gleichen Instrumentierungsdaten können für mehrere Zwecke erforderlich sein. Sie können z. B. Leistungsindikatoren verwenden, um eine historische Ansicht der Systemleistung im Laufe der Zeit bereitzustellen. Diese Informationen können mit anderen Nutzungsdaten kombiniert werden, um Abrechnungsinformationen für Kunden zu generieren. In diesen Fällen können dieselben Daten an mehrere Ziele gesendet werden, z. B. an eine Dokumentdatenbank, die ein langfristiger Speicher für die Aufbewahrung von Abrechnungsinformationen sein kann, und an einen mehrdimensionalen Speicher für die Behandlung komplexer Leistungsanalysen.

Stellen Sie sicher, dass Sie funktionen aktivieren, um die Daten vor versehentlichem Löschen zu schützen, z. B. Ressourcensperren und vorläufiges Löschen.

Stellen Sie außerdem sicher, dass Sie den Zugriff auf den Speicher mithilfe der rollenbasierten Zugriffssteuerung sichern, um sicherzustellen, dass nur Personen, die auf die Daten zugreifen müssen, dies tun können.

Konsolidierungsdienst

Sie können einen anderen Dienst implementieren, der die Daten in regelmäßigen Abständen aus freigegebenem Speicher abruft, partitioniert und filtert sie entsprechend seinem Zweck und schreibt ihn dann in einen entsprechenden Satz von Datenspeichern.

Diagramm, das einen Datenpartitionierungsdienst zeigt, der Daten basierend auf seinem Typ in einen geeigneten Datenspeicher verschiebt.

Ein alternativer Ansatz besteht darin, diese Funktionalität in den Konsolidierungs- und Bereinigungsvorgang einzubeziehen und die Daten direkt beim Abrufen in diese Speicher zu schreiben, anstatt sie in einem freigegebenen Zwischenspeicherbereich zu speichern.

Jeder Ansatz hat Vor- und Nachteile. Durch die Implementierung eines separaten Partitionierungsdiensts wird die Auslastung des Konsolidierungs- und Bereinigungsdiensts reduziert, und es ermöglicht, mindestens einige der partitionierten Daten bei Bedarf neu zu generieren (je nachdem, wie viele Daten im freigegebenen Speicher aufbewahrt werden). Dieser Ansatz verbraucht jedoch zusätzliche Ressourcen. Zudem gibt es möglicherweise eine Verzögerung zwischen den Empfang von Instrumentierungsdaten von den einzelnen Anwendungsinstanzen und der Konvertierung dieser Daten in verwertbare Informationen.

Überlegungen zu Abfragen

Überlegen Sie, wie dringend die Daten erforderlich sind. Daten, die Warnungen bereitstellen, müssen schnell zugänglich sein, daher sollten sie in einem schnellen Datenspeicher gehalten und so indiziert oder strukturiert werden, dass die vom Warnsystem durchgeführten Abfragen optimiert durchgeführt werden. In einigen Fällen kann es erforderlich sein, dass der Sammlungsdienst Daten lokal formatiert und speichert, damit eine lokale Instanz des Warnsystems schnell Benachrichtigungen senden kann. Die gleichen Daten können an den in den vorherigen Diagrammen gezeigten Speicherschreibdienst verteilt und zentral gespeichert werden, wenn sie für weitere Zwecke erforderlich sind.

Überlegungen zur Datenaufbewahrung

In einigen Fällen können Sie nach der Verarbeitung und Übertragung der Daten die ursprünglichen rohen Quelldaten entfernen, die lokal gespeichert wurden. In anderen Fällen kann es erforderlich oder nützlich sein, die Rohdaten zu speichern. So können Sie beispielsweise Daten beibehalten, die für das Debuggen im rohen Format generiert werden, aber sie dann schnell verwerfen, nachdem fehler behoben wurden.

Leistungsdaten haben oft eine längere Lebensdauer, sodass Sie sie zum Erkennen von Leistungstrends und zur Kapazitätsplanung verwenden können. Die konsolidierte Ansicht dieser Daten bleibt in der Regel für einen begrenzten Zeitraum online, um einen schnellen Zugriff zu ermöglichen. Danach können diese Daten archiviert oder verworfen werden.

Dies ist zum Speichern von Verlaufsdaten sinnvoll, um langfristige Trends zu ermitteln zu können. Anstatt alte Daten vollständig zu speichern, können Sie die Daten möglicherweise heruntersampen, um die Auflösung zu reduzieren und Speicherkosten zu sparen. Anstatt z. B. Minuten-nach-Minuten-Leistungsindikatoren zu speichern, können Sie Daten konsolidieren, die länger als ein Monat alt sind, um eine Stunden-nach-Stunden-Ansicht zu bilden.

Für die Messung und die Kundenabrechnung gesammelte Daten müssen möglicherweise dauerhaft gespeichert werden. Darüber hinaus können regulatorische Anforderungen diktieren, dass die für die Überwachung und Sicherheit gesammelten Informationen archiviert und gespeichert werden müssen. Diese Daten sind zudem vertraulich und müssen möglicherweise verschlüsselt oder auf andere Art geschützt werden, um Manipulationen zu verhindern. Sie sollten niemals Benutzerkennwörter oder andere Informationen aufzeichnen, die verwendet werden können, um Identitätsbetrug zu übernehmen. Sie sollten diese Details aus den Daten löschen, bevor sie gespeichert werden.

Um sicherzustellen, dass Sie Gesetze und Vorschriften einhalten, minimieren Sie die Speicherung von identifizierbaren Informationen. Wenn Sie identifizierbare Informationen speichern müssen, achten Sie beim Entwerfen Ihrer Lösung darauf, die Anforderungen zu berücksichtigen, mit denen Einzelpersonen anfordern können, dass ihre Informationen gelöscht werden.

Analysieren von Daten, um die Integrität einer Workload zu verstehen

Nachdem Sie Daten aus verschiedenen Datenquellen gesammelt haben, analysieren Sie sie, um das Gesamtwohl des Systems zu bewerten. Für diese Analyse haben Sie ein klares Verständnis von:

  • Strukturieren von Daten basierend auf KPIs und Leistungsmetriken, die Sie definiert haben.

  • Dem Korrelieren der in verschiedenen Metriken und Protokolldateien erfassten Daten Diese Korrelation ist wichtig, wenn Sie eine Abfolge von Ereignissen verfolgen und Ihnen helfen können, Probleme zu diagnostizieren.

In den meisten Fällen werden Daten für jede Komponente der Architektur lokal erfasst und dann genau mit Daten kombiniert, die von anderen Komponenten generiert werden.

Eine Anwendung mit drei Ebenen kann z. B. folgendes haben:

  • Eine Präsentationsebene, mit der ein Benutzer eine Verbindung mit einer Website herstellen kann.

  • Eine mittlere Ebene, die eine Reihe von Microservices hostet, die Geschäftslogik verarbeitet.

  • Eine Datenbankebene, die dem Vorgang zugeordnete Daten speichert.

Die Nutzungsdaten für einen einzelnen Geschäftsvorgang umfassen möglicherweise alle drei Ebenen. Diese Informationen müssen korreliert werden, um eine allgemeine Ansicht der Ressourcen- und Verarbeitungsnutzung für den Vorgang zu erhalten. Die Korrelation kann die Vorverarbeitung und Filterung von Daten auf der Datenbankebene umfassen. Auf der mittleren Ebene sind Aggregation und Formatierung häufige Aufgaben.

Empfehlungen

  • Korrelieren Sie Protokolle auf Anwendungsebene und Ressourcenebene. Bewerten Sie Daten auf beiden Ebenen, um die Erkennung von Problemen und die Problembehandlung dieser Probleme zu optimieren. Sie können die Daten in einer einzelnen Datensenke aggregieren oder Methoden nutzen, die Ereignisse auf beiden Ebenen abfragen. Wir empfehlen eine einheitliche Lösung wie Azure Log Analytics, um Protokolle auf Anwendungsebene und Ressourcenebene zu aggregieren und abzufragen.

  • Definieren Sie klare Aufbewahrungszeiten für den Speicher für die Kaltanalyse. Wir empfehlen diese Praxis, historische Analysen über einen bestimmten Zeitraum zu ermöglichen. Es kann Ihnen auch helfen, die Speicherkosten zu steuern. Implementieren Sie Prozesse, die sicherstellen, dass Daten in günstigerer Speicherung archiviert werden und Daten für eine langfristige Trendanalyse aggregiert werden.

  • Analysieren Sie langfristige Trends, um operative Probleme vorherzusagen. Bewerten Sie langfristige Daten, um operative Strategien zu bilden, und um zu prognostizieren, welche operativen Probleme wahrscheinlich auftreten, und wann. Sie können beispielsweise feststellen, dass durchschnittliche Reaktionszeiten im Laufe der Zeit langsam steigen und sich dem maximalen Ziel nähern.

Ausführliche Anleitungen zu diesen Empfehlungen finden Sie unter Analysieren von Überwachungsdaten für Cloudanwendungen.

Visualisieren von Arbeitsauslastungsintegritätsberichten

Dashboards

Die am häufigsten verwendete Möglichkeit zum Visualisieren von Daten besteht darin, Dashboards zu verwenden, die Informationen als Eine Reihe von Diagrammen oder in einer anderen visuellen Form anzeigen können. Diese Elemente können parametrisiert werden, und ein Analyst kann die wichtigen Parameter wie den Zeitraum für jede bestimmte Situation auswählen.

Richten Sie Ihre Dashboards mit Ihrem Integritätsmodell so aus, dass sie angeben, wann die Workload oder Komponenten der Workload fehlerfrei, beeinträchtigt oder fehlerhaft sind.

Damit ein Dashboardsystem effektiv funktioniert, muss es für das Workloadteam sinnvoll sein. Visualisieren Sie Informationen, die sich auf die Arbeitsauslastungsintegrität beziehen und dies auch umsetzbar ist. Wenn die Arbeitsauslastung oder komponente beeinträchtigt oder fehlerhaft ist, sollten Mitglieder des Workloadteams leicht erkennen können, wo in der Workload das Problem entsteht, und beginnen sie mit ihren Korrekturmaßnahmen oder Untersuchungen. Umgekehrt können Informationen, die nicht umsetzbar sind oder die nicht mit der Arbeitsauslastungsintegrität verbunden sind, das Dashboard unnötig komplex und frustrierend für Teammitglieder machen, die versuchen, Hintergrundgeräusche aus umsetzbaren Daten zu erkennen.

Möglicherweise verfügen Sie über Dashboards für Projektbeteiligte oder Entwickler, die so angepasst sind, dass nur Daten über die Workload angezeigt werden, die sie relevant finden. Stellen Sie sicher, dass das Workloadteam die Arten von Datenpunkten versteht, die andere Teams für die Anzeige und Vorschau der Dashboards interessieren, bevor sie freigegeben werden, um klarheitsvoll zu prüfen. Die Bereitstellung von Dashboards über Ihre Arbeitsauslastung für Projektbeteiligte ist eine gute Möglichkeit, sie auf die Integrität der Arbeitsauslastung zu beschränken, birgt jedoch das Risiko, kontraproduktiv zu sein, wenn die Beteiligten die angezeigten Daten nicht klar verstehen.

Ein gutes Dashboard zeigt nicht nur Informationen an. Außerdem ermöglicht es einem Analysten, improvisierte Fragen zu diesen Informationen zu stellen. Einige Systeme bieten Verwaltungstools, mit denen ein Operator diese Aufgaben ausführen und die zugrunde liegenden Daten untersuchen kann. Je nach Repository, das zum Speichern der Informationen verwendet wird, kann es möglicherweise möglich sein, die Daten direkt abzufragen oder in Tools wie Excel für weitere Analysen und Berichte zu importieren.

Hinweis

Einschränken des Dashboardzugriffs auf autorisierte Mitarbeiter. Informationen zu Dashboards sind möglicherweise kommerziell vertraulich. Außerdem sollten Sie die zugrunde liegenden Daten schützen, um benutzer daran zu hindern, sie zu ändern.

Reporting

Die Berichterstellung wird verwendet, um eine allgemeine Übersicht über das System zu generieren. Es kann historische Daten und aktuelle Informationen enthalten. Anforderungen an die Berichterstellung fallen in zwei breite Kategorien: die operative Berichterstellung für die Sicherheitsberichterstellung.

Die operative Berichterstellung umfasst in der Regel Folgendes:

  • Das Aggregieren von Statistiken, mit denen die Ressourcennutzung des gesamten Systems oder angegebener Subsysteme innerhalb eines angegebenen Zeitraums nachvollzogen werden kann

  • Das Identifizieren von Trends bei der Ressourcenverwendung für das gesamte System oder für die angegebenen Subsysteme während eines bestimmten Zeitraums

  • Das Überwachen von Ausnahmen, die im gesamten System oder in bestimmten Subsystemen während eines angegebenen Zeitraums aufgetreten sind.

  • Die Ermittlung der Effizienz der Anwendung für die bereitgestellten Ressourcen und das Verständnis, ob das Ressourcenvolumen und die damit verbundenen Kosten reduziert werden können, ohne die Leistung unnötig zu beeinträchtigen.

Die Sicherheitsberichterstattung verfolgt die Kundennutzung des Systems. Dazu gehört:

  • Überwachen von Benutzervorgängen: Für diese Aufgabe müssen die einzelnen Anforderungen aufgezeichnet werden, die jeder Benutzer abgeschlossen hat, zusammen mit Datums- und Uhrzeitangaben. Die Daten sollten so strukturiert sein, dass ein Administrator schnell die Abfolge der Vorgänge rekonstruieren kann, die ein Benutzer während eines bestimmten Zeitraums abgeschlossen hat.

  • Nachverfolgen der Ressourcennutzung nach Benutzer: Für diese Aufgabe muss aufgezeichnet werden, wie jede Anforderung eines Benutzers auf die verschiedenen Ressourcen zugreift, die das System verfassen, und wie lange. Ein Administrator kann diese Daten verwenden, um einen Nutzungsbericht nach Benutzer für einen bestimmten Zeitraum zu generieren, möglicherweise für die Abrechnung.

In vielen Fällen können Batchprozesse Berichte nach einem definierten Zeitplan generieren. Die Wartezeit ist normalerweise kein Problem. Sie sollten auch Batchprozesse haben, mit denen bei Bedarf Berichte spontan generiert werden können. Wenn Sie z. B. Daten in einer relationalen Datenbank wie Azure SQL-Datenbank speichern, können Sie ein Tool wie SQL Server Reporting Services verwenden, um Daten zu extrahieren und zu formatieren und als Gruppe von Berichten darzustellen.

Definieren von Warnungen für wichtige Ereignisse

Um sicherzustellen, dass das System fehlerfrei, reaktionsfähig und sicher bleibt, legen Sie Warnungen fest, damit die Operatoren zeitnah darauf reagieren können. Eine Warnung kann genügend kontextbezogene Informationen enthalten, um ihnen bei den ersten Schritten mit Diagnoseaktivitäten zu helfen. Warnungen können verwendet werden, um Korrekturfunktionen wie autocaling oder andere Selbstheilungsmechanismen aufzurufen. Warnungen können auch Kostenbewusstsein ermöglichen, indem Sie Einblicke in Budgets und Grenzwerte bieten.

Empfehlungen

  • Definieren Sie einen Prozess für die Warnungsantwort, der die verantwortlichen Besitzer und Aktionen identifiziert.

  • Konfigurieren Sie Warnungen für einen klar definierten Bereich (Ressourcentypen und Ressourcengruppen), und passen Sie die Ausführlichkeit an, um Rauschen zu minimieren.

  • Verwenden Sie eine automatisierte Warnungslösung, z. B. Splunk oder Azure Monitor, anstatt dass Benutzer aktiv nach Problemen suchen müssen.

  • Verwenden Sie Warnungen, um Korrekturprozesse zu operationalisieren. Erstellen Sie beispielsweise automatisch Tickets zum Nachverfolgen von Problemen und Lösungen.

  • Verfolgen Sie die Integrität Ihrer Cloudplattformdienste in Regionen, kommunikation über Ausfälle, geplante Wartungsaktivitäten und andere Gesundheitsberatungen.

Schwellenwerte

Warnungen werden generiert, wenn Schwellenwerte überschritten werden, wie sie vom Überwachungssystem erkannt werden. Stellen Sie sicher, dass die von Ihnen festgelegten Schwellenwerte im Allgemeinen genügend Zeit haben, um die erforderlichen Änderungen an Ihrer Workload zu implementieren, um Beeinträchtigungen oder Ausfälle zu vermeiden. Legen Sie z. B. den Schwellenwert für die automatische Skalierung fest, um die Skalierung zu initiieren, bevor eines der ausgeführten Systeme zum Zeitpunkt einer beeinträchtigten Benutzererfahrung überfordert wird. Basieren Sie auf den Schwellenwerten, die Sie ihrer bisherigen Erfahrung beim Verwalten der Infrastruktur zuweisen, und überprüfen Sie diese anhand der Tests, die Sie als Teil Ihrer Testpraktiken ausführen.

Ausführliche Anleitungen zum Warnen von Anwendungsfällen und anderen Überlegungen finden Sie unter Entwerfen einer zuverlässigen Überwachung und Warnungsstrategie.

Umsetzung in Azure

  • Azure Monitor ist eine umfassende Überwachungslösung für die Sammlung, Analyse und Reaktion auf die Überwachung von Daten aus Ihren Cloud- und lokalen Umgebungen.

  • Log Analytics ist ein Tool im Azure-Portal, mit dem Sie Protokollabfragen für Daten im Log Analytics-Arbeitsbereich bearbeiten und ausführen können.

    Wenn Sie mehrere Arbeitsbereiche verwenden, finden Sie im Architekturhandbuch für log Analytics-Arbeitsbereiche bewährte Methoden.

  • Application Insights ist eine Erweiterung von Azure Monitor. Es stellt APM-Features bereit.

  • Azure Monitor Insights sind erweiterte Analysetools für bestimmte Azure-Technologien (z. B. VMs, App-Dienste und Container). Diese Tools sind Teil von Azure Monitor und Log Analytics.

  • Azure Monitor für SAP-Lösungen ist ein Azure-Überwachungstool für SAP-Landschaften, die auf Azure ausgeführt werden.

  • Azure Policy unterstützt Sie bei der Erzwingung von Organisationsstandards sowie bei der Bewertung der Compliance im großen Stil.

  • Azure Monitor Baseline Alerts (AMBA) ist ein zentrales Repository von Warnungsdefinitionen, die Kunden und Partner verwenden können, um ihre Beobachtbarkeit durch die Einführung von Azure Monitor zu verbessern.

Checkliste für operative Exzellenz

Lesen Sie den vollständigen Satz von Empfehlungen.