Data & MoreBetriebmt.dataandmore.com

Betreiben Sie die Flotte.

Das Management Tool ist die interne Konsole unter mt.dataandmore.com die der Betrieb nutzt, um die gesamte Kundenflotte zu verwalten: eine neue Toolbox bereitstellen, ein Versions-Upgrade einspielen, CPU und Festplatte überwachen, einsehen welcher Kunde welche Bereitstellung besitzt, Release Notes veröffentlichen, Logs lesen und NPS prüfen. Es befindet sich eine Ebene über der Plattform selbst und hat jede laufende Instanz im Blick.

Eine Konsole, jede Toolbox, jeder Kunde, ein Bildschirm nach dem anderen.

354verwaltete Toolboxes
8Sidebar-Bereiche
14API-Blueprints
6Container-Dienste
Abschnitt 01Zweck

Was das Tool leistet

Jeder Data & More-Kunde betreibt seine eigene Plattforminstanz, die „Toolbox": einen eigenständigen Satz von Microservices für Datenerfassung, Profilerstellung, Klassifizierung, Richtlinien und Berichterstattung. Das Management Tool ist der Ausgangspunkt, von dem aus ein Operator diese Toolboxes bereitstellt, auf dem richtigen Versionsstand hält, deren Zustand überwacht und sie einem zahlenden Kunden, einem Partner, einem Vertrag, einem Abonnement und einem Verlängerungsdatum zuordnet.

Lebenszyklus

Toolboxes bereitstellen und aktualisieren

Einen neuen Server hinzufügen, eine neue Plattformversion einspielen, automatische Updates aktivieren oder deaktivieren, den SSH-Schlüssel oder das TLS-Zertifikat der Toolbox herunterladen, eine Instanz außer Betrieb nehmen. Jede Aktion ist eine Zeile in der Serverliste.

Commerce

Toolboxes mit Kunden verknüpfen

Jede Toolbox ist einem Kunden, einem Partner, einem Plan, einem Preis sowie einem Start- und Verlängerungsdatum zugeordnet. Abonnements, Zahlungen (Stripe), CRM (HubSpot) und Benachrichtigungen sind eingebunden.

Einblick

Die Flotte sehen, nicht die einzelnen Bäume

CPU, Festplatte, RAM und Datenerfassungsraten pro Toolbox sowie aggregierte Ansichten: Klassifizierungsdrift, Quellzustand, Logs, NPS-Umfragen und Zustellung von Release Notes.

Abschnitt 02Architektur

Der Container-aufbau

Das Tool wird als Docker-Compose-Stack ausgeliefert. NGINX terminiert TLS im Vorfeld; eine Flask API und ein Celery-artiger Worker teilen sich dasselbe Image; eine Vue 3 SPA stellt die Benutzeroberfläche bereit; RabbitMQ überträgt asynchrone Aufgaben zwischen API und Worker; dm-notify versendet E-Mails. Der persistente Zustand liegt im gemeinsam genutzten Elasticsearch der Plattform, der über dasselbe sichere Netzwerk wie alle anderen Data & More-Dienste erreichbar ist.

CLIENT EDGE SPA API PLATTFORM Operator-Browser authentifizierte Sitzung mt.dataandmore.com NGINX TLS, Reverse Proxy :80, :443 Vue 3 SPA services/client Views + Vuex Store Flask API 14 Blueprints servers, clients datasources, workspaces payment, notifications, nps release_notes, logs, auth Worker asynchrone Aufgaben .Dockerfile.worker RabbitMQ Warteschlange, AMQP rabbit (Hostname) einreihen dm-notify E-Mail + Benachrichtigungen ECR Image, :8002 E-Mail senden Plattform gemeinsam genutztes Substrat Elasticsearch (Daten) Prometheus (Metriken) IAM / JWT-Schlüssel Stripe (Abrechnung) HubSpot (CRM) lesen + schreiben Externes Docker-Netzwerk: dm gemeinsam mit allen anderen Data & More-Diensten genutzt, keine öffentlichen Ports außer 80 / 443 über NGINX
Interner Datenpfad Plattform lesen / schreiben Zustandsbehaftetes / gemeinsames Substrat
Abbildung 01, docker-compose auf einen Blick
Abschnitt 03Navigation

Acht Bereiche in der Seitenleiste

Die linke Leiste ist die gesamte Navigation. Jeder Bereich ist eine Vue-Ansicht und ein oder mehrere Flask-Blueprints dahinter.

01

Server

Die Toolbox-Flotte. Der Standard-Einstiegsbildschirm für den Betrieb.

02

Quellen

Toolbox-spezifische Quell-Konnektoren mit Scan-, Ingest- und Profilierungsraten.

03

Kunden

Kundenunternehmen, Tarife, MRR, Verlängerungsdaten, NPS.

