InfluxDB aufräumen
Submitted by Erik Wegner
on
Body
Bezeichner ermitteln
Zuerst müssen einige Bezeichner ermittelt werden. Dazu wird zuerst der influx-Client gestartet:
docker exec -it <influx-container-name-or-id> influx Connected to http://localhost:8086 version 1.7.9 InfluxDB shell version: 1.7.9 > show databases name: databases name ---- _internal smarthome > use smarthome Using database smarthome > show series key --- downsampled downsampled_pressure downsampled_temperature pressure temp
Defekte Daten abfragen und löschen
Die Antwort auf StackOverflow hilft dabei, die defekten Daten abzufragen und zu löschen. Dieses Vorgehen ist notwendig, weil Influx keine Bedingungen beim Löschen von Datenpunkten unterstützt #3210, abgesehen vom Zeitstempel des Eintrags.
Für andere Anwendungen muss die Bezeichnung der Datenbank (smarthome
) und der Serie (pressure
) angepasst werden.
curl -G 'http://localhost:8086/query?db=smarthome' \ --data-urlencode "q=SELECT * FROM pressure WHERE value>1140" |\ jq -r "(.results[0].series[0].values[][0])" > delete_timestamps.txt for i in $(cat delete_timestamps.txt); do echo $i; curl -G 'http://localhost:8086/query?db=smarthome' \ --data-urlencode "q=DELETE FROM pressure WHERE time='$i'"; done