Commit Graph
30 Commits
Author SHA1 Message Date
mm 9e6593a6f6 fix(installer): Re-Exec sichtbar melden (Selbstschutz-Diagnose) 2026-09-14 10:17:36 +02:00
mm 1eb7976ec8 fix(installer): Selbstschutz gegen stdin-Frass bei curl|sh (VERSION 1.4.0)
x14 brach mitten in der Installation ab: der Installer gab seinen eigenen
Quelltext aus ("; then", Kommentarzeilen) und blieb stehen.

Ursache: Bei `curl ... | sh` liest die Shell das Skript aus STDIN. apt startet
auf Ubuntu `needrestart` (Meldung "Scanning processes... / Scanning linux
images..."), und das liest stdin — damit war der Rest des Skripts weg. Die
Shell setzte mitten im Quelltext fort. Bei x22 trat es nicht auf, weil Telegraf
dort schon installiert war (kein apt-Lauf).

Fix, drei Schutzschichten:
1. Re-Exec: laeuft das Skript ueber eine Pipe, laedt es sich frisch von der
   Quelle und startet sich neu — mit stdin auf /dev/null. NICHT per cat von
   stdin kopieren: die Shell puffert bereits, die Kopie waere unvollstaendig.
2. NEEDRESTART_MODE=a + DEBIAN_FRONTEND=noninteractive fuer alle apt-Aufrufe.
3. </dev/null an jedem Paketmanager (apt, dnf, yum, apk).
2026-09-14 10:14:10 +02:00
mm 3236d9cede feat(apache): Error-Logs erfassen + drei stille Fallen behoben (VERSION 1.3.0)
Bisher wurden NUR access.log gesammelt — real nachgemessen: 31 logfile-Labels,
0 davon error.log. Bei einem KeyHelp-Host mit PHP/CMS fehlten damit genau die
Fehler, fuer die man ins Monitoring schaut.

Error-Logs jetzt in einem EIGENEN Input (name_override=apache_error), roh nach
Loki, mit Tags logtype=error und logfile=<pfad>. Getrennt vom Access-Grok, weil
das Format nicht passt:
  [Mon Sep 14 00:10:01.123456 2026] [core:error] [pid 9] AH00124: ...
Liefen sie durch den Access-Parser, entstuenden keine Metriken, aber der
Aggregator wuerde sie in leere Gruppen einordnen.

DREI STILLE FALLEN dabei gefunden und behoben:
1. processors.rename hatte namepass=["journal"] — apache_error behielt das
   Feld value, jede Panel-Query mit {.message} haette es nicht gefunden.
2. outputs.loki namepass enthielt apache_error nicht — Input sammelt ein,
   Output verwirft, keine Fehlermeldung, Panels leer (wie bei journal damals).
3. outputs.prometheus namedrop ebenso — sonst wandern Textzeilen in die TSDB.

Verifiziert gegen echte KeyHelp-Formate: access=2 Metriken, error=4 Rohzeilen,
Feld heisst message, 0 Error-Zeilen als Metrik.
2026-09-14 10:03:13 +02:00
mm d684ce860d fix(installer): --update-only ohne --token/--name auf bestehender Node
Zwei Fehler, gleiche Wurzel — die Werte aus /etc/default/telegraf wurden nur
vom Auto-Updater gelesen, nicht von einem manuellen --update-only:

1. Abbruch "Kein Token", obwohl der Token auf der Maschine liegt. Der Weg
   fuer eine Reparatur auf einer laufenden Node war damit verschlossen.
2. Stiller: ohne --name fiel NODE_NAME auf den Hostnamen zurueck. Auf einem
   KeyHelp-Host (x22 vs x22.idx.wf-keyhelp) waere die Node unter falschem
   Label registriert worden; ein PVE-Knoten haette seine Rolle verloren
   (kein pvesh-Drop-in mehr).

Fix: Token, NODE_NAME, ROLE, COLLECTOR, PVE_* aus der Datei nachladen, aber
nur wenn die Kommandozeile nichts anderes sagt (NAME_GIVEN/ROLE_GIVEN).

Zusaetzlich ein zweiter, ernster Fund aus dem Test:
APACHE_FILES blieb leer, wenn ROLE=apache gesetzt war, Apache aber nicht
erkannt wurde. Die Conf rendert dann zu "files = " -> ungueltiges TOML ->
Telegraf startet nicht -> ALLE Metriken der Node aus. Berechnung jetzt
unabhaengig vom Guard, plus Sicherheitsnetz vor dem Rendern.
2026-09-14 01:34:15 +02:00
mm 3c0c800f90 fix(apache): Glob-Muster in der Conf behalten (set -f statt Expansion) + ACL fuer User-Home-Logs (KeyHelp) + Diagnose entdoppelt 2026-09-14 00:43:39 +02:00
mm 963546641b fix(diagnose): Quoting des Pfads im Lesbarkeitstest 2026-09-14 00:35:59 +02:00
mm 711d8bdc1d feat(diagnose): --diagnose prueft Leserechte, leere Dateien, Parser und Offset in einem Aufruf 2026-09-14 00:35:11 +02:00
mm cba503e174 fix(installer): /etc/default/telegraf quoten + robustes Sourcing (load_defaults); apache-Logpfade sammeln statt ersten nehmen 2026-09-14 00:32:07 +02:00
mm d614ffa56a fix(apache): KeyHelp-Pfadmuster /home/users/*/logs/*/access.log (zweistufig) + Plesk/cPanel 2026-09-14 00:26:49 +02:00
mm 2b853529f9 fix(apache): Logpfade als TOML-Liste + CustomLog-Erkennung zuerst (KeyHelp-VHost-Logs) 2026-09-14 00:24:31 +02:00
mm 33eb5f2308 fix(installer): Konfig-Test ohne --input-filter — validierte nur gefilterte Plugins, Dienststart scheiterte danach 2026-09-14 00:21:05 +02:00
mm 02af5b428f feat(apache): Glob ueber VHost-Logs fuer Panel-Hoster (KeyHelp/Plesk/cPanel) 2026-09-14 00:16:42 +02:00
mm da3f221c8d fix(apache): from_beginning existiert bei inputs.tail nicht (Dienststart scheiterte) + COMMON/COMBINED_LOG_FORMAT; Logpfad-Autoerkennung 2026-09-14 00:14:45 +02:00
mm feb77e2fc7 fix: TELEGRAF_OPTS leer setzen — beseitigt systemd-Warnung "Referenced but unset" 2026-09-13 23:56:39 +02:00
mm cc5dc6b9ad fix(updater): nur eigene Confs entfernen — fremde/manuelle Confs ueberleben Update 2026-09-13 23:51:16 +02:00
mm 8d05d3bc48 feat(updater): --check/--version, --force-update mit Rollback, --update-only, systemd-Timer + Windows-Task; VERSION+SHA-Marker; envsubst-Fallback 2026-09-13 23:44:02 +02:00
mm 258157c943 fix(logs): journald via exec+Cursor statt inputs.journal (existiert nicht) bzw. syslog (fehlt auf PVE) 2026-09-13 22:27:26 +02:00
mm e1da311488 feat(logs): journald-Input — PVE/Nicht-Docker-Nodes lieferten bisher gar keine Logs 2026-09-13 22:16:46 +02:00
mm eea9f7fce4 feat(node-info): LAN-IP, NetBird-IP/FQDN und PVE-URL als node_info-Metrik auf jeder Node 2026-09-13 21:56:14 +02:00
mm c73e4d1773 fix(proxmox): systemd-Drop-in User=root — pvesh braucht root, Dienst lief als telegraf und lieferte still nichts 2026-09-13 21:30:44 +02:00
mm 72756babae feat(proxmox): pvesh-basierter exec-Input statt inputs.proxmox (kein Token/ACL noetig) 2026-09-13 21:17:48 +02:00
mm 0dbfc12b9b fix: base.conf ebenfalls rendern (NODE_NAME/URLs/Token blieben als Platzhalter); Warnung bei unaufgeloesten Platzhaltern 2026-09-13 20:52:16 +02:00
mm 090984e7f9 fix(gpu): fauler Input killte telegraf — nvidia_smi nur bei echtem nvidia-smi, Intel ohne GPU-Input, Selbstheilung bei Startfehler 2026-09-13 20:48:52 +02:00
mm d8b910063e fix(proxmox): Conf-Platzhalter rendern (fetch_conf), PVE-Erkennung vor dem Schreiben der Env; README mit Token-Anlage 2026-09-13 20:39:44 +02:00
mm 5326d90975 feat(proxmox): --pve-node/--pve-url, additional_vmstats_tags, node_name-Erkennung per pvesh 2026-09-13 20:37:19 +02:00
mm d8cb2432c5 fix(gpu-amd): Ausgabe im Prometheus-Format (kein _value-Suffix); data_format=prometheus 2026-09-13 20:32:52 +02:00
mm 9db71d207c fix(gpu-amd): name_override entfernt — zerstoerte die Metriknamen des Scripts (alle Werte -> gpu_value); Array-Syntax fuer commands 2026-09-13 20:30:19 +02:00
mm f99e46fd96 fix: fetch-Pfade vollstaendig (scripts/gpu-rocm.sh lag unter scripts/, nicht telegraf/) 2026-09-13 20:21:28 +02:00
mm a19bd82189 feat: GPU-Auto-Erkennung (nvidia_smi, rocm-smi); Testserver-Aufraeumen dokumentiert 2026-09-13 20:11:26 +02:00
mm 9a878e8b8b feat: Telegraf node installer (Linux apt/dnf/apk/static, Proxmox, Apache, Docker; Windows PowerShell) 2026-09-13 17:26:42 +02:00