04

Richtlinien

Tarif-Editor, mit Angabe der Leistungen je Abonnementstufe.

05

NPS

Net-Promoter-Umfrageanalysen über die gesamte Flotte.

06

Klassifizierung

Globale Klassifizierungswörterbücher, die an jede Toolbox übertragen werden.

07

Protokolle

Durchsuchbares Audit- und Aktivitätsprotokoll über alle Deployments hinweg.

08

Releases

Release-Notes, die in die Toolboxen der Kunden übermittelt werden.

Abschnitt 04Die Flotte

Die Server-liste

Dies ist das, was jeder Betreiber zuerst sieht. 354 von 354 Toolboxen, eine Zeile pro Deployment, mit der Filterleiste auf der linken Seite und einer kompakten Aktionszeile auf der rechten Seite. Das nachfolgende Mockup entspricht dem Live-Bildschirm.

Management Tool djunge Server Quellen Kunden Richtlinien NPS Klassifizieren Protokolle Releases Filter Filter suchen Warnmeldungen Geschäftsphase Server-ID Instanztyp Serverstandort Partner Serverstatus Serverversion Updates aktiviert +++ +++ +++ Serverliste (354 von 354) Suchen ES-Knoten ausblenden + Server hinzufügen SERVER-ID KUNDENNAME VERSION CPU FESTPLATTE RAM PREIS SERVERTYP AKTIONEN aesp01 A. Espersen v26.4.14 12% 56% 45% 160€ EX130-R airalsie01 Air Alsie v26.4.14 9% 34% 52% 92.3€ AX61-NVMe aka01es01 Akademikernes A-kasse (es node) 1% 4% 57% 45€ EX44 aka01tool01 Akademikernes A-kasse v26.4.14 2% 44% 28% 62€ EX44 ao02 Brødrene A&O Johansen A/S v26.4.14 45% 39% 77% apcoa01es01 Apcoa (es node) 1% 3% 57% 45€ EX44 apcoa01tool01 Apcoa v26.4.14 2% 25% 31% 59€ EX44 355 von 354 Zeilen, einschließlich ES-Knoten; schalten Sie „ES-Knoten ausblenden" um, um nur eine Zeile pro Toolbox anzuzeigen.
Abbildung 02, Serverliste, originalgetreu zur Live-Ansicht
Spalten

Was Ihnen jede Spalte mitteilt

  • Server-ID, der Deployment-Slug (aesp01, apcoa01tool01). Tool-Knoten enden auf toolNN, ES-Knoten auf esNN.
  • Kundenname, der zahlende Kunde, verknüpft zurück zu Clients.
  • Version, die Toolbox-Plattformversion (v26.4.14). Steuert den Upgrade-Prozess.
  • CPU / Disk / RAM, Live-Ressourcen-Pills in Grün unterhalb des Schwellenwerts, in Gelb darüber.
  • Preis, monatliche Hostingkosten in Euro.
  • Servertyp, die Hetzner-Instanz (EX44, EX130-R, AX61-NVMe, AX102).
  • Aktionen, die zeilenweise Symbolleiste: Monitoring öffnen, neu bereitstellen, upgraden, Dienste neu starten, Zertifikat / SSH-Schlüssel herunterladen, bearbeiten, löschen.
Filter

Die Flotte eingrenzen

Jeder Filter auf der linken Seite erweitert sich zu einer facettierten Liste mit Trefferzahlen. Die für den Betrieb nützlichsten sind Serverstatus (aktiv, gestoppt, fehlerhaft), Serverversion (welche Toolboxes veraltet sind), Warnmeldungen (aktive Monitor-Treffer) und Updates aktiviert (welche Toolboxes automatische Updates aktiviert haben).

WarnmeldungenGeschäftsphaseServer-ID InstanztypServerstandortPartner ServerstatusServerversionUpdates aktiviert
Section 05Toolbox-Lebenszyklus

Bereitstellen, upgraden und außer Betrieb nehmen einer toolbox

Jede Aktion auf einer Toolbox wird einer HTTP-Route in der Flask-API zugeordnet. Die Zuordnung ist übersichtlich und stabil, was die Operator-Konsole vorhersehbar macht.

