Moin, ich versuche die DB Größe von Influx rauszubekommen bzw. als Sensor anzulegen. Der Sensor gibt aber immer nur = 0 aus. Jemand eine Idee woran das liegt. Im Netz habe ich einiges gelesen, dass erst via Terminal Script was gemacht werden muss, wunder mich aber trotzdem, dass es nicht so einfach geht.
Das Thema war doch ein wenig komplexer. Mit Influxdb v2.0 kann man das nicht mehr so einfach auslesen. Database _internal heißt man verwendet die interne DB von Influx, die Metadaten der anderen DB trackt. Sollte mittlerweile aber per Default ausgeschaltet werden:
Um jetzt die Influx DB-Größe messen zu können, benötigt man die folgende Addons:
Advanced SSH & Web Terminal
Mosquitto broker
Zigbee2MQTT
SSH
SSH muss dafür allerdings im “ungesicherten Modus” laufen.
SSH Config anpassen unter init_commands:
while [ 1 = 1 ]; do docker exec addon_a0d7b954_influxdb du -s
/data/influxdb/data/homeassistant | mosquitto_pub -t
home-assistant/sensor/dbsize -r -u <user> -P <password> -l && sleep
300; done &
Wichtig: InfluxDB Namen anpassen (bei mir ist das home_assistant) und euer MQTT User + Passwort.
Also dann bei meiner DB home_assistant abändern zu:
while [ 1 = 1 ]; do docker exec addon_a0d7b954_influxdb du -s
/data/influxdb/data/home_assistant | mosquitto_pub -t
home-assistant/sensor/dbsize -r -u <user> -P <password> -l && sleep
300; done &
Wenn ich das in grafana eingebe und dann eine Darstellung wähle, die die Kurven additiv darstellt dann kommt folgendes bei mir raus. Das kommt dem tatsächlichen Wert schon recht nahe, wenn ich mir anschaue wie stark die Disk im LXC ausgelastet ist.
Man könnte natürlich |> filter(fn: (r) => r["bucket"] == "3ae17f5d0301bdae") auch weg lassen, dann wäre es die komplette DB und nicht nur die für HomeAssistant.
Das funktioniert nur, wenn man einen Scraper anlegt. Da diese unheimlich viele Daten sammelt und somit sehr viel Speicherplatz frisst, habe ich ihn wieder deaktiviert und neu angelegt. Die Neuanlage zeigt aber nun auf ein neues bucket “Metrics”, das alle Daten älter als 14Tage löscht. So sollte dann auch das extreme Wachstum eingedämmt sein.
Hallo Soul
Meine Name ist Manfred bin fast 70 Jahre und bin ein relativer Neuling zum Thema HassIO und ich habe deinen Betrag vom Mai.2023 zu „DB Größe von Influx rausbekommen“ gelesen und bekomme es einfach nicht zu laufen.
Betreibe Home Assistant auf einem separaten NUC-Pc und habe auf diesem InfluxDB Current Version 5.0.0 als Addon und Grafana 10.0 integriert.
Habe bereits mehrere Sensoren angelegt und keine Probleme damit, aber beim Sensor für die Größe der InfluxDB habe ich massive Probleme.
Hier meine Installation des HA
Aktuelle Version Home Assistant:
Core2024.7.3
Supervisor2024.06.2
Operating System12.4
Frontend20240710.0
Ich möchte dies Größe der InfluxDB an einem Sensor ausgeben um diesen via Grafana anzeigen zu können.
Habe deinen Code in die „configuration.yaml“ unterhalb anderer Sensoren eingefügt wie folgt:
####################################################
# Energie und Power - Sensoren - der Waermepumpe O&O
####################################################
template:
- sensor:
- name: "WP O&O Power Total"
unique_id: WP_O&O_power_total
state: >
{{ states('sensor.zahler_wp_o_o_phase_a_active_power')|float(0) +
states('sensor.zahler_wp_o_o_phase_b_active_power')|float(0) +
states('sensor.zahler_wp_o_o_phase_c_active_power')|float(0) }}
unit_of_measurement: W
device_class: power
state_class: measurement
availability: >
{{
[ states('sensor.zahler_wp_o_o_phase_a_active_power'),
states('sensor.zahler_wp_o_o_phase_b_active_power'),
states('sensor.zahler_wp_o_o_phase_c_active_power') ] | map('is_number') | min }}
- sensor:
- name: "WP O&O Energy Total"
unique_id: WP_O&O_energy_total
state: >
{{ states('sensor.zahler_wp_o_o_phase_a_total_active_energy')|float(0) +
states('sensor.zahler_wp_o_o_phase_b_total_active_energy')|float(0) +
states('sensor.zahler_wp_o_o_phase_c_total_active_energy')|float(0) }}
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
attributes:
last_reset: "1970-01-01T00:00:00+00:00"
availability: >
{{
[ states('sensor.zahler_wp_o_o_phase_a_total_active_energy'),
states('sensor.zahler_wp_o_o_phase_b_total_active_energy'),
states('sensor.zahler_wp_o_o_phase_c_total_active_energy') ] | map('is_number') | min }}
####################################################
# Energie und Power - Sensoren - der Waermepumpe T&J
####################################################
- sensor:
- name: "WP T&J Power Total"
unique_id: WP_T&J_power_total
state: >
{{ states('sensor.zahler_wp_t_j_phase_a_active_power')|float(0) +
states('sensor.zahler_wp_t_j_phase_b_active_power')|float(0) +
states('sensor.zahler_wp_t_j_phase_c_active_power')|float(0) }}
unit_of_measurement: W
device_class: power
state_class: measurement
availability: >
{{
[ states('sensor.zahler_wp_t_j_phase_a_active_power'),
states('sensor.zahler_wp_t_j_phase_b_active_power'),
states('sensor.zahler_wp_t_j_phase_c_active_power') ] | map('is_number') | min }}
- sensor:
- name: "WP T&J Energy Total"
unique_id: WP_T&J_energy_total
state: >
{{ states('sensor.zahler_wp_t_j_phase_a_total_active_energy')|float(0) +
states('sensor.zahler_wp_t_j_phase_b_total_active_energy')|float(0) +
states('sensor.zahler_wp_t_j_phase_c_total_active_energy')|float(0) }}
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
attributes:
last_reset: "1970-01-01T00:00:00+00:00"
availability: >
{{
[ states('sensor.zahler_wp_t_j_phase_a_total_active_energy'),
states('sensor.zahler_wp_t_j_phase_b_total_active_energy'),
states('sensor.zahler_wp_t_j_phase_c_total_active_energy') ] | map('is_number') | min }}
###############################################
# Energie und Power - Sensoren - der Poolanlage
###############################################
- sensor:
- name: "Poolanlage Power Total"
unique_id: Poolanlage_power_total
state: >
{{ states('sensor.zahler_poolanlage_phase_a_active_power')|float(0) +
states('sensor.zahler_poolanlage_phase_b_active_power')|float(0) +
states('sensor.zahler_poolanlage_phase_c_active_power')|float(0) }}
unit_of_measurement: W
device_class: power
state_class: measurement
availability: >
{{
[ states('sensor.zahler_poolanlage_phase_a_active_power'),
states('sensor.zahler_poolanlage_phase_b_active_power'),
states('sensor.zahler_poolanlage_phase_c_active_power') ] | map('is_number') | min }}
- sensor:
- name: "Poolanlage Energy Total"
unique_id: Poolanlage_energy_total
state: >
{{ states('sensor.zahler_poolanlage_phase_a_total_active_energy')|float(0) +
states('sensor.zahler_poolanlage_phase_b_total_active_energy')|float(0) +
states('sensor.zahler_poolanlage_phase_c_total_active_energy')|float(0) }}
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
attributes:
last_reset: "1970-01-01T00:00:00+00:00"
availability: >
{{
[ states('sensor.zahler_poolanlage_phase_a_total_active_energy'),
states('sensor.zahler_poolanlage_phase_b_total_active_energy'),
states('sensor.zahler_poolanlage_phase_c_total_active_energy') ] | map('is_number') | min }}
###########################
# Dateigroesse der InfluxDB
###########################
sensor: (Das ist Zeile 190 in der configuration.yaml)
- platform: influxdb
host: 192.xxx.x.xxx
username: xx_xxxxxx_xx_User
password: xx_xxxxxx_xx_Passwort
queries:
- name: InfluxDB Database Size
unit_of_measurement: MB
value_template: '{{ (value | float / 1024 /1024) | round(1) }}'
group_function: mean
measurement: '"monitor"."shard"'
database: home_assistant
where: 'time > now() - 1m AND "database"=''home_assistant'''
field: diskBytes
Habe den Namen der Datenbank auch bereits auf „database: _internal“ gerändert leider ohne Erfolg.
Hast du bitte eine Idee was ich falsch mache oder was ich ändern muss um den Wert der Datenbankgröße an einen Sensor übergeben kann.
Wäre über jeden Hinweis dankbar
LG Manfred
by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
Hi, hast Du meinen Beitrag #4 gelesen? Da steht das meiste drin. Ist halt schon recht komplexes Thema nur für die DB Größe auszulesen.
Zigbee muss auch konfiguriert werden. Meine InfluxDB ist aber auch nach über einem Jahr gerade mal 3.2GB groß. Da komme ich mit meiner 500GB SSD noch ewig hin
Achtung, @Guwama57 hat influxDB V1.8 definitiv nicht influxDB >=V 2.0, auch wenn immer alle behaupten sie hätten influxDB V 5.0.0 installiert, das ist quatsch, das ist die Version ,des Add-on und nicht die Version von influxDB!
Es gibt nur
InfluxDB V 1.8.x
InfluxDB V 2.x.x
und vielleicht dieses Jahr oder im nächsten, InfluxDB 3.x
Irgendwann habe ich mal Beschrieben wie man die Versionen auf der Kommandozeile herausbekommt
InfluxDB V 1.8
influxd version
Ob das für V 1.8 und/oder V 2.x klappt kann ich aus Ermangelung einer V 1.8 nicht testen, aber für V 2.x, bekommt man das