Ein beobachtbares System stellt die Werkzeuge für folgende Arten von Aufgaben zur Verfügung:
Protokollierung von Informationen über Ereignisse, die im System auftreten
Ermittlung von Kennwerten zur Systemleistung, sowohl zu einem bestimmten Zeitpunkt als auch innerhalb eines Zeitraums
Nachverfolgung von Anfragen beim Durchlaufen des Systems
Information von Systembedienern über den Systemzustand
Vorhersage der zukünftigen Systemleistung
Entdeckung der Ursache von beobachteten Problemen im System
Telemetrielösungen ermöglichen es Ihnen, Protokolle, Kennwerte und Verfolgungen zu erfassen. Überwachungslösungen verbessern das Wissen über Telemetriedaten, indem sie Dashboards bereitstellen und Administratoren benachrichtigen, wenn das System außerhalb vordefinierter Schwellenwerte arbeitet. Ein vollständig beobachtbares System erweitert Telemetrie- und Überwachungslösungen, um Vorhersage und Ursachenanalyse zu ermöglichen.
Die Vorhersage beinhaltet die Nutzung von Informationen über die vergangene und aktuelle Leistung eines Systems, um dessen wahrscheinliche zukünftige Leistung zu bestimmen. Anhand einer Vorhersage können Sie Entscheidungen über Änderungen an Ihrem System treffen. Wenn Sie beispielsweise einen erheblichen Anstieg der Anzahl von Anfragen an Kartenservices vorhersagen, könnten Sie sich dazu entschließen, der ArcGIS-Server-Site einen zusätzlichen Computer hinzuzufügen, bevor die Benutzer aufgrund von Ressourcenbeschränkungen Leistungseinbußen verzeichnen.
Das Beobachten von Mustern oder Trends in Telemetriedaten kann Ihnen dabei helfen, Vorhersagen zu treffen. Beispielsweise ermöglichen zyklische Muster für Kennwerte, die Zeiten vorherzusagen, in denen die Höchst- und Tiefstwerte dieser Kennwerte auftreten werden. Starke Aufwärts- oder Abwärtstrends erlauben die Vorhersage zukünftiger Werte, in der Annahme, dass der Trend anhält.
Vorhersagende Analysen können von Administratoren durchgeführt werden, aber durch immer ausgefeiltere Funktionen der künstlichen Intelligenz (KI) entsteht die Möglichkeit eines Systems, das sich selbst analysieren und angemessen reagieren kann. KI-Agenten mit Zugriff auf Telemetriedaten, der Berechtigung zur Systemänderung und einem robusten Trainingsmodell zur Bestimmung geeigneter Maßnahmen sind möglicherweise in der Lage, ein System mit minimalem direktem menschlichem Eingreifen stabil zu halten. Wie bei jeder Art von KI sollten Sie vorsichtig sein, wenn Sie über die Einführung eines automatisierten Reaktionssystems nachdenken. Sie müssen gewährleisten, dass es Ihren Prioritäten und Werten entspricht.
Wenn Ihr System nicht ordnungsgemäß funktioniert, müssen Sie die Problemursache kennen, um eine geeignete Lösung umsetzen zu können. So kann beispielsweise eine erhöhte Latenz bei einem Service ein kostspieliges Infrastrukturupgrade erfordern, um das Problem zu beheben. Möglicherweile kann die Latenz aber durch eine einfache Neukonfiguration des Service korrigiert werden.
Die Ursachenanalyse umfasst sechs Schritte:
Erkennen Sie das Problem. Beispiel kann Ihre Überwachungslösung Sie darauf hinweisen, dass die Reaktionszeit eines Service den vorgegebenen Schwellenwert überschritten hat. Bei Problemen, die Ihre Überwachungslösung nicht vorhergesehen hat, erhalten Sie möglicherweise stattdessen Berichte von Benutzern, dass das System nicht wie erwartet funktioniert.
Ordnen Sie das Problem ein. Stellen Sie fest, ob das Problem auf einen einzelnen Service beschränkt ist oder ob es sich um ein systemisches Problem handelt, das mehrere Services betrifft. Überwachungswerkzeuge wie Dashboards, Servicekarten und Integritätsprüfungen sind in dieser Phase nützlich, um das Ausmaß des Problems zu bestimmen.
Untersuchen Sie das Problem mithilfe von Telemetriedaten.
Kennwerte können Ihnen helfen, Anomalien oder Verstöße gegen Schwellenwerte zu erkennen, z. B. einen plötzlichen Anstieg von Fehlern des Typs 500 oder einen Rückgang des Durchsatzes.
Durchsuchen Sie Protokolle nach Fehlermeldungen, Stapelverfolgungen und Warnungen. error Durch eine strukturierte Protokollierung können Sie Protokolleinträge mit bestimmten Anforderungs-IDs oder Zeitstempeln in Beziehung setzen. Das kann dabei helfen, die Suche nach relevanten Protokollmeldungen einzugrenzen.
Mit Verfolgungen lässt sich ganz genau bestimmen, wo bei Anfragen Verzögerungen oder Fehler aufgetreten sind. Beispielsweise kann bei einer Verfolgung eine langsame Datenbankabfrage oder ein fehlgeschlagener API-Aufruf angezeigt werden.
Setzen Sie Daten in Beziehung und Kontext. Kombinieren Sie Kennwerte, Protokolle und Nachverfolgungen, um eine Zeitleiste der beobachteten Ereignisse zu erstellen. Beispielsweise ist eine langsame Datenbankabfrage, die möglicherweise in einer Verfolgung angezeigt wird, gleichzeitig mit einem Anstieg des Kennwerts der CPU-Auslastung auf dem Datenbankcomputer aufgetreten. Werkzeuge von Drittanbietern wie OpenTelemetry, Jaeger oder Datadog APM können hilfreich sein, um verschiedene Datenquellen in Beziehung zu setzen.
Identifizieren Sie die Problemursache. Suchen Sie nach Änderungen in Ihrem System, die die von Ihnen beobachteten Korrelationen erklären könnten. Einige häufige Ursachen sind folgende:
Kürzliche Änderungen an der Bereitstellung oder Konfiguration
Ressourcenerschöpfung, z. B. Speicherverlust
Fehler bei externen Abhängigkeiten, wie etwa eine fehlgeschlagene Antwort einer Drittanbieter-API
Netzwerkprobleme, z. B. eine Änderung der Firewall-Regeln
Lösen Sie das Problem. Implementieren Sie die Lösung, die zur identifizierten Ursache passt. Möglicherweise müssen Sie etwa eine kürzliche Konfigurationsänderung zurücksetzen, die Software patchen oder die Services hochskalieren. Es reicht jedoch nicht aus, einfach das aktuelle Problem zu beheben. Dokumentieren Sie das Problem, Ihre Analyse und die Lösung, damit andere ähnliche Probleme in Zukunft leichter bewältigen können. Ergänzen Sie Warnungen, Dashboards oder automatisierte Tests, um ein erneutes Auftreten des Problems zu verhindern.