AktionRouteWas passiert
Flotte öffnenPOST /servers/tablePaginierte Abfrage mit Suche und Filtern, gibt Zeilen für die Serverliste zurück
Verfügbare ToolboxesGET /servers/availableDie Menge der Toolboxes, auf die dieser Operator zugreifen darf, eingegrenzt nach Unternehmen / Partner
Nur On-PremPOST /servers/on_premFilter auf On-Premise-Deployments für ein bestimmtes Unternehmen
Filterleiste aufbauenPOST /servers/filterFacettenwerte; POST /servers/cascade für abhängige Filter
Toolbox öffnenPOST /servers/detailsEinzelnes Deployment mit Statistikdiagramm für den gewählten Zeitraum
Einzelnen Datensatz abrufenGET /servers/single/<id>Nur das Deployment-Dokument
Neue Toolbox bereitstellenPOST /servers/singleErstellt einen Deployment-Datensatz; der Worker provisioniert den Host und installiert die Plattform
Upgraden oder neu konfigurierenPUT /servers/singleNeue Version einspielen, Instanztyp ändern, automatische Updates umschalten, Eigentümer ändern
Außer Betrieb nehmenDELETE /servers/single/<id>Entfernt das Deployment aus der Registry; der Worker baut die Infrastruktur ab
Zertifikat herunterladenGET /server/single/download/certificate/<id>Base64-dekodiertes TLS-Zertifikat, bereitgestellt als Octet-Stream
SSH-Schlüssel herunterladenGET /server/single/download/ssh_key/<id>Base64-dekodierter privater Schlüssel für den direkten Host-Zugriff
Bereitstellen

Einen neuen Server hinzufügen

Klicken Sie auf + Add Server oben rechts in der Serverliste. Das Formular (ServersAdd.vue) erfasst: Kundenname, Partner, Instanztyp, Standort, Geschäftsphase, Serverversion, Alarmschwellenwerte, Schalter für aktivierte Updates. Nach dem Absenden erstellt POST /servers/single den Deployment-Datensatz. Der Worker nimmt die Aufgabe aus RabbitMQ entgegen und stellt den Host bereit (Hetzner Cloud), installiert den Docker-Stack und registriert den neuen Server in der Registry. Der Operator erhält eine E-Mail über dm-notify, sobald dieser live ist.

Upgrade

Eine neue Version bereitstellen

Filtern Sie Server nach Server Version, um zu sehen, welche Deployments veraltet sind. Wählen Sie in der Aktionssymbolleiste der Zeile Upgrade aus; der Client ruft PUT /servers/single mit der Zielversion auf. Der Worker lädt das neue Plattform-Image auf den Toolbox-Host, führt Migrationen durch und startet die Dienste neu. Updates enabled in einer Zeile ermöglicht es der Toolbox, sich für geplante Upgrades anzumelden, sodass das Ops-Team nur noch die Nachzügler anstoßen muss.

Abschnitt 06Angrenzende Bereiche

Clients, Quellen, Releases, Logs

Die anderen Seitenleistenbereiche folgen demselben Muster wie Server: eine Filterleiste auf der linken Seite, eine Suchleiste in der Kopfzeile, eine Aktionsspalte auf der rechten Seite und ein Flask-Blueprint hinter jedem Bereich.

Clients

Die kommerzielle Ansicht

Spalten: Company name, Server ID, Start, Renew, Type, Users, MRR, Next notification, NPS. Filter nach Alarmen, Land, Partner, MRR, Plantyp, Start-/Verlängerungsdatum, Status, Benutzerlimit. Export to Excel und + Add Client oben rechts. Pläne sind hinter Policy verfügbar; Zahlungen über Stripe; CRM-Synchronisierung mit HubSpot.

Sources

Verbindungen je Toolbox

Spalten: Server ID, Source name, Source ID, Workspace, Source type, Scan/h, Ingest/h, Profiled/h, Updated at, Profiled, Total. Filter nach Server, Workspace, Typ, Partner. Aktivieren Sie Hide inactive sources, um sich auf das Wesentliche zu konzentrieren.

Releases

Release-Notizen für die gesamte Flotte

Operatoren veröffentlichen hier Release-Notizen, die in die kundenseitigen Tools zurückfließen. Filter nach Typ, Tags,Version, Deployment ID, Instanztyp, Deployment-Typ, Standort. Sortieren nach Neueste zuerst. + Neue Version hinzufügen öffnet den Editor. Das seed_release_notes.py Skript befüllt die Standardwerte.

Protokolle

Durchsuchbare Aktivität

Filtert nach username, workspace, deployment id, type, partner id. Datums-/Zeitbereich sowie ein Volltextsuchfeld. Die Fallprotokoll-Oberfläche (case_log Blueprint) befindet sich daneben für übergeordnete Betreibernotizen je Kunde.

Ruhigere Oberflächen

  • Policy, der Planeditor (EditPlans.vue): welche Kosten die einzelnen Abonnementstufen verursachen, welche Funktionen sie freischalten – genutzt von Kunden.
  • NPS, die NPS-Analyseansicht (NPSAnalytics.vue): Score-Verlauf über die gesamte Flotte, Aufschlüsselung je Kunde, steuert Nächste Benachrichtigung bei Kunden.
  • Classification, die globale Klassifikationsansicht (GlClassification.vue): Wörterbücher und Regeln, die zentral an jede Toolbox übertragen werden, damit die Terminologie einheitlich bleibt.
