Graylog: Zarządzanie retencją
Jak skonfigurować retencję logów
👋 Witamy w dokumentacji Stackhero!
Stackhero oferuje gotowe do użycia rozwiązanie Graylog cloud, które zapewnia wiele korzyści, w tym:
- Nieograniczony i dedykowany serwer e-mail SMTP w zestawie.
- Bezproblemowe aktualizacje za pomocą jednego kliknięcia.
- Dostosowywalna nazwa domeny zabezpieczona za pomocą HTTPS (na przykład, https://logs.twoja-firma.com).
- Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.
Oszczędzaj czas i upraszczaj swoje życie: wystarczy 5 minut, aby wypróbować rozwiązanie Graylog cloud hosting Stackhero!
Retencja określa liczbę wiadomości przechowywanych w bazie danych OpenSearch. Możesz skonfigurować retencję na podstawie liczby wiadomości, maksymalnego wieku lub całkowitego limitu rozmiaru.
Na przykład możesz zdecydować się na przechowywanie wiadomości z ostatnich 365 dni, zachowanie do 200 milionów wiadomości lub zarezerwowanie łącznie 400 GB przestrzeni dyskowej.
Zrozumienie indeksów
Przed zdefiniowaniem polityki retencji ważne jest, aby zrozumieć, jak działają indeksy wykorzystywane przez Graylog i OpenSearch. Indeksy można porównać do fizycznych pojemników. Graylog „otwiera” pojemnik (indeks) i umieszcza w nim przychodzące wiadomości. Gdy przypisany do tego pojemnika limit zostanie przekroczony, pojemnik jest zamykany, odkładany na „półkę”, a dla kolejnych wiadomości otwierany jest nowy pojemnik.
Limit ten można ustawić według różnych kryteriów:
- Liczba wiadomości: „Przechowuj 20 milionów wiadomości na pojemnik, a następnie rozpocznij nowy.”
- Ograniczenie czasowe: „Używaj pojemnika przez 10 dni, potem przejdź do nowego.”
- Ograniczenie rozmiaru: „Przechowuj 20 GB na pojemnik, potem przejdź do kolejnego.”
Określona jest również maksymalna liczba pojemników, które mogą być przechowywane na półce. Jeśli liczba ta zostanie przekroczona, najstarsze pojemniki są automatycznie usuwane. Na przykład, jeśli ustawisz maksymalnie 20 pojemników, a na półce znajduje się 22, dwa najstarsze zostaną usunięte.
W tej analogii pojemniki to indeksy, półka to OpenSearch, a liczba maksymalna to dozwolona liczba indeksów.
Wybór strategii rotacji
Graylog oferuje trzy strategie retencji:
- "Index time" określa maksymalny czas przechowywania wiadomości w każdym indeksie, np. 14 dni na indeks.
- "Index message count" ustala maksymalną liczbę wiadomości na indeks, np. 20 milionów wiadomości na indeks.
- "Index size" ogranicza maksymalny rozmiar indeksu, np. 40 GB na indeks.
Możesz wybrać jedną z tych strategii w zależności od swoich potrzeb. Na przykład wybór "Index time" pozwala mieć zawsze logi z ostatnich X dni.
Proszę dokładnie oszacować zapotrzebowanie na przestrzeń dyskową.
Na przykład, jeśli przechowujesz 1 GB logów dziennie i zdecydujesz się zachować logi z ostatnich 365 dni, będziesz potrzebować 365 GB przestrzeni dyskowej. Pamiętaj, aby zarezerwować dodatkowe miejsce operacyjne (patrz poniżej).
Definiowanie parametrów retencji
Domyślnie Graylog ogranicza liczbę indeksów do 20. Możesz dostosować tę wartość do swoich potrzeb. Na przykład, jeśli chcesz przechowywać logi z ostatnich 365 dni, możesz rozłożyć retencję na indeksy, dzieląc 365 dni przez 20 indeksów, co daje około 19 dni na indeks.
Podobne obliczenia możesz wykonać dla innych strategii:
- Dla strategii "Index message count": jeśli chcesz zachować 200 milionów wiadomości przy maksymalnie 20 indeksach, to 200 milionów podzielone przez 20 daje 10 milionów wiadomości na indeks.
- Dla strategii "Index size": jeśli chcesz utrzymać 400 GB logów przy maksymalnie 10 indeksach, to 400 GB podzielone przez 10 daje 40 GB na indeks.
Zalecamy zawsze pozostawienie co najmniej 15 GB wolnej przestrzeni dyskowej na logi, dziennik Graylog oraz dane MongoDB.
Jeśli zabraknie wolnego miejsca na dysku, OpenSearch zablokuje swoje operacje i konieczna może być zmiana na większą instancję.
Konfiguracja polityki retencji
Aby skonfigurować politykę retencji, przejdź do interfejsu Graylog. W menu "System" wybierz "Indices" i kliknij przycisk "Edit" w sekcji "Default index set".
W poniższym przykładzie konfiguracja ustawia maksymalnie 27 indeksów, z których każdy przechowuje logi przez 14 dni. Taka konfiguracja pozwala zachować logi przez około rok (378 dni).
Nie zalecamy przechowywania więcej niż 14 dni wiadomości na jeden indeks.
Konfiguracja retencji na rok przechowywania logów
Wybierając "Index time" jako politykę rotacji, należy określić czas trwania zgodnie ze standardem ISO8601 Duration.
Na przykład "P7D" oznacza 7 dni, "P14D" oznacza 14 dni itd.
Dalsze kroki
Jeśli chcesz dowiedzieć się więcej o indeksach, zdecydowanie zachęcamy do zapoznania się z oficjalną dokumentacją.
Obsługa błędów dotyczących indeksów OpenSearch w trybie tylko do odczytu
Czasami OpenSearch może przełączyć się w tryb tylko do odczytu i możesz napotkać błędy takie jak:
- "Flood stage disk watermark exceeded, all indices on this node will be marked read-only"
- "FORBIDDEN/12/index read-only / allow delete (api)"
Błędy te pojawiają się w ramach mechanizmu ochronnego OpenSearch, gdy ilość wolnego miejsca na dysku jest krytycznie niska. Gdy dostępna przestrzeń spadnie poniżej 7 GB, OpenSearch ustawia indeksy jako tylko do odczytu, aby zapobiec uszkodzeniu danych.
W przypadku wystąpienia tych błędów masz dwie opcje:
- Przekonfiguruj politykę retencji, aby przechowywać mniej logów. Po dostosowaniu polityki usuń najstarszy indeks, aby zwolnić miejsce na dysku i umożliwić OpenSearch powrót do trybu odczytu-zapisu. Pamiętaj, że usunięcie indeksu oznacza utratę wszystkich danych w nim zawartych.
- Zmień instancję na taką z większym dyskiem. Za pomocą jednego kliknięcia w panelu Stackhero instancja zostanie uruchomiona ponownie z większą przestrzenią dyskową, a OpenSearch automatycznie powróci do trybu odczytu-zapisu.