Usuwanie encji Influxdb

Prosiłbym o pomoc w konstrukcji prawidłowego zapytania. Chciałbym usunąć z bazy danych Influx sporo niepotrzebnych encji. Wiem jak to zrobić dla pojedynczej encji i dla wszystkich z określonego “tagu”, ale nie wiem jak wykonać to dla kilkudziesięciu wybranych encji, może ktoś wie ?
Ps robiłem błąd zamiast “AND” należało “OR”

ja swojego czasu próbowałem … no zepsułem bardziej :slight_smile:
niestety najlepszym i najpewniejszym sposobem jest “odinstalować” i zainstalować" na nowo…
wady ? tak - baza danych wyczyszczona w całości :frowning:

https://docs.influxdata.com/influxdb/v1.8/query_language/manage-database/

Dzięki, czytałem tą dokumentację ale niewiele z niej wyniosłem, szczerze mówiąc to liczyłem na podpowiedź a raczej gotowca w stylu.
Jeśli chcesz usunąć jeną encję z “tagu” % to tak:

USE "home_assistant"; DELETE FROM "%" WHERE "entity_id"='0x00124b0025093582_battery'

a jak kilka encji to tak :slight_smile:

USE "home_assistant"; DELETE FROM "°C" WHERE ("entity_id"='temperatura_test' OR "entity_id"='tempgaraz' OR "entity_id"='temppoddasze' OR "entity_id"='wewnetrzna_temperatura' OR "entity_id"='zewnetrzna' OR "entity_id"='sypialnia_2' OR "entity_id"='sypialnia' OR "entity_id"='przedpokoj' OR "entity_id"='processor_temperature_2')

Ja się pokusiłem i bazę w HA zredukowałem prawie o połowę ale to jeszcze nie koniec , małe poprawki i jeszcze troche ją odchudzę , ale największe odchudzenie widzę w bazie Influx, z codziennego backupu HA który zajmował już 3,8GB zjechałem do 2,1GB a zostało mi jeszcze troszkę roboty.
ha
influx

1 polubienie

Hej, mam problem z usunięciem danych, sposobem wskazanym powyżej.

i praktycznie dane jak były, tak są. Czy coś się zmieniło a może ja coś źle robię ??

Edit:

Już wiem co był niepoprawnie ma być ’ a nie ".

Chwilę temu utworzyłem temat o monitoringu bazy danych ( za nim znalazłem ten temat).
Możesz powiedzieć w jaki sposób uzyskać takie informacje o rozmiarze bazy Influxa ?

Tworząc sensor …

sensor:
  #InfluxDB Database Sensor
  - platform: influxdb
    host: !secret influxdb_host
    port: 8086
    username: !secret influxdb_username
    password: !secret influxdb_password
    queries:
      - name: InfluxDB Database Size
        unit_of_measurement: MB
        value_template: '{{ (value | float / 1024/1024) | round(1) }}'
        group_function: mean
        measurement: '"monitor"."shard"'
        database: _internal
        where: 'time > now() - 5m AND "database"=''home_assistant'''
        field: diskBytes

zwróć uwagę na nazwę Twojej bazy danych influx

nie znam innego sposobu.

1 polubienie

Skorzystałem Z Twojej podpowiedzi. I tak:

w configuration.yaml zrobiłem wpis:

sensor influxdb: !include sensor_influxdb.yaml

Następnie w pliku:
sensor_influxdb.yaml utworzyłem konfigurację podmieniając swoje dane.

IP 000.000.0.000
Username
password
where: nazwa użytkownika

- platform: influxdb
  host: 100.100.1.100
  port: 8086
  username: xxxxxx
  password: xxxxxxxxx
  queries:
  
    - name: InfluxDB Database Size
      unit_of_measurement: MB
      value_template: '{{ (value | float / 1024/1024) | round(1) }}'
      group_function: mean
      measurement: '"monitor"."shard"'
      database: _internal
      where: 'time > now() - 5m AND "database"=''xxxxxxxxxx'''
      field: diskBytes

Konfiguracja zapisuje się i nie zgłasza błędów.

To IP i port HA a Ty masz podać IP i port influxDB, port bazy InfluxDB to 8086.
Jeżeli wszystko działa to popraw posta aby nie wprowadzać potomnych w błąd.

Zawsze możesz wpisać również w ten sposób …

host: a0d7b954-influxdb

Ok, a czy te wskazania są miarodajne ?

Możliwe, że baza przyrasta w tempie ok. 2.7 MB na godzinę ?

I trochę dziwny ten wykres.