Data & MoreDriftmt.dataandmore.com

Administrerflåden.

The Management Tool er den interne konsol påmt.dataandmore.com som driften anvender til at styre hele kundeflåden: installere en ny toolbox, skubbe en versionsopdatering, overvåge CPU og disk, se hvilken kunde der ejer hvilken installation, publicere release notes, læse logs og kontrollere NPS. Den befinder sig et niveau over selve platformen og har overblik over alle kørende instanser.

Én konsol, alle toolboxes, alle kunder, ét skærmbillede ad gangen.

354toolboxes under administration
8sidebjælkeflader
14API-blueprints
6containertjenester
Afsnit 01Formål

Hvad værktøjetgør

Alle Data & More-kunder kører deres egen platforminstans, "toolbox": et selvstændigt sæt mikrotjenester til indtagelse, profilering, klassificering, politik og rapportering. The Management Tool er det sted, hvorfra en operatør installerer disse toolboxes, holder dem på den korrekte version, overvåger deres tilstand og knytter dem til en betalende kunde, en partner, en kontrakt, et abonnement og en fornyelsesdato.

Livscyklus

Installer og opgrader toolboxes

Tilføj en ny server, skub en ny platformversion, slå automatiske opdateringer til eller fra, download toolbox-SSH-nøglen eller TLS-certifikatet, og afvikl en instans. Hver handling er én række i serverlisten.

Handel

Knyt toolboxes til kunder

Hver toolbox er tilknyttet en kunde, en partner, en plan, en pris samt en start- og fornyelsesdato. Abonnementer, betalinger (Stripe), CRM (HubSpot) og notifikationer er integreret.

Indsigt

Se flåden, ikke de enkelte træer

CPU, disk, RAM og kildeindtagelseshastigheder pr. toolbox samt aggregerede visninger: klassificeringsdrift, kildesundhed, logs, NPS-undersøgelser og levering af release notes.

Afsnit 02Arkitektur

Container-layoutet

Værktøjet leveres som en Docker Compose-stak. NGINX terminerer TLS i front; en Flask API og en Celery-lignende worker deler samme image; en Vue 3 SPA betjener brugergrænsefladen; RabbitMQ håndterer asynkrone opgaver mellem API og worker;dm-notify sender e-mail. Vedvarende tilstand lagres i platformens fælles Elasticsearch, som tilgås over det samme sikre netværk som alle andre Data & More-tjenester.

KUNDE KANT SPA API PLATFORM Operatørens browser autentificeret session mt.dataandmore.com NGINX TLS, omvendt proxy :80, :443 Vue 3 SPA services/client visninger + Vuex store Flask API 14 blueprints servers, clients datasources, workspaces payment, notifications, nps release_notes, logs, auth Worker asynkrone opgaver .Dockerfile.worker RabbitMQ kø, AMQP rabbit (værtsnavn) sæt i kø dm-notify e-mail + advarsler ECR image, :8002 send e-mail Platform fælles substrat Elasticsearch (data) Prometheus (metrikker) IAM / JWT-nøgler Stripe (fakturering) HubSpot (CRM) læs + skriv Eksternt Docker-netværk: dm delt med alle andre Data & More-tjenester, ingen offentlige porte undtagen 80 / 443 via NGINX
Intern datasti Platform læse / skrive Tilstandsbaseret / delt substrat
Figur 01, docker-compose på et øjeblik
Afsnit 03Vejledning

Otte overflader isidepanelet

Den venstre skinne er den samlede navigation. Hver overflade er én Vue-visning og én eller flere Flask-blueprints bag ved.

01

Servere

Værktøjskasseflåden. Standardlandingsskærmen for drift.

02

Kilder

Kildeforbindelser pr. værktøjskasse, med scan-, ingest- og profileringsrater.

03

Klienter

Kundevirksomheder, planer, MRR, fornyelsesdatoer, NPS.

04

Politik

Planeditor – hvad hvert abonnementsniveau indeholder.

05

NPS

Net Promoter-undersøgelsesanalyse på tværs af flåden.

06

Klassifikation

Globale klassifikationsordbøger der distribueres til hver enkelt værktøjskasse.

07

Logfiler

Søgbar revisions-/aktivitetslog på tværs af installationer.

08

Udgivelser

Udgivelsesnoter der leveres til kundernes værktøjskasser.

Afsnit 04Flåden

Serverelisten

Dette er det første, enhver operatør ser. 354 ud af 354 værktøjskasser, én række pr. installation, med filterkolonnen til venstre og en kompakt handlingsrække til højre. Mockuppen nedenfor er tro mod den aktive skærm.

Management Tool djunge Servere Kilder Klienter Politik NPS Klassificer Logfiler Udgivelser Filtre Søgefiltre Advarsler Forretningsfase Server-ID Instanstype Serverplacering Partner Serverstatus Serverversion Opdateringer aktiveret +++ +++ +++ Serverliste (354 ud af 354) Søg Skjul ES-noder + Tilføj server SERVER-ID KLIENTNAVN VERSION CPU DISK RAM PRIS SERVERTYPE HANDLINGER 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 af 354 rækker, inklusive ES-noder; slå "Skjul ES-noder" til for kun at se én række pr. toolbox.
Figur 02, Serverliste, tro mod den aktive skærm
Kolonner

