Sollte es vorkommen, dass nach einer Wiederherstellung des Speichermediums keine Daten mehr in Grafana angezeigt werden, könnte es an einer korrupten Datenbank in Influx liegen.
Fehlerbild: InfluxDB Error: Bad Gateway
und zusätzlich die InfluxDB ständig neu startet (neue PID).
Dann könnt ihr wie folgt vorgehen:
1.) Prozess in der WebUI stoppen
2.) Diesen Befehl als root auf der Konsole ausführen
sudo -u influxdb -g influxdb /usr/bin/influxd -config /etc/influxdb/influxdb.conf
Ihr solltet jetzt sehr viele Datenzeilen an euch vorbeirauschen sehen.
Bei einem Fehler erkennt ihr das daran, dass nach einer gewissen Zeit wieder eine Eingabemöglichkeit in der Konsole besteht (und damit der Influx-Prozess abgestürzt ist). Eventuell seht ihr auch noch eine Fehlermeldung von Influx.
3.) Daten mit der Maus markieren und in die Zwischenablage kopieren
4.) Inhalt in Notepad++ einfügen um eine bessere Lesbarkeit zu erreichen
panic: runtime error: slice bounds out of range [:662] with capacity 512 goroutine 2185 [running]: github.com/influxdata/influxdb/tsdb/cursors.(*FloatArray).Include(0x35a155c, 0x18124400, 0x171eb245, 0x56026900, 0x5adb18bf) /go/src/github.com/influxdata/influxdb/tsdb/cursors/arrayvalues.gen.go:130 +0x26c github.com/influxdata/influxdb/tsdb/engine/tsm1.(*tsmBatchKeyIterator).combineFloat(0x31ce460, 0x3c98701, 0x10, 0x3c98750, 0x0) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/compact.gen.go:1115 +0x610 github.com/influxdata/influxdb/tsdb/engine/tsm1.(*tsmBatchKeyIterator).mergeFloat(0x31ce460) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/compact.gen.go:1058 +0x24c github.com/influxdata/influxdb/tsdb/engine/tsm1.(*tsmBatchKeyIterator).merge(0x31ce460) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/compact.go:1848 +0x34 github.com/influxdata/influxdb/tsdb/engine/tsm1.(*tsmBatchKeyIterator).Next(0x31ce460, 0x7032a) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/compact.go:1833 +0x10c github.com/influxdata/influxdb/tsdb/engine/tsm1.(*Compactor).write(0x313bb60, 0x30cc180, 0x73, 0x1ec9988, 0x31ce460, 0x3399601, 0x0, 0x0) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/compact.go:1141 +0x150 github.com/influxdata/influxdb/tsdb/engine/tsm1.(*Compactor).writeNewFiles(0x313bb60, 0x3, 0x2, 0x3bc8120, 0x3, 0x4, 0x1ec9988, 0x31ce460, 0x1, 0x1ec9988, ...) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/compact.go:1045 +0x11c github.com/influxdata/influxdb/tsdb/engine/tsm1.(*Compactor).compact(0x313bb60, 0x3bc8100, 0x3bc8120, 0x3, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/compact.go:953 +0x4a0 github.com/influxdata/influxdb/tsdb/engine/tsm1.(*Compactor).CompactFull(0x313bb60, 0x3bc8120, 0x3, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/compact.go:971 +0x110 github.com/influxdata/influxdb/tsdb/engine/tsm1.(*compactionStrategy).compactGroup(0x3f444c0) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/engine.go:2289 +0xfdc github.com/influxdata/influxdb/tsdb/engine/tsm1.(*compactionStrategy).Apply(0x3f444c0) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/engine.go:2266 +0x2c github.com/influxdata/influxdb/tsdb/engine/tsm1.(*Engine).compactFull.func1(0x3494950, 0x337e300, 0x3f444c0) /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/engine.go:2235 +0xc4 created by github.com/influxdata/influxdb/tsdb/engine/tsm1.(*Engine).compactFull /go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/engine.go:2231 +0xd0
5.) prüfen, welche files betroffen sind; dafür ist von euch der Speicherpfad anzupassen
influx_inspect verify -dir /opt/loxberry/system/storage/usb/Stick30GB/influxdb/
Ausgabe:
/opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/210/000000063-000000002.tsm: healthy /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/211/000000063-000000002.tsm: healthy /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/213/000000063-000000002.tsm: got 1994650575 but expected 2913134217 for key [104 116 116 112 100 44 98 105 110 100 61 58 56 48 56 54 44 104 111 115 116 110 97 109 101 61 108 111 120 98 101 114 114 121 35 33 126 35 112 111 105 110 116 115 87 114 105 116 116 101 110 79 75], block 117 /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/213/000000063-000000002.tsm: got 970457360 but expected 1627294141 for key [104 116 116 112 100 44 98 105 110 100 61 58 56 48 56 54 44 104 111 115 116 110 97 109 101 61 108 111 120 98 101 114 114 121 35 33 126 35 112 111 105 110 116 115 87 114 105 116 116 101 110 79 75], block 118 /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/213/000000063-000000002.tsm: got 2393176381 but expected 2689407139 for key [104 116 116 112 100 44 98 105 110 100 61 58 56 48 56 54 44 104 111 115 116 110 97 109 101 61 108 111 120 98 101 114 114 121 35 33 126 35 112 111 105 110 116 115 87 114 105 116 116 101 110 79 75], block 119 /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/213/000000063-000000002.tsm: got 1520309356 but expected 2594523079 for key [104 116 116 112 100 44 98 105 110 100 61 58 56 48 56 54 44 104 111 115 116 110 97 109 101 61 108 111 120 98 101 114 114 121 35 33 126 35 112 111 105 110 116 115 87 114 105 116 116 101 110 79 75], block 120 /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/213/000000063-000000002.tsm: got 3532195821 but expected 2073464141 for key [104 116 116 112 100 44 98 105 110 100 61 58 56 48 56 54 44 104 111 115 116 110 97 109 101 61 108 111 120 98 101 114 114 121 35 33 126 35 112 111 105 110 116 115 87 114 105 116 116 101 110 79 75], block 121 /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/213/000000063-000000002.tsm: got 2777860506 but expected 2586484686 for key [104 116 116 112 100 44 98 105 110 100 61 58 56 48 56 54 44 104 111 115 116 110 97 109 101 61 108 111 120 98 101 114 114 121 35 33 126 35 112 111 105 110 116 115 87 114 105 116 116 101 110 79 75], block 122 /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/213/000000063-000000002.tsm: got 2756526835 but expected 569751383 for key [104 116 116 112 100 44 98 105 110 100 61 58 56 48 56 54 44 104 111 115 116 110 97 109 101 61 108 111 120 98 101 114 114 121 35 33 126 35 112 111 105 110 116 115 87 114 105 116 116 101 110 79 75], block 123 /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/213/000000063-000000002.tsm: got 3732705521 but expected 2166841600 for key [104 116 116 112 100 44 98 105 110 100 61 58 56 48 56 54 44 104 111 115 116 110 97 109 101 61 108 111 120 98 101 114 114 121 35 33 126 35 112 111 105 110 116 115 87 114 105 116 116 101 110 79 75], block 124 /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/214/000000063-000000002.tsm: healthy /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/215/000000063-000000002.tsm: healthy
6.) korrupte Dateien sichern (ich habe das ganze Verzeichnis und nicht nur die einzelne Datei gesichert)
zip /opt/loxberry/system/storage/usb/Stick8GB/213.zip -r /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/213/
7.) Dateien entfernen
Vor dem Löschen habe ich mir noch eine Ausgabe generiert, welche Files wo gelöscht werden
rm /opt/loxberry/system/storage/usb/Stick30GB/influxdb/data/_internal/monitor/213/000000063-000000002.tsm
8.) Temporäre Dateien entfernen
find /opt/loxberry/system/storage/usb/Stick30GB/ -name *.tmp > /opt/loxberry/system/storage/usb/Stick8GB/find_tmp.txt find /opt/loxberry/system/storage/usb/Stick30GB/ -name *.tmp -exec rm {} \;
9.) jetzt jetzt könnt ihr über das WebUI die InfluDB wieder starten. Bitte beoachten, ob die UID identischbleibt.
–> geschafft!
Falls nicht, die Schritte wie oben beschrieben wiederholen und den Schritt 10.) noch mit dazunehmen.
10.) unter Umständen kann es auch möglich sein, dass ihr die *.wal Dateien löschen müsst
find /opt/loxberry/system/storage/usb/Stick30GB/ -name *.wal > /opt/loxberry/system/storage/usb/Stick8GB/find_wal.txt find /opt/loxberry/system/storage/usb/Stick30GB/ -name *.wal -exec rm {} \;
Viel Erfolg!