Produkt

Wie Vesana funktioniert.

Ein Server, drei Wege Daten reinzubekommen, eine Datenbahn die alles konsolidiert. Kein Geheimnis dahinter — alles auf dieser Seite ist auch im Repo nachzulesen.

Architektur

Eine Plattform.
Drei Wege Daten zu sammeln.

Vesana nimmt Daten so entgegen, wie es zum Zielsystem passt — und schickt alles an einen einzigen Server. Du musst dich nicht für einen Modus entscheiden, du kannst alle drei kombinieren.

HTTPS POSTHTTPS POSTinternalqueueconsumewritealertreadREST Agent Go-BinaryWindows · Linux Collector Linux-VMSNMP · SSH · Ping · HTTP/S Active Vesana-Worker selbstscheduled · outbound Receiver FastAPIHTTPS Ingest Redis Stream Worker ×3 asyncio Pool Notifications PostgreSQL TimescaleDBHypertables REST API Frontend React 18Vite · TypeScript

Drei Modi

Du musst dich nicht entscheiden.
Du kannst alle drei mischen.

Jeder Modus passt auf eine andere Situation. Vesana behandelt sie gleich: Daten kommen rein, werden konsolidiert, landen im Dashboard.

01

Agent

Auf dem Zielsystem.

Wann
Wenn du auf der Maschine selbst messen willst — CPU, RAM, Disk, Services, Prozesse, Event-Logs.
Was läuft
Leichtgewichtiges Single-Binary in Go. Keine Runtime, keine Abhängigkeiten. Läuft auf Windows und Linux.
Auth
Token, gehasht gespeichert. Ein Token pro Host.
Transport
HTTPS nach außen, kein Inbound-Port nötig.
02

Collector

In deinem (oder Kunden-)Netz.

Wann
Wenn du Geräte überwachen willst, auf denen kein Agent läuft oder laufen darf — Switches, Firewalls, USVs, NAS, Drucker.
Was läuft
Single-Binary in Go auf einer Linux-VM. SNMP, SSH, Ping, HTTP/S — und alles, was du als Custom-Script hochlädst.
Auth
API-Key, gehasht gespeichert. Mehrere Collectors pro Mandant möglich.
Transport
HTTPS an den Vesana-Server. Outbound-only.
03

Active

Vom Vesana-Server selbst.

Wann
Wenn du etwas messen willst, das vom Server aus erreichbar ist — Public APIs, DNS, Status-Endpoints, Zertifikate.
Was läuft
Direkt im Vesana-Worker. Scheduled Checks, in der Datenbank konfiguriert.
Auth
Keine — der Server ist die Quelle.
Transport
Outbound vom Vesana-Server zum Ziel.

Die Datenbahn

Was passiert nach dem Push.

Sobald ein Resultat reinkommt, läuft es durch sechs Stufen, bevor du es im Dashboard siehst. Hier ist jede einzelne, ohne Geheimniskrämerei.

  1. 01

    Receiver

    FastAPI-Endpoint nimmt POST-Requests von Agent und Collector entgegen, validiert Auth-Token, schreibt nichts persistent.

  2. 02

    Redis Stream

    Die Resultate landen in einem Stream. Entkoppelt Empfangs- von Verarbeitungs-Tempo, hält den Receiver schnell.

  3. 03

    Worker

    Python-Pool liest aus dem Stream, parst, wendet die State-Machine an, schreibt in die DB. Drei parallele Worker per Default.

  4. 04

    TimescaleDB

    PostgreSQL mit Hypertables für Check-Resultate und Logs. Behält Rohdaten so lange wie konfiguriert.

  5. 05

    API

    FastAPI-Layer erzwingt tenant_id auf jeder Query, verteilt Berechtigungen, antwortet REST + SSE.

  6. 06

    Dashboard

    React-Frontend, dazu Mobile-Apps. Liest aus der API, schreibt zurück (ACK, Downtime, Konfiguration).

Setup

Drei Schritte, <15 Minuten.

Vesana ist als Self-Hosted-Produkt gebaut. Es gibt keine Cloud-Variante, also gibt es auch keinen Onboarding-Flow zu einer Cloud. Du installierst, du startest, du nutzt.

  1. 01

    Docker installieren.

    Vesana läuft als Docker-Compose-Stack. Auf einer 4 GB-VM oder dem Homelab-Host. Keine Kubernetes-Pflicht.

    # Debian/Ubuntu
    curl -fsSL https://get.docker.com | sh
  2. 02

    Vesana starten.

    Lade die Compose-Datei und das Setup-Script herunter, .env anpassen, hochfahren. Init-Container kümmert sich um Migrations und Seed-Daten.

    curl -fsSL https://vesana.org/install.sh | bash
    docker compose up -d
  3. 03

    Mandanten + Hosts anlegen.

    Web-Wizard öffnet beim ersten Login. Du legst deinen ersten Mandanten an, lädst den Agent oder Collector herunter, klebst Token + URL ein. Fertig.

    # auf dem zielhost
    wget -qO- https://your.vesana/agent/install.sh | \
        bash -s -- TOKEN https://your.vesana

Stack

Was unter der Haube läuft.

Vesana ist auf Standard-Komponenten gebaut — Postgres, Python, Go, Redis. Keine proprietäre Sprache, keine Eigenbau-Datenbank, kein Lock-in.

Backend

API
Python 3.12 · FastAPI
Receiver
Python 3.12 · FastAPI
Worker
Python 3.12 · asyncio

Datenhaltung

Datenbank
PostgreSQL 17 · TimescaleDB
Cache / Queue
Redis 8 (Streams)

Edge

Agent
Go 1.22+ · single binary
Collector
Go 1.22+ · single binary

Client

Frontend
React 18 · TypeScript · Vite
Mobile
React Native · Expo (Android, iOS folgt)

Betrieb

Container
Docker Compose
Reverse Proxy
beliebig — Caddy, nginx, Traefik
Updates
GUI-getrieben oder Compose-pull