Ile miejsca na logi Dockera powinien zarezerwować serwer domowy?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Nie rezerwuj jednej nieograniczonej puli na logi Dockera. Ustaw rotację dla poszczególnych kontenerów i utrzymuj osobny minimalny poziom wolnego miejsca na hoście. Praktycznym punktem wyjścia jest 30–100 MB dla standardowych kontenerów, a większe limity należy stosować tylko w przypadku usług, których okno diagnostyczne tego wymaga.

Całkowita przestrzeń to limit przypadający na kontener pomnożony przez liczbę kontenerów, powiększony o logi demona, journald, aplikacji, awarii i tymczasowe. Prawidłowa rezerwa musi również umożliwiać pobieranie obrazów, aktualizacje i ponowne uruchamianie kontenerów podczas skoku ilości logów. To rozróżnienie wyznacza metodę pomiaru, margines bezpieczeństwa i warunek zatrzymania. To rozróżnienie wyznacza metodę pomiaru, margines bezpieczeństwa i warunek zatrzymania.

Zbuduj budżet na podstawie każdego źródła logów

Zidentyfikuj sterownik logowania Dockera, liczbę kontenerów, tempo generowania logów, okres przechowywania oraz wszelkie logi aplikacji zapisywane w woluminach. Rotacja standardowego wyjścia nie ogranicza osobnego pliku logu utworzonego przez aplikację.

Dla `json-file` ustawienia `max-size=10m` i `max-file=3` ograniczają przechowywane pliki do około 30 MB na kontener. Sterownik `local` dodaje kompresję i ograniczoną rotację, ale istniejące kontenery mogą wymagać ponownego utworzenia, aby zastosować zmienione ustawienia domyślne.

Zarezerwuj dodatkowy zapas miejsca na dysku systemowym na obrazy, warstwy zapisywalne, aktualizacje pakietów i awaryjną diagnostykę. Nie pozwól, aby budżet na logi zużył ostatnią użyteczną przestrzeń w `/var/lib/docker`.

Alarmuj na podstawie tempa i wolnego miejsca, nie tylko rozmiaru

Śledź liczbę bajtów na kontener, przyrost na godzinę, zdarzenia rotacji, liczbę wolnych bajtów systemu plików oraz wykorzystanie i-węzłów. Nagła zmiana tempa często ujawnia pętlę awarii, zanim dysk się zapełni.

Ustaw progi ostrzegawcze i krytyczne wystarczająco wcześnie, aby zachować możliwość ponownego uruchamiania i aktualizowania systemu. W przypadku małego dysku systemowego stała rezerwa operacyjna wynosząca 5–10 GB może być bardziej miarodajna niż sam procent.

Użyj poniższej tabeli, aby przełożyć obserwowane zachowanie na limit.

Obserwowany stan Ocena Następne działanie
Standardowa usługa; niskie tempo logowania Limit początkowy 30–100 MB Dostosuj do okna diagnostycznego
Usługa generująca skokowo logi z uzasadnioną historią Większy, jawnie określony wyjątek Monitoruj przyrost i przekazywanie logów
Brak rotacji; spadająca ilość wolnego miejsca Niebezpieczne Włącz limity przed normalnym użyciem

Zastosuj rotację bez utraty istotnych danych

Ustaw domyślne wartości demona i jawne wyjątki dla usług o dużej wartości, a następnie utwórz ponownie kontenery lub wdroż je ponownie, aby ustawienia zaczęły obowiązywać. Potwierdź aktywny sterownik i opcje za pomocą inspekcji kontenera.

Przekazuj logi bezpieczeństwa lub audytu do osobnego, trwałego miejsca docelowego, jeśli muszą przetrwać lokalną rotację. Standardowe dane debugowania nie powinny być przechowywane bezterminowo na dysku systemowym.

Procedura analizy przyrostu zajętości dysku przez Dockera firmy ZimaSpace oddziela logi od warstw i woluminów.

Analiza rotacji logów RunBook Academy pokazuje, jak `max-size` i `max-file` tworzą przewidywalny limit.

-15% OFF

Wymuś walidację kontenera generującego dużo logów

Wygeneruj kontrolowany strumień logów w kontenerze testowym i obserwuj rotację plików. Potwierdź, że stare pliki znikają po osiągnięciu skonfigurowanej liczby oraz że kontener nadal działa.

Uruchom ponownie Dockera i hosta, a następnie powtórz kontrolę. Sprawdź, czy alarmy uruchamiają się, zanim rezerwa operacyjna zostanie wykorzystana, oraz czy logi aplikacji poza sterownikiem mają osobne limity.

Kontynuuj, gdy najgorszy łączny rozmiar logów mieści się w budżecie, a rotacja działa po ponownym uruchomieniu. Zatrzymaj się i napraw konfigurację, jeśli jeden z kontenerów rośnie bez ograniczeń, rotacja nie jest aktywna lub ilość wolnego miejsca spada poniżej rezerwy systemowej.

Wsparcie i wskazówki

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.