Logbuch und Protokolle - Wie lange werden Daten gespeichert?

Hallo Gemeinde

Wie lange werden im HA standardmäßig Einträge im Logbuch und im Protokoll gespeichert?
Ist Logbuch und Protokoll dasselbe?
Wie kann ich Logbuch-und Protokolleinträge begrenzen? Z. B. auf sieben Tage?

Danke für Eure Antworten schon mal im Voraus.

Moin,

Darf man fragen, wieso?
Hast Du ein Problem?

Da wo auch Deine configuration.yaml liegt, liegen auch zwei Dateien mit Namen

  • home-assistant.log ← Aktueller Tag
  • home-assistant.log.1 ← bei mir drei Tage, aber 1

1Wobei das Log mit Endung 1 bei jedem Neustart von HA gelöscht wird, und das Log File ohne weitere Endung zum neuen Log File mit 1 wird.

Es gibt da sicher noch eine Möglichkeit Logrotate einzurichten, habe ich mich aber noch nicht weiter angeschaut, weil ich Logs immer gut finde, besser haben, als zu brauchen :wink:

VG
Bernd

P.S.: Zu dem Punkt

Lehne ich mich mal aus dem Fenster und sage Nein
Das Logbuch ist doch das wo der Verlauf der Entität aufgezeichnet ist, oder?
grafik

Protokoll ist nur wieder eine Unsinnige übersetztung von Log, im Log, was etwas mit dem Logging auf Applikations, System Ebene zu tun hat.

Hallo
Nein, ein Problem hab ich nicht.
Ich frage deshalb, weil ich von meinem Linux-PC weiß, das dort Log-Files mitunter riesig werden können, wenn man sie nicht gelegentlich “ausmistet”.
Ein wenig irritiert bin ich, dass die täglichen Backups, die ich im NAS speichere, mit meinen paar Daten (so meine Vorstellung) schon 270 MB/Backup beanspruchen. Und da komme ich dann auch auf Log-Files.
Heute hab ich einen Anzeige der Uhrzeit im Dashboard eingebaut. Und da gibt es im Logbuch auch jede Minute einen Eintrag. Und das würde sich mit der Zeit ganz schön summieren.
Aber wenn das bei jedem Neustart des HA ja gelöscht wird, dann sammeln sich da ja nicht viel Daten an. Das aktuelle home-assistant.log.1 hat 3 MB.
Und Protokoll/Logbuch scheinen tatsächlich dasselbe zu sein. Zumindest sind die heruntergeladenen Dateien identisch.

Damit bin ich zufrieden.
Wieder was gelernt.

Vielen Dank

Moin,

Das ist dann aber eine falsche Konfiguration, denn wenn man bei Linux/UNIX Syslog nutzt, kann man Logrotate einrichten, bzw. wird das gleich beim Installieren von Syslog gemacht. Wenn es dann trotzdem zu großen Log Files kommt, dann stimmt etwas anderes nicht und man sollte im Log File schauen, was da wer hineinschreibt.
In aktuellen Distributionen ist oft das Journal eingeschaltet und auch das macht Logrotation.

Ich kenne Deine Installation nicht, aber 270 MB das ist doch nichts, da werden ja auch die History Datenbanken mit gesichert usw. wenn Du Pech hast und nur lokale Backups machst, liegen die vielleicht auch im nächsten Backup!
Bei mir gerade mal ein Backup angestoßen

Du kannst ja das Backup mal auf einen anderen Rechner kopieren und hineinschauen, was da wie viel Speicher verbraucht.

Das Gerade von mir angelegte Backup