Abschnitt 07Relationen

Wie es über dem Rest der Plattform angesiedelt ist

Das Management Tool befindet sich eine Ebene über allen anderen Data & More-Diensten. Es klassifiziert keine Dokumente, scannt keine Posteingänge und kommuniziert nicht mit Microsoft 365 – es weist die Toolboxes an, die dies tun. Diese Toolboxes sind die Plattform-Repositories: api, client, iam, java_profiler, ai-profiler, dlp, ocr, graph-ingestion, ews, google, fileshare-service, known-persons-service, sowie die Datenschicht (Elasticsearch, PostgreSQL, RabbitMQ, Redis, S3).

OPS CONSOLE PLATTFORM-TOOLBOXES Management Tool mt.dataandmore.com deployen, aktualisieren, überwachen, abrechnen genutzt von Data & More Operations Toolbox A aesp01 A. Espersen v26.4.14 Toolbox B airalsie01 Air Alsie v26.4.14 Toolbox C apcoa01tool01 Apcoa v26.4.14 Toolbox D arkil01 Arkil v26.4.14 Toolbox E ao02 A&O Johansen v26.4.14 … 349 weitere eine Zeile pro Deployment Deployment, Upgrade CPU, Festplatte, Warnmeldungen
Control Plane, Betrieb, zur Toolbox Telemetrie, Toolbox, zum Betrieb Die Konsole
Abbildung 03, das Verwaltungstool, eine Ebene über 354 Toolboxen
Abschnitt 08API-Oberfläche

Die 14 Flask Blueprints

Die API ist eine Flask-Anwendung mit 14 Blueprints, die beim Start in app.py registriert werden. Jeder Blueprint gruppiert eine kleine Anzahl von Routen für eine Oberfläche. Die Namen entsprechen direkt der Seitenleiste.

serversFleet-Liste, Details, Erstellen, Aktualisieren, Löschen, Zertifikat- und SSH-Download
clientsUnternehmensdatensätze, Tarif, MRR, Verlängerung, Benachrichtigungen
workspacestoolboxbezogene Arbeitsbereiche (logische Geltungsbereiche)
datasourcesQuell-Konnektoren und Ingest-Raten
notificationsbetreiberseitige Benachrichtigungsweiterleitung
alertsaktive Gesundheitszustands- / Schwellenwertüberschreitungen
authJWT-Anmeldung, Token-Ausstellung, Autorisierungs-Decorator
case_logBetreibernotizen pro Kunde / pro Fall
paymentStripe-Anbindung, Rechnungen, Wiederholungsversuche
client„Dieser Kunde"-Endpunkte, die von der SPA selbst verwendet werden
npsNPS-Umfrageversand und -Analytik
global_classificationWörterbücher, die an jede Toolbox übertragen werden
logstoolboxübergreifend durchsuchbare Aktivitäten
release_notesVeröffentlichungshinweise, die an Kunden-UIs weitergegeben werden
Abschnitt 09Unter der Haube

Der Stack

FrontendVue 3 SPA, Vuex Store, benutzerdefiniertes SCSS, eingebunden unter services/client
APIPython, Flask, in der Produktion von waitress bereitgestellt über waitress-serve --call env:configure
WorkerDasselbe Python-Image, .Dockerfile.worker Einstiegspunkt, asynchrone Aufgaben über RabbitMQ
QueueRabbitMQ, AMQP, Hostname rabbit
Notifydm-notify (ECR-Image), E-Mail + Warnmeldungen unter :8002
EdgeNGINX, TLS-Terminator, Reverse Proxy auf :80 / :443
StateElasticsearch auf monitor.gdpr.dataandmore.com, sowie Prometheus für Metriken und der Plattform-IAM-Dienst für JWT-Schlüssel
CommerceStripe (Zahlung), HubSpot (CRM)
NetworkExternes Docker-Netzwerk dm, gemeinsam genutzt mit allen anderen Data & More-Diensten
Lokale Ausführungdocker-compose -f docker-compose.local.yml up -d --build
Repositorygithub.com/dataandmore/management-tool
In einer ZeileDie Grundstruktur

Eine Konsole. 354 Toolboxen. Jede Aktion dokumentiert.

Das Management Tool ist der Arbeitsplatz des Betreibers bei Data & More: der Ort, von dem aus jede Kunden-Toolbox erstellt, aktuell gehalten, überwacht, abgerechnet und schließlich außer Betrieb genommen wird. Die Plattform erledigt die Arbeit; hier sehen und steuern die Personen, die die Plattform verantworten, das gesamte Geschehen.

github.com/dataandmore/management-tool, bereitgestellt untermt.dataandmore.com