Graylog: Tvarkyti saugojimo laikotarpį

Kaip konfigūruoti žurnalų saugojimo laikotarpį

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Graylog cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Įtrauktas neribotas ir dedikuotas SMTP el. pašto serveris.
  • Lengvi atnaujinimai vienu paspaudimu.
  • Pritaikomas domeno vardas, apsaugotas HTTPS (pavyzdžiui, https://logs.jusu-imone.com).
  • Optimali veikla ir tvirta sauga, užtikrinta privačia ir dedikuota VM.

Taupykite laiką ir supaprastinkite savo gyvenimą: tereikia 5 minučių, kad išbandytumėte Stackhero Graylog cloud hosting sprendimą!

Saugos laikotarpis (retention) apibrėžia, kiek žinučių saugoma OpenSearch duomenų bazėje. Galite konfigūruoti saugojimą pagal žinučių skaičių, maksimalų amžių arba bendrą dydžio limitą.

Pavyzdžiui, galite pasirinkti saugoti žinutes iš paskutinių 365 dienų, išlaikyti iki 200 milijonų žinučių arba rezervuoti iš viso 400 GB saugyklos vietos.

Prieš nustatydami saugojimo politiką, svarbu suprasti, kaip veikia Graylog ir OpenSearch naudojami indeksai. Indeksus galite įsivaizduoti kaip fizinius konteinerius. Graylog „atidaro“ konteinerį (indeksą) ir deda į jį gaunamas žinutes. Kai tam konteineriui priskirtas kvotas viršijamas, konteineris uždaromas, padedamas į lentyną, o naujas konteineris pradedamas naudoti sekančioms žinutėms.

Šį kvotą galite nustatyti pagal skirtingus kriterijus:

  1. Žinučių skaičius: „Laikyti 20 milijonų žinučių viename konteineryje, tada pradėti naują.“
  2. Laiko apribojimas: „Naudoti vieną konteinerį 10 dienų, tada pereiti prie naujo.“
  3. Dydžio apribojimas: „Saugoti 20 GB viename konteineryje, tada pereiti prie naujo.“

Taip pat apibrėžiamas maksimalus konteinerių, kuriuos galima laikyti lentynoje, skaičius. Jei šis skaičius viršijamas, seniausi konteineriai automatiškai ištrinami. Pavyzdžiui, jei nustatote maksimalų 20 konteinerių skaičių ir lentynoje jau yra 22, 2 seniausi bus pašalinti.

Šioje analogijoje konteineriai atitinka indeksus, lentyna – tai OpenSearch, o maksimalus skaičius – leidžiamų indeksų kiekis.

Graylog siūlo tris saugojimo strategijas:

  1. „Index time“ apibrėžia maksimalų laiką, kiek žinutės saugomos kiekviename indekse, pavyzdžiui, 14 dienų viename indekse.
  2. „Index message count“ nustato maksimalų žinučių skaičių viename indekse, pavyzdžiui, 20 milijonų žinučių viename indekse.
  3. „Index size“ riboja maksimalų indekso dydį, pavyzdžiui, 40 GB viename indekse.

Galite pasirinkti vieną iš šių strategijų pagal savo poreikius. Pavyzdžiui, pasirinkus „Index time“, visada turėsite žurnalus už paskutines X dienų.

Įsitikinkite, kad tiksliai įvertinote savo disko vietos poreikius.

Pavyzdžiui, jei kasdien saugote 1 GB žurnalų ir nusprendžiate laikyti žurnalus už paskutines 365 dienas, jums reikės 365 GB disko vietos. Nepamirškite papildomai rezervuoti vietos veikimui (žr. žemiau).

Pagal numatytuosius nustatymus Graylog riboja indeksų skaičių iki 20. Šią reikšmę galite koreguoti pagal savo poreikius. Pavyzdžiui, jei norite saugoti žurnalus už paskutines 365 dienas, galite paskirstyti saugojimą tarp indeksų, padalindami 365 dienas iš 20 indeksų – gausite maždaug 19 dienų vienam indeksui.

Panašius skaičiavimus galite atlikti ir kitoms strategijoms:

  1. „Index message count“ strategijai: jei norite laikyti 200 milijonų žinučių su daugiausia 20 indeksų, tuomet 200 milijonų padalijus iš 20 indeksų gausite 10 milijonų žinučių vienam indeksui.
  2. „Index size“ strategijai: jei norite laikyti 400 GB žurnalų su daugiausia 10 indeksų, tuomet 400 GB padalijus iš 10 indeksų gausite 40 GB vienam indeksui.

Rekomenduojame visada palikti bent 15 GB laisvos disko vietos žurnalams, Graylog žurnalui (journal) ir MongoDB duomenims.

Jei laisva disko vieta baigsis, OpenSearch sustabdys savo veiklą ir gali tekti pereiti prie didesnės instancijos.

Norėdami konfigūruoti saugojimo politiką, eikite į Graylog sąsają. Skiltyje „System“ pasirinkite „Indices“ ir spauskite „Edit“ mygtuką prie „Default index set“.

Žemiau pateiktame pavyzdyje konfigūracija nustato maksimaliai 27 indeksus, kiekvienas jų saugo žurnalus 14 dienų. Tokia konfigūracija leidžia išlaikyti žurnalus maždaug metus (378 dienas).

Nerekomenduojame laikyti daugiau nei 14 dienų žinučių viename indekse.

Retention configuration to keep logs for a yearRetention configuration to keep logs for a year

Pasirinkus „Index time“ kaip rotacijos politiką, trukmę reikia nurodyti naudojant ISO8601 Duration standartą.

Pavyzdžiui, „P7D“ reiškia 7 dienas, „P14D“ – 14 dienų ir t. t.

Jei norite daugiau sužinoti apie indeksus, rekomenduojame perskaityti oficialią dokumentaciją.

Kartais OpenSearch gali pereiti į „tik skaitymui“ (read-only) režimą ir galite susidurti su tokiomis klaidomis kaip:

  1. „Flood stage disk watermark exceeded, all indices on this node will be marked read-only“
  2. „FORBIDDEN/12/index read-only / allow delete (api)“

Šios klaidos atsiranda kaip OpenSearch apsaugos mechanizmo dalis, kai disko vieta tampa kritiškai maža. Kai laisvos disko vietos lieka mažiau nei 7 GB, OpenSearch nustato indeksus kaip „tik skaitymui“, kad apsaugotų nuo duomenų sugadinimo.

Jei susiduriate su šiomis klaidomis, turite dvi galimybes:

  1. Perkonfigūruokite saugojimo politiką, kad laikytumėte mažiau žurnalų. Pakoregavę politiką, ištrinkite seniausią indeksą, kad atlaisvintumėte disko vietos ir OpenSearch galėtų grįžti į „skaitymo-rašymo“ režimą. Atkreipkite dėmesį, kad ištrynus indeksą, visi jame esantys duomenys bus prarasti.
  2. Atnaujinkite instanciją į didesnę su daugiau disko vietos. Vienu paspaudimu Stackhero valdymo skydelyje instancija bus paleista iš naujo su papildoma disko vieta, o OpenSearch automatiškai grįš į „skaitymo-rašymo“ režimą.