Operations-Datenbank

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Eine Operations-Datenbank (OpsDB) ist eine Datenbank, die Metriken von Geschäftsprozessen sowie Anwendungs- und Systemstatistiken sammelt und diese für Analysezwecke bereitstellt.[1]

Anwendung[Bearbeiten | Quelltext bearbeiten]

Anwendung einer OpsDB

Eine Operations-Datenbank dient dazu, Daten über das Verhalten einer Geschäftslösung unter bestimmten Bedingungen zu sammeln. Die Daten können verwendet werden, um ein Dashboard zu befüllen und den aktuellen Zustand der Verfügbarkeit von Geschäftsprozessen zu visualisieren. Zudem besteht die Möglichkeit, die Daten auszuwerten, um eine Vorhersage des zukünftigen Anwendungsverhaltens zu ermöglichen.[1]

Beispielsweise sei ein Geschäftsprozess (z. B. ein Verkaufsprozess) gegeben, der von der Verfügbarkeit mehrerer Systeme abhängig ist. Die OpsDB sammelt Informationen zum Zustand der einzelnen Systeme. Fällt ein System aus, so kommt es zu Fehlern in vom ausgefallenen System abhängigen Systemen, die in der OpsDB vermerkt werden. Die Auswertung des Status des Systems im Dashboard kann in Folge den Ausfall des Geschäftsprozesses (z. B. mit einer roten Ampel) anzeigen.[1]

Eine weitere Anwendungsmöglichkeit ist die Auswertung der Historie, die es ermöglicht, den Ausfall eines Geschäftsprozesses mit dem Zustand der einzelnen Systeme zu korrelieren. Hierdurch wird auch eine Vorhersage des Verhaltens des Systems unter möglichen zukünftigen Bedingungen ermöglicht. Dazu zählt z. B. das Verhalten des Systems unter Last, etwa wenn ein Verkaufssystem durch eine Aktion zu Feiertagen mit besonders hohem Nutzeraufkommen zu rechnen hat. Die Vorhersage ermöglicht hierdurch die Planung von Tests des Systems in der Entwicklung sowie den bereitzustellenden (Hardware-)Ressourcen.[1]

Vergleich von Monitoring-Technologien
Technologie Historie Vorhersage Status Verhalten
Logging Rot Rot Grau Grün
Monitoring Rot Rot Grau Grün
Operations-Datenbank Grün Grün Grün Rot

Struktur[Bearbeiten | Quelltext bearbeiten]

Struktur einer OpsDB

Eine OpsDB bildet einen zu überwachenden Geschäftsprozess ab, der von einem oder mehreren Nodes (Dienste und Anwendungen, Server, Datenbanken, Webservices, Batch-Prozesse, etc.) abhängig ist. Diese Nodes können ihrerseits von weiteren Nodes abhängig sein.

Für jeden Node werden Beobachtungen (Observations) gesammelt, die Auskunft über den Zustand des Systems geben.

Für Beobachtungen können zudem Erwartungen (Expectations) definiert werden, beispielsweise die Dauer, die ein Prozess maximal benötigen, ein Bereich, in dem sich ein Messwert befinden, oder ein Zustand, in dem sich eine Anwendung befinden soll.

Daten, die gesammelt werden[Bearbeiten | Quelltext bearbeiten]

Operations-Datenbanken sammeln eine Vielzahl von Parametern.

Übersicht über Daten in Operations-Datenbanken
Kategorie Beispiele
Netzwerkverkehr
  • Anzahl und Frequenz von Page-Requests
  • Anzahl von aktiven und durchgeführten Transaktionen
  • Anzahl von aktiven und behandelten Sessions
Zustand von Ressourcen[anmerkung 1]
  • Verfügbare und verwendete Ressourcen
  • Maximal verwendete Ressourcen
  • Anzahl der zusätzlich erstellten oder freigegebenen Ressourcen
  • Anzahl geblockter Threads, welche auf eine Ressource warten
Datenbankverbindung
  • Anzahl von Datenbankfehlern
  • Anzahl von Datenbankabfragen
  • Durchschnittliche Dauer von Datenbankabfragen
Integrationspunkte und Schnittstellen
  • Zustand von Sicherungen (circuit breaker)
  • Anzahl von Requests
  • Anzahl von Request-Timeouts
  • Durchschnittliche Beantwortungsdauer von Requests
  • Anzahl von positiv beantworteten Requests
  • Netzwerkfehler und Protokollfehler
  • Anwendungsfehler
  • Adressen der Endpunkte
  • Anzahl und Maximalzahl gleichzeitig bearbeiteter Requests
Cache-Zustand
  • Anzahl von Elementen im Cache
  • Speicherverbrauch
  • Cache-Hit- und Cache-Miss-Rate
  • Informationen zum Garbage Collector
  • Maximalgrößen des Cache
  • Dauer, um Objekte im Cache abzulegen
  1. Als Ressourcen werden Elemente wie CPU-Auslastung, Speicherverbrauch und benötigte (virtuelle) Server bezeichnet.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Referenzen[Bearbeiten | Quelltext bearbeiten]

  1. a b c d Michael T. Nygard: Release It! Design and Deploy Production-Ready Software. O'Reilly, 2007, ISBN 978-0-9787392-1-8, 17.7 Operations Database (englisch, 326 S.).