Hvad hver kolonne fortæller Dem

  • Server-ID, deployment-slugget (aesp01, apcoa01tool01). Toolnoder ender på toolNN, ES-noder på esNN.
  • Kundenavn, den betalende kunde, med link tilbage til Klienter.
  • Version, værktøjskassens platformversion (v26.4.14). Styrer opgraderingsforløbet.
  • CPU / Disk / RAM, liveressourcepiller farvet grønne under tærsklen, gule over den.
  • Pris, månedlige hostingomkostninger i euro.
  • Servertype, Hetzner-instansen (EX44, EX130-R, AX61-NVMe, AX102).
  • Handlinger, værktøjslinjen pr. række: åbn overvågning, geninstaller, opgrader, genstart tjenester, download certifikat / SSH-nøgle, rediger, slet.
Filtre

Segmentér flåden

Hvert filter til venstre udvides til en facetteret liste med antal. De mest nyttige til drift er Serverstatus (kørende, stoppet, fejlet), Serverversion (hvilke værktøjskasser der er bagud), Advarsler (aktive monitorhits) og Opdateringer aktiveret (hvilke værktøjskasser der tilmelder sig automatisk opdatering).

AdvarslerForretningsfaseServer-ID InstanstypeServerplaceringPartner ServerstatusServerversionOpdateringer aktiveret
Section 05Værktøjskassens livscyklus

Installer, opgrader, afvikl en værktøjskasse

Enhver handling på en værktøjskasse svarer til én HTTP-rute på Flask API'et. Tilknytningen er enkel og stabil, hvilket holder operatørkonsollen forudsigelig.

HandlingRuteHvad der sker
Åbn flådenPOST /servers/tablePagineret forespørgsel med søgning og filtre, returnerer rækker til serverlisten
Tilgængelige værktøjskasserGET /servers/availableDet sæt denne operatør må handle på, afgrænset efter virksomhed / partner
Kun on-premPOST /servers/on_premFiltrer til on-premise-installationer for en navngiven virksomhed
Opbyg filterrailPOST /servers/filterFacetværdier; POST /servers/cascade for afhængige filtre
Åbn en værktøjskassePOST /servers/detailsEnkelt installation samt statistikdiagram for den valgte periode
Hent en enkelt postGET /servers/single/<id>Blot installationsdokumentet
Installer en ny værktøjskassePOST /servers/singleOpret en installationspost; workeren klargør værten og installerer platformen
Opgrader eller omkonfigurérPUT /servers/singleSkub en ny version, skift instanstype, slå automatiske opdateringer til/fra, skift ejerskab
AfviklDELETE /servers/single/<id>Fjern installationen fra registret; workeren nedlægger infrastrukturen
Download certifikatGET /server/single/download/certificate/<id>Base64-dekoderet TLS-certifikat, leveret som octet-stream
Download SSH-nøgleGET /server/single/download/ssh_key/<id>Base64-dekoderet privat nøgle til direkte værtsadgang
Installer

Tilføjelse af en ny server

Klik på + Tilføj server øverst til højre på serverlisten. Formularen (ServersAdd.vue) indsamler: klientnavn, partner, instanstype, placering, forretningsfase, serverversion, alarmgrænser, aktivering af opdateringer. Ved indsendelse opretter POST /servers/single implementeringsposten. Arbejderen henter opgaven fra RabbitMQ og klargør værten (Hetzner Cloud), installerer docker-stakken og registrerer den nye server i registret. Operatøren modtager en e-mail via dm-notify, når den er live.

Opgrader

Udrulning af en ny version

Filtrer servere efter Serverversion for at se, hvilke implementeringer der er bagud. Vælg Opgrader i rækkens handlingsværktøjslinje; klienten kalder PUT /servers/single med målversionen. Arbejderen henter det nye platformsbillede på toolbox-værten, kører migreringer og genstarter tjenester. Opdateringer aktiveret på en række giver toolboxen mulighed for at tilmelde sig planlagte opgraderinger, så driftsafdelingen kun behøver at skubbe de langsomme i gang.

Sektion 06Tilstødende overflader

Klienter, kilder, udgivelser, logfiler

De øvrige sidebjælkeoverflader følger samme mønster som Servere: en filtreringskolonne til venstre, en søgelinje i overskriften, en handlingskolonne til højre og en Flask-blueprint bag hver enkelt.

Klienter

Den kommercielle visning

Kolonner: Firmanavn, Server-id, Start, Forny, Type, Brugere, MRR, Næste notifikation, NPS. Filtrerer efter alarmer, land, partner, MRR, plantype, start-/fornyelsesdato, status og brugerlimit. Eksporter til Excel og + Tilføj klient øverst til højre. Planer findes bag Politik; betalinger via Stripe; CRM-synkronisering til HubSpot.

Kilder

Connectors pr. toolbox

