A régi Elasticsearch rekordok forgatása és törlése egy hónap után – CloudSavvy IT

Avatar Gadam | 2020.12.18. 16 Views 0 Likes 0 Ratings

16 Views 0 Ratings Rate it

Az elasztikus keresési indexek gyorsan megtelhetnek gigabájt adatokkal, különösen, ha másodpercenként sokszor több szerverről jelentkezik be. Az adatok kezeléséhez az Elasticsearch

Törlés a „Törlés lekérdezéssel” API használatával

Az Elasticsearch egy „Törlés lekérdezéssel” API-t kínál, amely eltávolítja az összes, a lekérdezésnek megfelelő dokumentumot. Használhatja ezt egy bizonyos dátumnál nagyobb vagy kisebb időbélyegek egyeztetésére, bár kissé durván:

POST indexname/_delete_by_query
{
  "query": {
    "range" : {
      "@timestamp" : {
        "gte" : "09/02/2020",
        "lte" : "11/02/2020",
        "format": "dd/MM/yyyy||yyyy"
      }
    }
  }
}

Ez a lekérdezés azonban az nagyon lassú. Lineárisan skálázódik a dokumentum méretével. Ha elegendő dokumentuma van, amelyeket el kell forgatnia, hogy megakadályozza az Elasticsearch-példány lángba borulását, valószínűleg nem törölheti a rekordokat így, és időalapú indexeket kell használnia.

Jobb módszer: Időalapú indexek

Az Elasticsearch alkalmazásban általában nem közvetlenül használja az indexeket. Az irányítópultok indexmintákat használnak, amelyek egyszerre több indexet illeszthetnek egymáshoz. Ennek az az oka, hogy az indexek maguk is adatcsoportokként működhetnek, például nap vagy hónap szerinti csoportosításban.

Sokkal könnyebb kezelni és forgatni a teljes indexeket, így ha minden beolvasót úgy állított be, hogy hozzáadja az aktuális dátumot az index nevéhez,

index: "indexname-%{+yyyy.MM.dd}"

Természetesen ehhez meg kell adnia a beviteli folyamatot, hogy a napi indexbe írjon. Be kell állítania a naplózókat az adatok ilyen formátumú felvétele érdekében.

Miután ez megtörtént, létrehozhat egy új Index életciklus-házirendet az adatok automatikus áthelyezésének kezelésére. Ez az opció a Kibana irányítópultjának „Veremkezelése” alatt érhető el.

Konfigurálhatja az index-váltás több fázisát, de ebből a célból könnyebb egyszerűen letiltani az áthelyezést és engedélyezni a törlési fázist, úgy konfigurálva, hogy eltávolítsa az X napoknál régebbi indexeket.

Ezután egy indexsablonra való alkalmazásához az életciklus-házirend-lista „Műveletek” részében ki kell választania a „Házirend hozzáadása az indexsablonhoz” lehetőséget.

Válassza ki a hozzáadni kívánt indexmintát, és az irányelvnek azonnal érvénybe kell lépnie, és a mintában található régi indexek törlődnek.


Source link


16 Views 0 Ratings Rate it