Messungen, Richtungen und Positionen
Drei Arten von Messwert, mit Absicht getrennt gehalten. Eine Richtung wird um den Kreis gemittelt statt durch die 0°/360°-Naht — wo der schlichte Durchschnitt aus 350° und 10° genau Süden ergäbe.
Live-Daten
Messwerte kommen aus dem, was Sie ohnehin betreiben, werden geprüft, bevor sie behalten werden, und erscheinen in jedem Modul, das auf sie zeigt. Die beiden Monitor-Module sind dafür da, dass Sie das nie auf Treu und Glauben nehmen müssen.
Von Ihren Message-Brokern, über einen schlichten HTTP-Aufruf oder aus dem Log-Exporter, den Sie bereits verwenden.
In Messung, Richtung oder Position — und ein Wert, der auf die falsche Sensorart zielt, wird abgewiesen, statt als etwas gespeichert zu werden, das er nicht ist.
Zeitstempel müssen in einem Fenster liegen, das Sie konfigurieren — ein Sender mit falsch gehender Uhr kann nicht ins nächste Jahr schreiben.
Ein doppelt zugestellter Messwert wird als derselbe Messwert erkannt, statt still einen Durchschnitt zu verfälschen.
Auf einem Diagramm, einer Kachel, einem Karten-Marker oder einem Grundriss — überall dort, wo Sie etwas darauf gerichtet haben.
Drei Arten von Messwert, mit Absicht getrennt gehalten. Eine Richtung wird um den Kreis gemittelt statt durch die 0°/360°-Naht — wo der schlichte Durchschnitt aus 350° und 10° genau Süden ergäbe.
Jedes Diagramm und jede Kachel wählt die eigene Zusammenfassung pro Intervall: Durchschnitt, Minimum, Maximum, Summe, Anzahl, Median und Perzentile, Spitzen-Hüllkurven, Standardabweichung, Zähler-Deltas oder Datenabdeckung — die Perzentile werden beim Verdichten jedes Tages und Monats vorberechnet, sodass ein P95 kostet, was ein Durchschnitt kostet. Richtungen bekommen echte Kreisstatistik — einen Kompasskurs, die Sektorverteilung einer Windrose — und Positionen zeichnen sich als Spuren über die Zeit, statt zu einem Punkt gemittelt zu werden, der nie besucht wurde.
Anwendungslogs und eigene Text-Nutzdaten kommen auf demselben Weg an und landen im Log-Explorer — durchsuchbar nach Identifier, Quelle und Zeit, markiert mit Ihren Hervorhebungsgruppen.
Was tatsächlich verloren geht, wird als solches gemeldet, statt still vergessen zu werden. Genau diese Zahl ist einen Alarm wert — und sie steht auf den Monitor-Seiten, nicht irgendwo vergraben.
Jeder Transport nimmt ein Bündel Messwerte je Nachricht an — ein Gateway, das eine Sekunde der Messungen seiner Sensoren auf einmal abgibt — ebenso wie einen Messwert nach dem anderen. Die Bündelform ist es, die eine einzelne Aufnahmeinstanz Hunderttausende Messwerte pro Sekunde nehmen lässt.
Ein Broker-Consumer, der auf einer toten Verbindung hängen bleibt, wird bemerkt, am Health-Endpunkt gemeldet und neu gestartet — auf jedem Transport gleich — statt still dazusitzen, während sich Messwerte ungesehen stauen.
Für die Ingenieure
Wenn Ihr Team in Data-Engineering-Begriffen denkt: Der Ingestion-Pfad ist ETL — Extract, Transform, Load — nur kontinuierlich statt im Nachtlauf. Der Transform-Schritt ist abgeschlossen, bevor irgendetwas den Langzeitspeicher erreicht — gespeichert wird bereits die saubere, kanonische Form, die jedes Modul liest.
Messwerte kommen aus den Message-Brokern, die Sie bereits betreiben, oder über schlichtes HTTP. Die Feldnamen des Produzenten werden an der Tür auf eine kanonische Form abgebildet — nichts weiter unten sieht je ein quellenspezifisches Format, und eine neue Quelle ändert nie, was gespeichert wird.
Vor der Speicherung wird jeder Messwert validiert, sein Zeitstempel normalisiert und am akzeptierten Fenster gemessen, eine erneute Zustellung als derselbe Messwert erkannt und seine Art — Messung, Richtung oder Position — entschieden. Anschließend werden die Messwerte zu Minutenzusammenfassungen verdichtet, korrekt über alle empfangenden Instanzen hinweg berechnet, nicht pro Maschine.
Ein separater Lauf schreibt abgeschlossene Minuten in die Datenbank, entkoppelt vom Eintreffen — langsamer Speicher verzögert die Speicherung, nie die Ingestion, und die Monitor-Seiten zeigen exakt, wie weit die Load-Stufe zurückliegt. Zum Monatsschluss werden versiegelte Monate direkt in der Datenbank in eine kompakte Abfrageform gefaltet.
Dieselben drei Stufen tragen auch Text und Logs — extrahiert aus denselben Brokern, dem Standard-Telemetrie-Logprotokoll und schlichtem HTTP, und geladen als komprimierte Dateien statt Datenbankzeilen, sodass Logvolumen nie auf der Datenbank lastet.