➜  ~ ls -la backup/*             
-rw-r--r--    1 root     root     886159360 Apr 30 21:16 backup/e75674d8.tar
➜  ~ 

Darin befinden sich wieder Backups

➜  ~ tar -tvf backup/e75674d8.tar
-rw-r--r-- 0/0      8815 2024-04-30 21:15:59 a0d7b954_ssh.tar.gz
-rw-r--r-- 0/0   3104876 2024-04-30 21:15:59 a0d7b954_vscode.tar.gz
-rw-r--r-- 0/0     42445 2024-04-30 21:16:00 core_piper.tar.gz
-rw-r--r-- 0/0  68505961 2024-04-30 21:16:06 bf7963f0_ism7mqtt.tar.gz
-rw-r--r-- 0/0     13024 2024-04-30 21:16:09 core_letsencrypt.tar.gz
-rw-r--r-- 0/0      3383 2024-04-30 21:16:09 core_nginx_proxy.tar.gz
-rw-r--r-- 0/0   1229545 2024-04-30 21:16:09 core_zwave_js.tar.gz
-rw-r--r-- 0/0      1398 2024-04-30 21:16:11 45df7312_zigbee2mqtt_proxy.tar.gz
-rw-r--r-- 0/0      1443 2024-04-30 21:16:11 a0d7b954_sqlite-web.tar.gz
-rw-r--r-- 0/0 813214728 2024-04-30 21:16:11 homeassistant.tar.gz
-rw-r--r-- 0/0       298 2024-04-30 21:17:00 share.tar.gz
-rw-r--r-- 0/0       236 2024-04-30 21:17:00 addons_local.tar.gz
-rw-r--r-- 0/0      4089 2024-04-30 21:17:00 ssl.tar.gz
-rw-r--r-- 0/0       281 2024-04-30 21:17:00 media.tar.gz
-rw-r--r-- 0/0      1498 2024-04-30 21:16:59 ./backup.json
➜  ~ 

Da es ein Vollbackup ist, befindet sich das gesamte HA da drin

Das Logbuch beinhaltet die historischen Daten, die Du abfragen kannst, z. B.


grafik

Noch mal Logbuch hat nichts mit dem Log / Protokoll zu tun, das Logbuch sind die historischen Daten, da musst Du selbst Hand anlegen

Bitte genauer, denn das sehe ich anders.

VG
Bernd

Hallo
Ich hab die Datei home-assistant.log aus dem Ordner homeassistant/ (dort, wo die conffiguration.yaml liegt) heruntergeladen und aus dem Bereich Einstellungen/System/Protokolle/ “VOLLSTÄNDIGE PROTOKOLLE LADEN” heruntergeladen.
Beide sind gleich in Größe und Inhalt. Deswegen meine Annahme, dass Lochbuch und Protokoll dasselbe ist.
Deine anderen Erklärungen erscheinen mir durchgehend schlüssig. Ich schau sie mir die nächsten Tage genauer an. Heut bin ich schon müde.
Danke dafür.
Im Übrigen “verbraucht” das Journal auf meinen Ubuntu 20.04-NAS seit 25.07.23 1,1 GB Platz. Da muss ich mal wieder ein --vakuum “anlegen”.

Moin,

Ok, das stimmt, aber das ist das, was ich oben ja schon geschrieben habe, das Protokoll nur eine dumme/unnütze Übersetzung von Log ist.

Protokoll = Log File 
aber
Protokoll / Log File ≠ Logbuch

So wie Du das oben geschreiben hast

Logbuch ist das

Ok, dann hätten wir ja die Verwirrung geklärt :slight_smile:

VG
Bernd

P.S.: Machst Du Vollbackups oder Inkrementelle?

Hallo Bernd
Ich mache Vollbackups mit Samba-Backup.
Ein Backup vom Backup ist da nicht drin. Hab eins seziert. Den meisten platz beansprucht die home-assistant_v2.db mit unkomprimiert 612MB.

VG
Alois

Moin,

Dann vermute ich mal, dass Du Deine Datenbank nicht mittels Prune aufräumst?

Schau Dir doch mal die zwei verlinkten Artikel von oben an

[How to keep your recorder database size under control](https://How to keep your recorder database size under control) How to keep your recorder database size under control

Und
Speicher freigeben - Clean Database

VG
Bernd

Hallo Bernd

Die beiden Artikel oben hab ich glatt ignoriert. Jetzt aber kurz reingeschuppert. Erscheinen mir auf den ersten Blick sehr interessant. Vor allem vor dem Hintergrund, dass ich die mir wichtigen Daten auch mit Grafana in einer Influx- db speichere und einen Graph daraus machen lasse.

Danke für Deine Tipps und noch einen schönen Tag der (nicht) Arbeit.

VG
Alois

Moin,

Heute ist der Tag der Arbeit, ab morgen habe ich wieder 364 Tage frei :slight_smile:

Na ja, mit Grafana speichert man nicht in InfluxDB, sondern holt die Daten aus dieser und baut Panels und Dashboards aus den Daten, aber ich weiß, was Du meinst :slight_smile:
Ich mache das nicht nur mit HA Daten, alle meine PCs, Laptops, NAS, Fritz!Box usw. senden Metriken an InfluxDB und ich werte die dann aus.

VG
Bernd

Hallo

Ich versuche gerade, einige Entitäten testweise aus der Aufzeichnung in den Logs zu excludieren.
Dabei bringt mich diese yaml-Konfiguration regelmäßig an den Rand des Wahnsinns.
Wie man es macht, es ist immer falsch.
Ich habe eine recorder.yaml erstellt und mit
recorder: !include recorder.yaml
in die configuration.yaml eingebunden.
Der Inhalt der "recorder.yaml sieht so aus:

# Example filter to include specified domains and exclude specified entities
recorder:
  exclude:
    entities:
      - sensor.waschmaschine_energy_period
      - sensor.sun_next_rising
      - sensor.sun_next_dawn
      - sensor.tasmota_last_restart_time
      - sensor.tasmota_mqtt_connect_count
      - sensor.tasmota_wifi_connect_count
      - sensor.tasmota_ssid
      - sensor.acer_laptop_energy_period
      - sensor.funksteckdose_2_firmware_version
      - sensor.funksteckdose_1_restart_reason
      - sensor.tasmota_energy_totalstarttime_2
      - sensor.tasmota_wifi_connect_count_6
      - device_tracker.waschmaschine_energy_period
      - device_tracker.device_tracker.acer_laptop
      - switch.funksteckdose_1

Und was passiert beim Prüfen der Konfoguration? Das hier:
Konfigurationswarnungen

Invalid config for 'recorder' at recorder.yaml, line 2: 'recorder' is an invalid option for 'recorder', check: recorder->recorder
In Beisbielconfigurationen aus GitHub fehlt das “recorder:” am Anfang der Datei ganz. Das führt dann dazu:

Konfigurationswarnungen

Invalid config for 'recorder' at recorder.yaml, line 4: Entity ID device_tracker.device_tracker.acer_laptop is an invalid entity ID for dictionary value 'recorder->exclude->entities', got ['sensor.waschmaschine_energy_period', 'sensor.sun_next_rising', 'sensor.sun_next_dawn', 'sensor.tasmota_last_restart_time', 'sensor.tasmota_mqtt_connect_count', 'sensor.tasmota_wifi_connect_count', 'sensor.tasmota_ssid', 'sensor.acer_laptop_energy_period', 'sensor.funksteckdose_2_firmware_version', 'sensor.funksteckdose_1_restart_reason', 'sensor.tasmota_energy_totalstarttime_2', 'sensor.tasmota_wifi_connect_count_6', 'device_tracker.waschmaschine_energy_period', 'device_tracker.device_track...

Was mach ich denn hier falsch???
Was bedeutet diese Meldung:
Invalid config for 'recorder' at recorder.yaml, line 2: 'recorder' is an invalid option for 'recorder', check: recorder->recorder
Check: recorder->recorder ???

Moin,

falscher Gebrauch von Begriffen, Du möchtest die Datenaufzeichnung der Entitäten ändern, das hat nichts mit Logs zu tun :wink:

Aus der Dokumentation geht hervor, dass das Beispiel, aus der Dokumentation, für die configuration.yaml gedacht ist.

# Example filter to include specified domains and exclude specified entities
recorder:
  include:
    domains:
      - alarm_control_panel
      - light
    entity_globs:
      - binary_sensor.*_occupancy
  exclude:
    entities:
      - light.kitchen_light

Wenn Du das in eine eigene Datei auslagern willst, dann müsste das in etwa so aussehen,

exclude:
  entities:
    - sensor.date_time
    - sensor.time
    - sensor.time_utc
    - sensor.date_time_iso

Zudem hoffe ich, dass Du keine Tabs in Deinen *.yamlDateien nutzt, sondernLeerzeichen`.

Das was ich auch immer wieder nicht berücksichtige, so lange man in der configuration.yaml etwas einträgt, muss/darf nur einmal das Schlüsselwort, hier recorder kommen und alle weitere darunter.
Wenn Du aber mit !include arbeitest, dann darf das Key Wort recorder nicht noch einmal kommen, das steht ja schon beim include
Wenn, wie Du es auch gemacht hast, dann aus der include Datei heraus nimmst, dann muss die Formatierung angepasst werden.

VG
Bernd

1 „Gefällt mir“

Was ich aus mache, ich ernte nur

Dieser yaml-Code ist für mich komplett undurchschaubar.
Mit Versuch und Irrtum komm ich jedenfalls nicht weiter.

Moin,

zu aller erst, Bitte, Bitte, von Text Files, Logs, niemals Bilder posten!
Immer die Code-Tags </> nutzen, zu finden sind die hier
grafik

Wie sieht denn deine recorder.yaml jetzt genau aus und der Eintrag zum Lesen in der configuration.yaml?

VG
Bernd

Hallo Bernd
Du brauchst schon viel Geduld… :frowning:

Hier der Eintrag in der configuration.yaml:
recorder: !include recorder.yaml

Hier die recorder.yaml:

  exclude:
    entities:
      - sensor.waschmaschine_energy_period
      - sensor.sun_next_rising
      - sensor.sun_next_dawn
      - sensor.tasmota_last_restart_time
      - sensor.tasmota_mqtt_connect_count
      - sensor.tasmota_wifi_connect_count
      - sensor.tasmota_ssid
      - sensor.acer_laptop_energy_period
      - sensor.funksteckdose_2_firmware_version
      - sensor.funksteckdose_1_restart_reason
      - sensor.tasmota_energy_totalstarttime_2
      - sensor.tasmota_wifi_connect_count_6
      - device_tracker.waschmaschine_energy_period
      - device_tracker.device_tracker.acer_laptop
      - switch.funksteckdose_1

Und hier die resultierende Fehlermeldung:

Konfigurationswarnungen

Invalid config for 'recorder' at recorder.yaml, line 2: Entity ID device_tracker.device_tracker.acer_laptop is an invalid entity ID for dictionary value 'recorder->exclude->entities', got ['sensor.waschmaschine_energy_period', 'sensor.sun_next_rising', 'sensor.sun_next_dawn', 'sensor.tasmota_last_restart_time', 'sensor.tasmota_mqtt_connect_count', 'sensor.tasmota_wifi_connect_count', 'sensor.tasmota_ssid', 'sensor.acer_laptop_energy_period', 'sensor.funksteckdose_2_firmware_version', 'sensor.funksteckdose_1_restart_reason', 'sensor.tasmota_energy_totalstarttime_2', 'sensor.tasmota_wifi_connect_count_6', 'device_tracker.waschmaschine_energy_period', 'device_tracker.device_track...

Kann es sein , dass ich die falschen Entäten da eingetragen habe?

Edit:
Gerade hab ich rausgefunden, dass sich hie ein Fehler verbirgt:

     - [quote="hanshiasl, post:15, topic:24231, full:true"]
Hallo Bernd
Du brauchst schon viel Geduld... :frowning: 

Hier der Eintrag in der configuration.yaml:
`recorder: !include recorder.yaml`


Hier die recorder.yaml:

exclude:
entities:
- sensor.waschmaschine_energy_period
- sensor.sun_next_rising
- sensor.sun_next_dawn
- sensor.tasmota_last_restart_time
- sensor.tasmota_mqtt_connect_count
- sensor.tasmota_wifi_connect_count
- sensor.tasmota_ssid
- sensor.acer_laptop_energy_period
- sensor.funksteckdose_2_firmware_version
- sensor.funksteckdose_1_restart_reason
- sensor.tasmota_energy_totalstarttime_2
- sensor.tasmota_wifi_connect_count_6
- device_tracker.waschmaschine_energy_period
- device_tracker.device_tracker.acer_laptop
- switch.funksteckdose_1

     
Und hier die resultierende Fehlermeldung:

Konfigurationswarnungen

Invalid config for ‘recorder’ at recorder.yaml, line 2: Entity ID device_tracker.device_tracker.acer_laptop is an invalid entity ID for dictionary value ‘recorder->exclude->entities’, got [‘sensor.waschmaschine_energy_period’, ‘sensor.sun_next_rising’, ‘sensor.sun_next_dawn’, ‘sensor.tasmota_last_restart_time’, ‘sensor.tasmota_mqtt_connect_count’, ‘sensor.tasmota_wifi_connect_count’, ‘sensor.tasmota_ssid’, ‘sensor.acer_laptop_energy_period’, ‘sensor.funksteckdose_2_firmware_version’, ‘sensor.funksteckdose_1_restart_reason’, ‘sensor.tasmota_energy_totalstarttime_2’, ‘sensor.tasmota_wifi_connect_count_6’, ‘device_tracker.waschmaschine_energy_period’, 'device_tracker.device_track…


Kann es sein , dass ich die falschen Entäten da eingetragen habe?
[/quote]

[quote="hanshiasl, post:15, topic:24231, full:true"]
Hallo Bernd
Du brauchst schon viel Geduld... :frowning: 

Hier der Eintrag in der configuration.yaml:
`recorder: !include recorder.yaml`


Hier die recorder.yaml:

exclude:
entities:
- sensor.waschmaschine_energy_period
- sensor.sun_next_rising
- sensor.sun_next_dawn
- sensor.tasmota_last_restart_time
- sensor.tasmota_mqtt_connect_count
- sensor.tasmota_wifi_connect_count
- sensor.tasmota_ssid
- sensor.acer_laptop_energy_period
- sensor.funksteckdose_2_firmware_version
- sensor.funksteckdose_1_restart_reason
- sensor.tasmota_energy_totalstarttime_2
- sensor.tasmota_wifi_connect_count_6
- device_tracker.waschmaschine_energy_period
- device_tracker.device_tracker.acer_laptop
- switch.funksteckdose_1

     
Und hier die resultierende Fehlermeldung:

Konfigurationswarnungen

Invalid config for ‘recorder’ at recorder.yaml, line 2: Entity ID device_tracker.device_tracker.acer_laptop is an invalid entity ID for dictionary value ‘recorder->exclude->entities’, got [‘sensor.waschmaschine_energy_period’, ‘sensor.sun_next_rising’, ‘sensor.sun_next_dawn’, ‘sensor.tasmota_last_restart_time’, ‘sensor.tasmota_mqtt_connect_count’, ‘sensor.tasmota_wifi_connect_count’, ‘sensor.tasmota_ssid’, ‘sensor.acer_laptop_energy_period’, ‘sensor.funksteckdose_2_firmware_version’, ‘sensor.funksteckdose_1_restart_reason’, ‘sensor.tasmota_energy_totalstarttime_2’, ‘sensor.tasmota_wifi_connect_count_6’, ‘device_tracker.waschmaschine_energy_period’, 'device_tracker.device_track…


Kann es sein , dass ich die falschen Entäten da eingetragen habe?

Edit:
Gerade hab ich rausgefunden, dass sich hier ein Fehler versteckt:

`- device_tracker.device_tracker.acer_laptop`

Mit

`- device_tracker.acer_laptop`

allein funktionierts plötzlich.

Moin,

Ähm, irgendwie ist der letzte Post von Dir, alles, was nach dem Edit kommt, völlig durcheinander geraten.

Da steige ich jetzt nicht mehr durch :frowning:

VG
Bernd

Hallo
Tut mir leid, ich tu mich mit dem Editor etwas schwer.
Schuld an den Fehlermeldungen, die ich zuletzt gepostet habe, war ein fehlerhafter Entitäteneintrag, nämlich diese hier:

  • device_tracker.device_tracker.acer_laptop
    Device_tracker war doppelt.

Jetzt funktioniert es wie gewünscht.
Manchmal sieht man den Wald vor lauter Bäumen nicht…

Wünsch Dir noch einen wunderschönen Tag.

Gruß
Alois

Moin,

Alles gut, ich/wir wollen nur helfen, auch wenn mal was in die Hose geht, ist das das Ziel :slight_smile:

Gut, denn ich wollte schon fragen, warum das doppelt ist :wink:
Aber schön, dass Du es selbst herausgefunden hast, das schult das Auge und hilft Dir für die Zukunft :slight_smile:

VG
Bernd

Danke vielmals !

Gruß
Alois