Állítsa át indexeit az Amazon OpenSearch Serverless rendszerre a Logstash segítségével

Állítsa át indexeit az Amazon OpenSearch Serverless rendszerre a Logstash segítségével

Forrás csomópont: 1931332

Nemrég bejelentettük, hogy általánosan elérhető Amazon OpenSearch kiszolgáló nélküli , egy új lehetőség a Amazon OpenSearch szolgáltatás ami megkönnyíti a nagyszabású keresési és elemzési munkaterhelések futtatását anélkül, hogy OpenSearch-fürtöket kellene konfigurálni, kezelni vagy méretezni. Az OpenSearch Serverless szolgáltatással ugyanazt az interaktív ezredmásodperces válaszidőt kapja, mint az OpenSearch Service esetében, a szerver nélküli környezet egyszerűségével.

Ebből a bejegyzésből megtudhatja, hogyan migrálhatja át meglévő indexeit egy OpenSearch Service felügyelt fürttartományból egy szerver nélküli gyűjteménybe a Logstash segítségével.

Az OpenSearch tartományokkal dedikált, biztonságos fürtöket kaphat, amelyek percek alatt konfigurálhatók és optimalizálhatók a munkaterheléshez. Az alkalmazások költségeinek és teljesítményének optimalizálása érdekében teljes mértékben Ön irányíthatja a számítási, memória- és tárolási erőforrások fürtökben történő konfigurációját. Az OpenSearch Serverless még egyszerűbb módot kínál a keresési és elemzési munkaterhelések futtatására – anélkül, hogy a fürtökre kellene gondolnia. Egyszerűen létrehoz egy gyűjteményt és egy indexcsoportot, és megkezdheti az adatok feldolgozását és lekérdezését.

Megoldás áttekintése

Logstash egy nyílt forráskódú szoftver, amely ETL-t (extract, transform and load) biztosít az adatok számára. Beállíthatja a Logstash-t, hogy a bemeneti és kimeneti beépülő modulokon keresztül csatlakozzon egy forráshoz és egy célhoz. Közben beállíthat szűrőket, amelyek átalakíthatják az adatokat. Ez a bejegyzés végigvezeti azokon a lépéseken, amelyekre be kell állítania a Logstash-t, hogy egy OpenSearch szolgáltatási tartományt (bemenetet) egy OpenSearch kiszolgáló nélküli gyűjteményhez (kimenethez) kapcsoljon.

A forrás- és célbővítményeket a Logstash konfigurációs fájljában állíthatja be. A konfigurációs fájlnak vannak szakaszai a következőhöz: Input, Filterés Output. A konfigurálást követően a Logstash kérelmet küld az OpenSearch szolgáltatás tartományának, és beolvassa az adatokat az Ön által megadott lekérdezésnek megfelelően. input szakasz. Az OpenSearch szolgáltatásból származó adatok beolvasása után opcionálisan elküldheti azokat a következő szakaszba Filter olyan átalakításokhoz, mint egy mező hozzáadása vagy eltávolítása a bemeneti adatokból, vagy egy mező frissítése különböző értékekkel. Ebben a példában nem fogja használni a Filter csatlakoztat. Következő a Output csatlakoztat. A Logstash nyílt forráskódú verziója (Logstash OSS) kényelmes módot biztosít a tömeges API használatára adatok feltöltésére a gyűjteményeibe. Az OpenSearch Serverless támogatja a logstash-output-opensearch kimeneti bővítmény, amely támogatja AWS Identity and Access Management (IAM) hitelesítő adatok az adathozzáférés szabályozásához.

Az alábbi ábra szemlélteti a megoldási munkafolyamatunkat.

Előfeltételek

Mielőtt elkezdené, győződjön meg arról, hogy teljesítette a következő előfeltételeket:

  1. Jegyezze fel az OpenSearch Service domain ARN-jét, felhasználónevét és jelszavát.
  2. Hozzon létre egy OpenSearch szerver nélküli gyűjteményt. Ha még nem ismeri az OpenSearch Serverless szolgáltatást, tekintse meg a Az Amazon OpenSearch Serverless segítségével egyszerűen naplózza az elemzéseket a gyűjtemény beállításával kapcsolatos részletekért.

Állítsa be a Logstash-t és a bemeneti és kimeneti bővítményeket az OpenSearch számára

Hajtsa végre a következő lépéseket a Logstash és a beépülő modulok beállításához:

  1. Letöltés logstash-oss-with-opensearch-output-plugin. (Ez a példa a macos-x64 disztribúcióját használja. Más disztribúciókhoz lásd a leletek.)
    wget https://artifacts.opensearch.org/logstash/logstash-oss-with-opensearch-output-plugin-8.4.0-macos-x64.tar.gz

  2. Bontsa ki a letöltött tarballt:
    tar -zxvf logstash-oss-with-opensearch-output-plugin-8.4.0-macos-x64.tar.gz
    cd logstash-8.4.0/

  3. Frissítse a logstash-output-opensearch plugin a legújabb verzióhoz:
    <path/to/your/logstash/root/directory>/bin/logstash-plugin update logstash-output-opensearch

  4. Telepítse a logstash-input-opensearch csatlakoztat:
    <path/to/your/logstash/root/directory>/bin/logstash-plugin install logstash-input-opensearch

Tesztelje a plugint

Lássuk, hogyan működik a bővítmény. A következő konfigurációs fájl adatokat kér le a movies index az OpenSearch Service tartományában, és indexeli az adatokat az OpenSearch Serverless gyűjteményében ugyanazzal az indexnévvel, movies.

