Syslog und Archivierung - JanHG98/netcore-tetra GitHub Wiki
Verbindlich: main@8fb581b730f7a3833566c4bbb7c87875ad921e69; veröffentlicht bleibt v1.9.0. PR #74–#97 sind integriert. Deployment/Discovery, Imagebuilder, Pi-VPN und Syslog sind auf main, nicht mehr nur historische Vorschau. 26 reguläre Rollen einschließlich Deployment-VM; Provisioning ist optional zusätzlich.
Betreiberbestätigt: KDE-Boot, Rufe, SDS, Aufnahme/RF-Wiedergabe und WLAN am 13.10.; 28/28 Discovery-Agenten aktualisiert und keine ungeklärten Remote-Aufträge mehr am 15.10. Ein aktueller Backend-Gesamtrollout, NAS-Entlastung, SIP/Telegram, VPN-Wechsel und Dauerlauf bleiben separat offen. Vier alte Git-/Timeoutfehler bleiben Fehler.
Gesamtroadmap · Upstream-Vergleich · Roadmap und Releases. NETCORE-IAM-01 ist weiterhin Planung; AD-SSO-Pilot und Gruppenmapping sind konkretisiert, Produkt-/Betriebsentscheidung und Umsetzung offen.
Geprüfte Einrichtung und Fortschrittsprüfung. PR #95/#96 ergänzen eine Minutenprüfung ab 64 MB und Ablage unter Logs/Host/Jahr/Monat/Tag. Die eigenständige logrotate-Regel übernimmt Ubuntus globale su/create-Vorgaben. Geschlossene Logs werden auf dem NAS komprimiert und unabhängig mit SHA-256 und Länge geprüft; erst dann wird die unveränderte, nicht offen gehaltene lokale Quelle freigegeben. Fehlender echter NFS-/SMB-Mount lässt die Quelle lokal bestehen.
Die Betreiberprobe ergab 22 GB physische Logs bei nur 20 MB Medien. Logische Quellbytes sind wegen ZFS-Kompression nicht gleich frei werdender Speicher. Einrichtung, abgeschlossene Übertragung und df-/ZFS-Entlastung brauchen jeweils eigene Belege; die korrigierte Liveübernahme ist noch nicht bestätigt.
Die folgende frühere Fassung bleibt als datierte Historie erhalten. Frühere Dienstzahlen, Featurebranch-Aussagen, offene Tests und Prioritäten sind keine aktuelle Statusaussage; heutige Verfahren stehen oben beziehungsweise in den verlinkten kanonischen Docs.
Aktueller Quellenstand 07.10.2026: main 990bffb2; Release weiterhin v1.9.0. PR #59 mit Hell/Dunkel ist integriert, PR #60 ergänzt Projektarchive. Nur main ist als Branch vorhanden. Deployment/Discovery, Imagebuilder, Pi-VPN und neuere Syslog-Pipeline bleiben ausschließlich am historischen Featurecommit bbf0397 vorhanden. Keine neue Live-Abnahme. Roadmap und Releases · Upstream-Vergleich
Die hier beschriebene neuere RELP-/Discovery-/Archivpipeline gehört zu bbf0397 und fehlt auf main. Z01.1 bereitet die kontrollierte Übernahme vor; dies ist kein aktueller Installationsnachweis. Reale NAS-Rechte, Mountausfall, Rücklesen, Retention und Verlustzähler bleiben abzuprüfen. Die vorhandene main-Observability erhielt durch PR #59 ein neues Design, nicht diese Pipeline.
Entwicklungsvorschau vom 28.09.2026: Historischer Featurecommit bbf0397, Deployment-Komponente 0.2.3. Diese Funktionen sind noch nicht auf main und kein neuer Gesamtrelease. PR #57 wurde in den Entwicklungsbranch gemergt. Die Observability läuft weiter in ihrem eigenen LXC.
Der Observability-LXC bleibt getrennt von der Deployment-VM. Alle 30 Sekunden gleicht NMS gültige Discovery-Ziele ab und speichert sie lokal. Fehlende oder mehrdeutige Ergebnisse löschen keine bekannten Ziele. labels = { discovery = "manual" } fixiert ein Target; [discovery].enabled = false deaktiviert den Abgleich. Die Vorlagen enthalten 24 NMS-Dienstendpunkte und ein Inventar von 29 Maschinen; externe PBX, Brew und TBS sind dabei Logquellen ohne erfundene Metrics-Endpunkte.
Für das Update die unter Deployment und Discovery auf bbf0397 fixierte Vorschau auf dem Observability-Host verwenden, dann als root bash system-backend/observability/install/update.sh ausführen. Die alte Anweisung auf feature/observability-syslog-discovery ist nach dem Merge in den historischen Featurestand überholt. Die Migration sichert veränderte TOML als observability.toml.before-syslog-<Zeitstempel>, migriert alte ausgelieferte Ziele und erhält eigene URLs, Regeln und deaktivierte Targets. Ein vorhandenes auswertbares AppArmor-Profil wird ergänzt und bleibt aktiv.
Ein separater rsyslog-Prozess empfängt unabhängig von NMS und Controller auf TCP/UDP 514 und RELP TCP 20514. Auf jedem gewünschten Sender bash system-backend/observability/install/install-log-client.sh aus derselben geprüften Arbeitskopie ausführen. Der Sender liest journald ab neuen Meldungen und bewahrt seinen Cursor über Neustarts. Eine nachträgliche Vollübernahme alter Journale erfolgt nicht. Den früheren HTTP-Journal-Forwarder nicht gleichzeitig für dieselben Meldungen betreiben. Dateilogs außerhalb von journald benötigen weiterhin eigene Rotation beziehungsweise einen gezielt konfigurierten imfile-Input.
/etc/netcore/syslog.json legt archive_mount und archive_directory fest. Das Netzwerk-Share muss bereits als NFS/CIFS eingebunden sein; auch passende Bind-Mounts werden geprüft. Standardpfad ist /mnt/nfs-share/Logs/NetCore/<collector>/YYYY-MM-DD/. Der Installer erfindet keinen NAS-Export und erzeugt bei fehlendem Mount kein lokales Ersatzarchiv. Nur dem Collector-Verzeichnis passende Lese-/Schreibrechte geben; bei unprivilegierten LXCs UID/GID-Abbildung prüfen. Recordings, TTS und andere Share-Inhalte nicht pauschal umberechtigen.
Der Timer archiviert täglich um 02:15 UTC mit bis zu fünf Minuten Zufallsverzögerung und holt verpasste Termine nach. Das entspricht im September 04:15 Uhr in Berlin, im Winter 03:15 Uhr. JSONL-Segmente werden als gzip geschrieben, vollständig zurückgelesen und per SHA256 mit der Quelle verglichen; erst dann wird die lokale Quelle entfernt. Ein blockierter NFS-Aufruf betrifft den separaten Archiver und soll den Empfang nicht anhalten.
| Bereich | Standardgrenze | Konsequenz |
|---|---|---|
| Lokale Rohsegmente | 2 GiB, 512 MiB Reserve | Älteste ungearchivierte Daten werden bei Druck verworfen; Zähler beachten |
| Segment und Meldung | 16 MiB; 16 KiB und 8192 Zeichen | Rotation beziehungsweise gekennzeichnete Kürzung |
| Receiver und Sender | etwa 128 MiB / 64 MiB Queue | Lange Ausfälle können Datenverlust verursachen |
| UI-Vorschau und NMS | 5000 / 10000 Meldungen | Suche enthält nicht das vollständige gzip-Archiv |
| Collector-Archiv | 90 Tage oder 20 GiB; 1 GiB Reserve | Älteste eigenen Archive werden entfernt |
RELP und persistente Queues verbessern die Übertragung, garantieren aber weder Verlustfreiheit noch exakt einmalige Speicherung. UDP bestätigt nichts. Der Client-Installer begrenzt journald auf 256 MiB persistent beziehungsweise 64 MiB flüchtig; weitere Dateilogs, NMS-Daten und NAS-Quoten sind separat zu planen.
findmnt -T /mnt/nfs-share
systemctl status netcore-syslog netcore-syslog-preview --no-pager
systemctl list-timers netcore-syslog-archive.timer
systemctl start netcore-syslog-archive.service
journalctl -u netcore-syslog-archive.service -n 40 --no-pager
curl -fsS http://127.0.0.1:8210/api/v1/syslog
curl -fsS http://127.0.0.1:8210/api/v1/discoveryDie zusätzlichen Fachrouten sind POST /api/v1/discovery/sync und GET /api/v1/targets/prometheus. Ein vorhandenes Prometheus kann die zweite Route als HTTP-SD-Quelle nutzen; vor dem Neuladen mit promtool check config prüfen. Das Update überschreibt keine individuell eingerichtete Prometheus-Konfiguration. Promtail/Loki sind keine Voraussetzung der neuen Pipeline.
Zur Rücknahme zuerst Syslog-Archivtimer, Vorschau und Empfänger sowie auf Sendern Logclient und dessen Discovery-Timer geordnet anhalten. Vorherigen Observability-Build und gesicherte TOML zurückspielen. Rohdaten, SQLite, Cursor und Archive zur Untersuchung behalten. Journald-Grenzen sind eine getrennte Einstellung und werden nur bewusst zurückgenommen.
Am 28.09.2026 bestanden lokal 43 von 44 Deployment-Tests; ein Test der echten Unix-Socket-Verbindung wurde wegen fehlender Umgebungsvoraussetzung übersprungen. Die 15 Syslog-Unit-/Archivtests bestanden. Ihre temporären Share-Ersatzverzeichnisse sind kein reales NAS. Die Syslog-Wiretests und eine Live-Anlage wurden in diesem Dokumentationslauf nicht ausgeführt.
Der GitHub-Workflow OpenLab deployment and discovery, Lauf 36349402097 ist für bbf0397 erfolgreich: Discovery, Rust/UI und Image-Engine auf Ubuntu 24.04 sowie 26.04. Die Image-Jobs prüfen das echte OS-Image, ARM64-Chroot und Personalisierung; sie sind kein vollständiger Softwarebau im Image und kein physischer Pi-Boot. Der Rust-Job prüft den Workspace und baut die TBS mit Standardfeatures separat.
Vor einer Übernahme nach main bleiben konkret: Installation und Update eines echten Zielhosts mit falscher Rolle als Negativfall; Wiederanlauf nach verlorener HTTP-Antwort ohne Doppelauftrag; Controllerausfall mit weiterlaufender TBS; Pi-Start mit Soapy-Probe; WLAN/LAN/VPN-Wechsel ohne Funkneustart; NFS-Ausfall und verifizierter Archivtransfer; anschließend Funk-, SDS-, SIP- und Readiness-Abnahme. Frühere Chatberichte über erfolgreiche Einzelschritte sind Hinweise und ersetzen für diese Ausgabe keine selbst gelesenen aktuellen Laufzeitprotokolle.
Die Vorschau basiert auf Deployment-Dokumentation und Implementierung bei bbf0397, der Syslog-Dokumentation, PR #57 und dem genannten CI-Lauf. Die Quellen-SHAs machen diese Ausgabe unabhängig von späteren Branchbewegungen. Die laufende Übersicht steht unter Roadmap und Releases, Deployment und Discovery und Syslog und Archivierung.
Deployment und Discovery · Betrieb-und-Wartung · Netzwerk-und-Ports