fix(archive): Anleitung zeigt auf das Archiv, nie auf die Produktions-TSDB; x22-Wrapper mit --file

This commit is contained in:
mm committed 2026-09-14 11:43:19 +02:00
1 parent 72752e523e
commit 7d3ce17c53
2 files changed
+30 -10

No files matched your search

+21 -5
View File
@@ -33,7 +33,12 @@ AUFRUF (auf dem Quellhost, als root)
python3 apache-log-archive.py --node x22.idx.wf-keyhelp
python3 apache-log-archive.py --node x22 --out /root/apache-archive
Danach die .tar.gz auf den imac bringen und dort einspielen (siehe README).
Danach die .tar.gz auf den imac bringen und dort einspielen — AUSSCHLIESSLICH
ueber prom-archive-import.sh in die getrennte ARCHIV-Instanz (:9091).
NIEMALS die Bloecke von Hand in die Produktions-TSDB entpacken: ein Block mit
Zeitstempeln ausserhalb des Live-Fensters verschiebt dort die Zeitreferenz und
laesst jeden echten Sample als "too old" verwerfen (real passiert am 14.09.2026,
13 Nodes verloren ihre Metriken).
"""
import argparse
import glob
@@ -315,10 +320,21 @@ def main():
print()
print(f" Uebergabe an den zentralen Server:")
print(f" scp {tar_path} mm@192.168.188.177:/tmp/")
print(f" Dort einspielen:")
print(f" tar -xzf /tmp/{os.path.basename(tar_path)} -C /data/stacks/netbird-observability/stacks/central-imac/data/prometheus/")
print(f" # Bloecke nach <prometheus>/ — Prometheus liest sie beim naechsten Start")
print(f" docker restart observability-prometheus")
print()
print(f" ============================================================")
print(f" EINSPIELEN — NUR in die ARCHIV-Instanz (:9091)")
print(f" ============================================================")
print(f" ssh mm@192.168.188.177 \\")
print(f" 'sudo /usr/local/bin/prom-archive-import.sh --file /tmp/{os.path.basename(tar_path)}'")
print()
print(f" Das Import-Skript prueft die Zeitstempel VOR dem Einspielen, legt ein")
print(f" Manifest an (Schutz gegen Doppel-Import) und schreibt ausschliesslich")
print(f" ins Archiv-Verzeichnis.")
print()
print(f" NIEMALS von Hand entpacken — insbesondere NICHT nach")
print(f" central-imac/data/prometheus/. Genau dieser Weg hat am 14.09.2026 die")
print(f" Zeitreferenz der Produktions-TSDB verschoben: 13 Nodes verloren ihre")
print(f" Metriken, jeder Live-Sample galt danach als 'too old'.")
print()
print(f" Hinweis: instance=\"{args.node}\", archived=\"1\" — im Dashboard von")
print(f" Live-Daten unterscheidbar (Filter archived!=\"1\" blendet das Archiv aus).")
+9 -5
View File
@@ -110,12 +110,16 @@ Von hier aus die Ausgabe auf den imac holen und ins ARCHIV einspielen
# 1) Uebertragen (von x22 aus, im NetBird)
scp $OM mm@100.83.134.46:/tmp/apache-archive.openmetrics
# 2) Auf dem imac: Bloecke im ARCHIV-Verzeichnis erzeugen und einspielen
ssh mm@192.168.188.177 'sudo /usr/local/bin/prom-archive-import.sh'
# 2) Auf dem imac: in die ARCHIV-Instanz einspielen
# --file ist Pflicht. Ohne diese Option wuerde das Import-Skript den
# Produktions-Pfad anfassen — dagegen ist es inzwischen gesperrt.
ssh mm@192.168.188.177 'sudo /usr/local/bin/prom-archive-import.sh --file /tmp/apache-archive.openmetrics'
Wichtig: der Import prueft zuerst auf Zukunfts-Zeitstempel und legt einen
Snapshot an. Bricht er ab, ist das der Schutz, nicht ein Defekt — Ursache
in der Ausgabe pruefen.
Wichtig: der Import prueft zuerst auf Zukunfts-Zeitstempel, legt ein Manifest
an (Schutz gegen Doppel-Import) und schreibt ausschliesslich ins Archiv. Ein
zweiter Lauf mit derselben Datei wird uebersprungen und sagt das auch.
Bricht er ab, ist das der Schutz, nicht ein Defekt — Ursache in der Ausgabe
pruefen.
Das Skript fuehrt den Import bewusst NICHT selbst aus: die Produktions-TSDB
liegt auf einem anderen Host, und ein automatischer Import von einer Node aus