Hozzon létre egy új fájlt, és adja hozzá a következő tartalmat, majd mentse a fájlt másként opensearch-serverless-migration.conf. Adja meg az OpenSearch Service tartományvégpont értékeit az alábbiakban HOST, USERNAMEés JELSZÓ a input szakaszt, és az OpenSearch Serverless gyűjteményvégpont részleteit alatta HOST együtt VIDÉK, AWS_ACCESS_KEY_IDés AWS_SECRET_ACCESS_KEY a output szakasz.

input { opensearch { hosts => ["https://<HOST>:443"] user => "<USERNAME>" password => "<PASSWORD>" index => "movies" query => '{ "query": { "match_all": {}} }' }
}
output { opensearch { ecs_compatibility => disabled index => "movies" hosts => "<HOST>:443" auth_type => { type => 'aws_iam' aws_access_key_id => '<AWS_ACCESS_KEY_ID>' aws_secret_access_key => '<AWS_SECRET_ACCESS_KEY>' region => '<REGION>' service_name => 'aoss' } legacy_template => false default_server_major_version => 2 }
}

Lekérdezést megadhat a input szakasza az előző konfigurációban. A match_all lekérdezés megfelel az összes adatnak a movies index. Módosíthatja a lekérdezést, ha az adatok egy részhalmazát szeretné kiválasztani. A lekérdezést az adatátvitel párhuzamosítására is használhatja, ha több Logstash-folyamatot futtat különböző adatszeleteket meghatározó konfigurációkkal. Párhuzamosíthatja a Logstash-folyamatok több indexen való futtatásával is, ha rendelkezik ilyenekkel.

Indítsa el a Logstash-t

A Logstash elindításához használja a következő parancsot:

<path/to/your/logstash/root/directory>/bin/logstash -f <path/to/your/config/file>

A parancs futtatása után a Logstash lekéri az adatokat a forrásindexből az OpenSearch szolgáltatási tartományból, és az OpenSearch Serverless gyűjteményben lévő célindexbe ír. Amikor az adatátvitel befejeződött, a Logstash leáll. Lásd a következő kódot:

[2023-01-24T20:14:28,965][INFO][logstash.agent] Successfully
started Logstash API endpoint {:port=>9600, :ssl_enabled=>false}
…
…
[2023-01-24T20:14:38,852][INFO][logstash.javapipeline][main] Pipeline terminated {"pipeline.id"=>"main"}
[2023-01-24T20:14:39,374][INFO][logstash.pipelinesregistry] Removed pipeline from registry successfully {:pipeline_id=>:main}
[2023-01-24T20:14:39,399][INFO][logstash.runner] Logstash shut down.

Ellenőrizze az adatokat az OpenSearch Serverless alkalmazásban

Ellenőrizheti, hogy a Logstash lemásolta-e az összes adatot, ha összehasonlítja a domainben és a gyűjteményében található dokumentumok számát. Futtassa a következő lekérdezést a Fejlesztői eszközök lapon, vagy azzal curl, postman, vagy egy hasonló HTTP-kliens. A következő lekérdezés segít az összes dokumentumban keresni a movies indexet, és visszaadja a legfontosabb dokumentumokat a számmal együtt. Alapértelmezés szerint az OpenSearch legfeljebb 10,000 XNUMX-ig adja vissza a dokumentumok számát. Hozzátéve a track_total_hits A jelző segít a dokumentumok pontos számának meghatározásában, ha a dokumentumok száma meghaladja a 10,000 XNUMX-et.

GET movies/_search
{ "query": { "match_all": {} }, "track_total_hits" : true
}

Következtetés

Ebben a bejegyzésben adatokat migrált az OpenSearch szolgáltatási tartományból az OpenSearch Serverless gyűjteményébe a Logstash OpenSearch bemeneti és kimeneti bővítményeivel.

Maradjon velünk a bejegyzések sorozatával, amelyek a különféle lehetőségekre összpontosítanak, amelyek segítségével hatékony naplóelemzési és keresési megoldásokat hozhat létre az OpenSearch Serverless használatával. Arra is hivatkozhat Az Amazon OpenSearch Serverless használatának első lépései workshop, hogy többet tudjon meg az OpenSearch Serverlessről.

Ha van visszajelzése a bejegyzéssel kapcsolatban, küldje el a megjegyzés rovatba. Ha kérdése van ezzel a bejegyzéssel kapcsolatban, indítson új témát ezen a címen Amazon OpenSearch Service fórum or lépjen kapcsolatba az AWS ügyfélszolgálatával.


A szerzőkről

Prashant Agrawal az Amazon OpenSearch szolgáltatásának idősebb keresési specialistája. Szorosan együttműködik az ügyfelekkel, hogy segítsen nekik áttelepíteni munkaterhelésüket a felhőbe, és segít a meglévő ügyfeleknek finomhangolni fürteiket a jobb teljesítmény és a költségmegtakarítás érdekében. Mielőtt csatlakozott volna az AWS-hez, különböző ügyfeleknek segített az OpenSearch és az Elasticsearch használatában a keresési és naplóelemzési eseteikben. Amikor nem dolgozik, megtalálhatja őt utazás közben, és új helyeket fedez fel. Röviden, szereti az Eat → Travel → Repeat funkciót.

Jon Handler (@_searchgeek) az Amazon Web Services főbb megoldási építésze, Palo Alto, CA székhelye. Jon szorosan együttműködik a CloudSearch és az Elasticsearch csapatával, segítséget és útmutatást nyújtva azon ügyfelek széles körének, akiknek keresési terhelésük van, és szeretnének áthelyezni az AWS felhőbe. Mielőtt csatlakozott volna az AWS-hez, Jon szoftverfejlesztői karrierje négy éven át egy nagyszabású, e-kereskedelmi keresőmotor kódolását jelentette.

Időbélyeg:

Még több AWS Big Data