Kolonner: Server-id, Kildenavn, Kilde-id, Arbejdsområde, Kildetype, Scanning/t, Indlæsning/t, Profileret/t, Opdateret, Profileret, I alt. Filtrerer efter server, arbejdsområde, type og partner. Slå Skjul inaktive kilder til for at fokusere på det, der er i bevægelse.

Udgivelser

Udgivelsesbemærkninger til flåden

Operatører publicerer udgivelsesbemærkninger her, som føres tilbage til de kundevendte værktøjer. Filtrerer efter Type, Tags,Version, Deployment ID, Instanstype, Deployment-type, Placering. Sorter efter Nyeste først. + Tilføj ny udgivelse åbner editoren. Scriptet seed_release_notes.py indlæser standardværdier.

Logs

Søgbar aktivitet

Filtrerer efter username, workspace, deployment id, type, partner id. Dato-/tidsinterval samt et fritekst-søgefelt. Case-log-overfladen (case_log blueprint) er placeret ved siden af til overordnede operatørnoter pr. klient.

Mere stille overflader

  • Policy, planseditoren (EditPlans.vue): hvad hvert abonnementsniveau koster, hvilke funktioner det låser op for, bruges af klienter.
  • NPS, NPS-analysevisningen (NPSAnalytics.vue): scoreudvikling på tværs af flåden, opdelt pr. klient, driver Næste notifikation på klienter.
  • Classification, den globale klassifikationsvisning (GlClassification.vue): ordbøger og regler der distribueres centralt til alle toolboxes, så terminologien forbliver ensartet.
Afsnit 07Relationer

Hvordan det er placeret over resten af platformen

Management Tool befinder sig ét niveau over alle andre Data & More-tjenester. Det klassificerer ikke dokumenter, scanner ikke indbakker eller kommunikerer med Microsoft 365; det instruerer de toolboxes, der gør. Disse toolboxes er platformens repos: api, client, iam, java_profiler, ai-profiler, dlp, ocr, graph-ingestion, ews, google, fileshare-service, known-persons-service, samt dataniveauet (Elasticsearch, PostgreSQL, RabbitMQ, Redis, S3).

OPS KONSOL PLATFORM TOOLBOXES Management Tool mt.dataandmore.com deploy, opgrader, overvåg, fakturér bruges af Data & More's drift 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 flere én række pr. udrulning udrulning, opgradering CPU, disk, advarsler
Kontrolplan, drift, til toolbox Telemetri, toolbox, til drift Konsollen
Figur 03, styringsværktøjet, ét niveau over 354 toolboxes
Afsnit 08API-overflade

De 14 Flask blueprints

API'et er én Flask-applikation med 14 blueprints registreret ved opstart i app.py. Hvert blueprint grupperer et lille sæt ruter for én overflade. Navnene svarer tydeligt til sidebjælken.

servereflådeliste, detaljer, opret, opdater, slet, certifikat- og SSH-download
klientervirksomhedsregistreringer, abonnement, MRR, fornyelse, notifikationer
workspacespr.-toolbox-workspaces (logiske omfang)
datakilderkildeconnectorer og indtagshastigheder
notifikationeroperatørsidets notifikationsrouting
advarsleraktiv sundhed / tærskeloverskridelser
authJWT-login, tokenudstedelse, autorisationsdekorator
case_logoperatørnoter pr. klient / pr. sag
betalingStripe-integration, fakturaer, genforsøg
client"denne klient"-endepunkter anvendt af SPA'et selv
npsNPS-surveylevering og -analyse
global_classificationordbøger sendt til alle toolboxes
logssøgbar aktivitet på tværs af toolboxes
release_notesudgiv noter, der udbredes til kunde-UI'er
Afsnit 09Under motorhjelmen

Det stack

FrontendVue 3 SPA, Vuex store, brugerdefineret SCSS, monteret under services/client
APIPython, Flask, serveret af waitress i produktion via waitress-serve --call env:configure
WorkerSamme Python-image, .Dockerfile.worker indgang, asynkrone opgaver via RabbitMQ
RabbitMQ, AMQP, værtsnavn rabbit
Notifydm-notify (ECR-image), e-mail + advarsler ved :8002
EdgeNGINX, TLS-terminator, omvendt proxy på :80 / :443
TilstandElasticsearch på monitor.gdpr.dataandmore.com, plus Prometheus til metrikker, plus platformens IAM-tjeneste til JWT-nøgler
CommerceStripe (betaling), HubSpot (CRM)
NetværkEksternt Docker-netværk dm, delt med alle andre Data & More-tjenester
Lokal kørseldocker-compose -f docker-compose.local.yml up -d --build
Repositorygithub.com/dataandmore/management-tool
I én linjeFormen på det

Én konsol. 354 toolboxes. Hvert træk dokumenteret.

Management Tool er operatørens plads hos Data & More: det sted, hvorfra enhver kundes toolbox oprettes, holdes opdateret, overvåges, faktureres og (til sidst) udfases. Platformen udfører arbejdet; dette er der, hvor de mennesker, der ejer platformen, ser og styrer den.

github.com/dataandmore/management-tool, serveret vedmt.dataandmore.com