Zapobiegaj zapełnianiu dysku przez logi Home Assistant, najpierw identyfikując dokładnie rosnący plik, następnie usuwając przyczynę powtarzającego się zdarzenia i stosując retencję na warstwie, która odpowiada za dany log.
Na małym serwerze domowym logi Home Assistant Core, logi Dockera, logi Supervisora lub dodatków oraz dziennik hosta mogą zajmować ten sam dysk systemowy, choć wymagają różnych działań naprawczych. Zmierz wzrost w krótkim, kontrolowanym przedziale czasu, zachowaj wystarczająco dużo danych, aby zidentyfikować proces zapisujący logi, stosuj odwracalne limity i zatrzymaj nieistotne zapisy, jeśli pozostało zbyt mało miejsca na bezpieczny restart lub kopię zapasową.
Ustal, który log zajmuje miejsce
Zapisz całkowitą ilość wolnego miejsca, a następnie wyświetl największe pliki i katalogi na obciążonym systemie plików, niczego nie usuwając. Po pięciu do dziesięciu minutach, gdy Home Assistant działa normalnie, ponownie porównaj ich rozmiary. Zmienny rozmiar pliku jest bardziej przydatny niż statyczna lista starych, dużych plików.
Przypadki związane z Home Assistant pokazują, że wyczerpanie miejsca może być spowodowane różnymi warstwami, w tym logami systemowymi, a nie bazą danych Rejestratora. W jednym z rozwiązanych wątków ustalono, że za wzrost odpowiadał dziennik systemd, dlatego najpierw należy ustalić który katalog stale rośnie, a nie to, czy Home Assistant wydaje się aktywny.
Jeśli rośnie pojedynczy log Core, sprawdź powtarzający się komponent i komunikat. Jeśli rosną logi JSON Dockera, sprawdź sterownik logów kontenera. Jeśli rośnie dziennik, sprawdź usługę generującą wpisy. Jeśli wolnego miejsca jest już krytycznie mało, zatrzymaj najbardziej hałaśliwy nieistotny kontener lub samego Home Assistant, zanim kolejne zapisy utrudnią odzyskanie systemu.
Napraw powtarzające się błędy, zanim ograniczysz widoczność
Policz dominujący komunikat i dopasuj jego znaczniki czasu do urządzenia, integracji, automatyzacji, dodatku lub zdarzenia sieciowego. Ostrzeżenie powtarzane tysiące razy zwykle ma większą wartość zapobiegawczą niż dziesiątki niezwiązanych, jednorazowych wpisów. Przed zmianą ustawień zachowaj krótki wycinek logu wraz z wersją i wyzwalaczem.
W zgłoszeniu dotyczącym Home Assistant Core udokumentowano błąd Tradfri, który zwiększył rozmiar logu do ponad 10 GB i wyczerpał miejsce na dysku systemowym. To przykład zależny od wersji, pokazujący, jak jedna integracja może zapełniać log; potwierdza on potrzebę odizolowania źródła, a nie założenie, że przyczyną zawsze jest Tradfri lub rotacja.
Po zakończeniu zbierania danych wyłącz logowanie debugowania, a następnie przeładuj lub wyłącz tylko potwierdzoną, hałaśliwą integrację i ponownie uruchom pierwotny wyzwalacz. Jeśli częstotliwość komunikatów spadnie, napraw tę integrację lub jej zależność. Jeśli nie, przywróć ustawienie i przejdź do kolejnego potwierdzonego źródła, zamiast wyciszać wszystkie ostrzeżenia.
Ustaw retencję na warstwie odpowiedzialnej za dany log
Ustaw odrębne, ograniczone zasady dla dziennika hosta, sterownika logów Dockera, odwrotnego proxy i pozostałych dodatków. Poziom logowania Core nie ogranicza miejsca zajmowanego przez dziennik systemd, a opcja rozmiaru Dockera nie rotuje pliku zapisywanego bezpośrednio w zamontowanym katalogu konfiguracji.
Wybierz limity, które zachowają wystarczającą historię na czas między kontrolami, a jednocześnie pozostawią miejsce na kopie zapasowe, aktualizacje, operacje na bazie danych i odzyskiwanie systemu. Powiązany artykuł ZimaSpace dotyczący wolnego miejsca w Home Assistant wyjaśnia, dlaczego wykorzystanie ostatniego marginesu może przerwać operacje wymagające tymczasowo dodatkowego miejsca na dysku.
Udokumentuj każdą zasadę w konfiguracji, która przetrwa odtworzenie usługi. Zrestartuj lub odtwórz tylko usługę, której dotyczy problem, potwierdź aktywność ustawienia i zachowaj poprzednią wartość na wypadek wycofania zmiany. Nie stosuj zaplanowanego, masowego usuwania jako zamiennika znalezienia nietypowego procesu zapisującego logi.
Sprawdź, czy rozmiar logów pozostaje ograniczony podczas pierwotnego wyzwalacza
Odtwórz zdarzenie, które spowodowało zalew logów, na przykład przejście urządzenia w tryb offline, ponawianie prób przez integrację, tworzenie kopii zapasowej lub awarię sieci. Śledź rozmiar tego samego pliku, częstotliwość komunikatów, wolne miejsce, stan usług i reakcję automatyzacji przez czas dłuższy niż poprzedni okres wzrostu.
Wynik pozytywny oznacza stabilny lub rotowany rozmiar logów, brak utraty wymaganych danych diagnostycznych, prawidłowy zapis historii oraz wystarczającą ilość wolnego miejsca na następną kopię zapasową i aktualizację. Zrestartuj hosta i ponownie wywołaj zdarzenie, aby potwierdzić działanie limitów po odtworzeniu usług.
Wycofaj zmianę retencji, jeśli usuwa dane potrzebne do zdiagnozowania trwającej usterki. Jeśli po odizolowaniu potwierdzonego źródła log nadal rośnie, zgłoś problem, podając powtarzający się komunikat, komponent generujący wpisy, wersję, tempo wzrostu i ścieżkę przechowywania; ponownie zatrzymaj zapisy, jeśli dysk zbliża się do całkowitego zapełnienia.
Wsparcie i wskazówki
Więcej do przeczytania

Home Assistant działa przez Wi-Fi, ale nie działa przez Ethernet ani VPN
Przetestuj każdą ścieżkę sieciową osobno, sprawdź stan interfejsów i routingu, rozróżnij bezpośrednie połączenie z adresem IP od wykrywania, a następnie napraw tylko uszkodzoną warstwę.

Jak wycofać Home Assistant z użycia, nie pozostawiając niechronionych danych
Udowodnij wymianę lub archiwizację, unieważnij każdą ścieżkę zaufania, wyczyść każde urządzenie zawierające dane i zachowaj wyłącznie udokumentowane chronione kopie zapasowe.

Czy warto używać automatycznych aktualizacji Home Assistant na serwerze domowym?
Wybierz aktualizacje ręczne, tylko z powiadomieniem lub etapowe aktualizacje automatyczne, uwzględniając wpływ na gospodarstwo domowe, ryzyko niezgodności, czas obserwacji i gotowość do przywrócenia działania.

