Logs¶
Vesana sammelt Logs über den Agent — Dateien, journald und das Windows Event Log — und zeigt sie am Host an. Log-Sammlung ist in jeder Edition enthalten, auch ohne Lizenzschlüssel.
Nicht verwechseln
Diese Seite beschreibt die Logs deiner Geräte. Was Vesana selbst protokolliert (Verbindungen, Benachrichtigungen, Status-Wechsel …), steht im Global Log.
Architektur¶
flowchart LR
F[Datei-Logs] --> AT[Agent]
J[journald] --> AT
W[Windows Event Log] --> AT
AT --> Q[Lokale Warteschlange]
Q -->|HTTPS, zstd-komprimiert| R[Receiver]
R --> DB[(Log-Datenbank)]
DB --> S[Suche am Host]
DB --> SSE[Live-Ansicht]
Voraussetzungen¶
- Agent installiert — Logs sammelt ausschließlich der Agent, Collectors liefern keine Logs. Den Reiter Logs gibt es deshalb nur an Hosts mit Agent.
- Mindestens eine Log-Quelle am Host.
Log-Quelle anlegen¶
Host-Detail → Logs. Ohne Quelle steht dort „Log-Sammlung ist nicht aktiv" mit den Knöpfen Journald aktivieren bzw. Event Log aktivieren; unter Weitere Optionen gibt es Vorlagen und die übrigen Arten:
- Journald hinzufügen (alle Units oder ausgewählte Units)
- Datei-Quelle hinzufügen
- Event Log Quelle hinzufügen (ausgewählte Channels)
Unter Log-Quellen lässt sich jede Quelle bearbeiten („Quelle bearbeiten"), deaktivieren/aktivieren oder löschen. Der Agent bekommt Änderungen mit seiner nächsten Konfiguration und beginnt zu lesen.
| Art | Felder |
|---|---|
| Datei | Dateipfad, Service-Name (optional), Multiline-Pattern (optional — Zeilen, die zu einem Eintrag gehören, z. B. Stacktraces) |
| journald | Units (leer = alle), Mindest-Level |
| Windows Event Log | Channels, Mindest-Level, Provider (optional), Event-IDs (nur diese / ausschließen) |
Datei¶
Platzhalter (*, ?, […]) sind im Dateinamen erlaubt: /var/log/myapp/*.log.
Der Agent liest jede passende Datei einzeln (höchstens 64, die jüngsten zuerst)
und findet neu hinzukommende Dateien innerhalb von etwa 10 Sekunden. Im
Verzeichnis-Teil sind keine Platzhalter erlaubt — /var/log/*/error.log wird
beim Speichern abgelehnt. Rotierte Dateien werden automatisch erkannt; wird eine
Datei in einen Namen umbenannt, der ebenfalls zum Muster passt, liest der Agent
dort weiter, statt sie erneut einzulesen. Wird eine Datei verkleinert
(abgeschnitten), liest der Agent sie von vorn.
journald¶
Mindest-Level: critical, error, warning, notice, info oder alle.
Neue Quellen starten mit warning — auf Linux schreibt fast jeder Dienst
laufend Info-Zeilen, die niemand auswertet. Zwei Ausnahmen gelten immer,
unabhängig vom Level:
- Anmelde- und Sicherheitsereignisse (sshd, sudo, su, login, systemd-logind, Benutzer- und Gruppenänderungen) werden auch auf Info gesendet — ein fehlgeschlagener Login steht dort.
- Vesanas eigene Dienste (Agent, Collector) werden nicht gesendet, außer die Quelle nennt die Unit ausdrücklich. Ihre Meldungen stehen im eigenen Agent-Log bzw. im Global Log.
Eine Quelle ohne Level (angelegt vor dieser Regel) sammelt weiter alle Stufen; das Level lässt sich unter „Quelle bearbeiten" ändern.
Windows Event Log¶
Mindest-Level: critical, error oder warning (Vorgabe warning; Information
bietet die Oberfläche bewusst nicht an — Windows schreibt Tausende
Routine-Ereignisse pro Stunde). Channel-Namen sind Namen, keine Pfade (\, :,
.. werden abgelehnt); Channels mit Schrägstrich wie
Microsoft-Windows-TaskScheduler/Operational sind erlaubt. Der Agent liest
lückenlos nach, auch bei vielen Ereignissen in kurzer Zeit.
Suche und Live-Ansicht¶
Gesucht wird am Host im Reiter Logs:
- Volltext (Wortsuche, Treffer werden markiert)
- Severity (Mehrfachauswahl)
- Quelle (Journald / Datei / Event Log)
- Service
- Zeitraum: 15 min, 1 h, 6 h, 24 h (Vorgabe) oder 7 Tage
Einträge lassen sich aufklappen und zeigen alle Felder. Geblättert wird mit „Mehr laden" (100 je Schritt).
Der Knopf Live zeigt neue Einträge laufend an (höchstens die letzten 500).
Logs erscheinen außerdem im Dashboard-Widget Log Stream.
Sprung aus einem Eventlog-Check¶
Eventlog-/journald-Checks bieten in der Fehlerübersicht und am Check einen Link in den Logs-Reiter des Hosts — vorbelegt mit genau den Filtern und dem Zeitfenster des Checks („Filter aus dem Check übernommen"). Lassen sich Filter des Checks hier nicht abbilden (Ausschlüsse, Regex, Event-IDs, mehrere Units), sagt ein Hinweis, dass die Liste weiter gefasst ist. Werden für den Host noch keine Logs gesammelt, heißt der Link „Logs aktivieren"; nach dem Aktivieren lädt der Agent die letzten 24 Stunden nach.
Aufbewahrung¶
| Daten | Vorgabe | Einstellbar unter |
|---|---|---|
| Log-Einträge (Volltext) | 30 Tage | Admin → System → Ressourcen → Speicher |
| Tageszahlen je Tag, Gerät, Quelle und Level | unbegrenzt | — |
Ältere Log-Abschnitte werden komprimiert gespeichert und bleiben durchsuchbar.
Die Tageszahlen zählt die Datenbank selbst mit; sie bleiben erhalten, auch
wenn der Volltext abgelaufen ist — damit lässt sich „wann fing das an?" auch nach
Jahren beantworten, ohne die Logs länger aufzubewahren. Abrufbar über
GET /api/v1/logs/daily-counts; in der Oberfläche gibt es dafür noch keine
Ansicht.
Lokale Warteschlange¶
Der Agent puffert Log-Pakete lokal (bis 500 MB), wenn der Server nicht erreichbar ist, und schickt sie nach, sobald er zurück ist. Ist die Warteschlange voll, werden neue Pakete verworfen, bis wieder Platz ist. Beim Stoppen des Dienstes landet, was nicht mehr gesendet werden konnte, ebenfalls dort.
Pfad: /var/lib/vesana-agent/log-queue/ (Linux) bzw.
C:\ProgramData\Vesana\Agent\log-queue\ (Windows).
Wann reicht es nicht¶
- Sehr hohe Volumina — eigene Lösung wie Loki/Grafana parallel betreiben, nur Wichtiges in Vesana
- Strukturierte Telemetrie (OpenTelemetry-Logs) — gibt es in Vesana nicht
- Compliance-Speicher (revisionssicher) — Vesana ist kein WORM-Speicher
Anschluss¶
- Global Log — Ereignisse von Vesana selbst
- Widget-Referenz — Log Stream als Widget