Indexelő állapotának és eredményeinek monitorozása az Azure AI Searchben
Az indexelő feldolgozását az Azure Portalon, vagy programozott módon, REST-hívásokkal vagy Azure SDK-val figyelheti. Az indexelő állapotán kívül áttekintheti a kezdési és befejezési időpontokat, valamint egy adott futtatás részletes hibáit és figyelmeztetéseit.
Monitorozás az Azure Portal használatával
A keresési szolgáltatás áttekintési oldalán láthatja az összes indexelő aktuális állapotát. A portáloldalak néhány percenként frissülnek, így nem jelenik meg az új indexelő azonnali futtatásának bizonyítéka. A lap tetején található Frissítés gombra kattintva azonnal lekérheti a legújabb nézetet.
Állapot | Leírás |
---|---|
Folyamatban | Aktív végrehajtást jelez. az Azure Portal részleges információkról fog jelentést létrehozni. Az indexelés előrehaladtával megfigyelheti, hogy a Docs sikeres értéke növekszik válaszként. A nagy mennyiségű adatot feldolgozó indexelők futtatása hosszú időt vehet igénybe. A több millió forrásdokumentumot kezelő indexelők például 24 órán át futhatnak, majd szinte azonnal újraindulhatnak, hogy ott folytassanak, ahol abbahagyták. Így a nagy mennyiségű indexelők állapota mindig azt jelentheti, hogy folyamatban van az Azure Portalon. Még akkor is, ha egy indexelő fut, részletes információk érhetők el a folyamatban lévő folyamatról és az előző futtatásokról. |
Siker | Azt jelzi, hogy a futtatás sikeres volt. Az indexelő futtatása akkor is sikeres lehet, ha az egyes dokumentumok hibásak, ha a hibák száma kisebb, mint az indexelő Maximális sikertelen elemek beállítása. |
Sikertelen | A hibák száma túllépte a sikertelen elemek maximális számát, és az indexelés leállt. |
Reset | Az indexelő belső változáskövetési állapota alaphelyzetbe állt. Az indexelő teljes mértékben lefut, és frissíti az összes dokumentumot, és nem csak az újabb időbélyegekkel rendelkezőket. |
Az indexelő aktuális és legutóbbi futtatásairól további részleteket az indexelők közül választhat ki a listában.
Az Indexelő összefoglaló diagramja a legutóbbi futtatások során feldolgozott dokumentumok számának grafikonját jeleníti meg.
A Végrehajtási részletek lista legfeljebb 50 legutóbbi végrehajtási eredményt jelenít meg. Válassza ki a végrehajtás eredményét a listában a futtatással kapcsolatos konkrétumok megtekintéséhez. Ez magában foglalja a kezdési és befejezési időpontokat, valamint a felmerülő hibákat és figyelmeztetéseket.
Ha a futtatás során dokumentumspecifikus problémák jártak, azok a Hibák és figyelmeztetések mezőkben jelennek meg.
Egyes indexelőknél gyakoriak a figyelmeztetések, és nem mindig jeleznek problémát. Az Azure AI-szolgáltatásokat használó indexelők például figyelmeztetéseket jelenthetnek, ha a kép- vagy PDF-fájlok nem tartalmaznak feldolgozandó szöveget.
Az indexelő hibáinak és figyelmeztetéseinek vizsgálatával kapcsolatos további információkért tekintse meg az Indexelő hibaelhárítási útmutatóját.
Monitorozás az Azure Monitorozási metrikákkal
Az Azure AI Search egy figyelt erőforrás az Azure Monitorban, ami azt jelenti, hogy a Metrics Explorer használatával megtekintheti az indexelő által feldolgozott dokumentumok és készséghívások számával kapcsolatos alapvető metrikákat. Ezek a metrikák az indexelők előrehaladásának figyelésére és riasztások beállítására használhatók.
A metrikanézetek szűrhetők vagy feloszthatók előre definiált dimenziók alapján. A metrikákhoz társított dimenziókról a Dokumentum feldolgozott száma és a Készségvégrehajtási hívásszám című témakörben tájékozódhat.
Az alábbi képernyőképen az indexelők által egy órán belül feldolgozott dokumentumok száma látható, az indexelő neve szerint felosztva.
A gráfot úgy is konfigurálhatja, hogy azonos óraintervallumon belül megtekintse a készséghívások számát.
Monitorozás az Indexelő állapotának lekérése (REST API) használatával
Az indexelőzmények állapotát és végrehajtási előzményeit az Indexelő állapotának lekérése paranccsal kérdezheti le:
GET https://[service name].search.windows.net/indexers/[indexer name]/status?api-version=2024-07-01
api-key: [Search service admin key]
A válasz tartalmazza az indexelő általános állapotát, az utolsó (vagy folyamatban lévő) indexelőhívást, valamint a legutóbbi indexelőhívások előzményeit.
{
"status":"running",
"lastResult": {
"status":"success",
"errorMessage":null,
"startTime":"2018-11-26T03:37:18.853Z",
"endTime":"2018-11-26T03:37:19.012Z",
"errors":[],
"itemsProcessed":11,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
"executionHistory":[ {
"status":"success",
"errorMessage":null,
"startTime":"2018-11-26T03:37:18.853Z",
"endTime":"2018-11-26T03:37:19.012Z",
"errors":[],
"itemsProcessed":11,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
}]
}
A végrehajtási előzmények legfeljebb az 50 legutóbbi futtatást tartalmazzák, amelyek fordított időrendi sorrendben vannak rendezve (a legutóbbi első).
Vegye figyelembe, hogy két különböző állapotérték van. A legfelső szintű állapot maga az indexelő. Az indexelő futási állapota azt jelenti, hogy az indexelő megfelelően van beállítva, és futtatható, de jelenleg nem fut.
Az indexelő minden futtatása saját állapottal is rendelkezik, amely azt jelzi, hogy az adott végrehajtás folyamatban van-e (fut), vagy már befejeződött-e sikeres, átmenetiFailure vagy persistentFailure állapottal.
Amikor egy indexelőt visszaállít a változáskövetési állapot frissítésére, a rendszer egy külön végrehajtási előzménybejegyzést ad hozzá alaphelyzetbe állítási állapottal.
Az állapotkódokkal és az indexelő monitorozási adataival kapcsolatos további információkért tekintse meg az Indexelő állapotának lekérése című témakört.
Monitorozás a .NET használatával
Az alábbi C#-példa információkat ír az indexelő állapotáról és a legutóbbi (vagy folyamatban lévő) futtatás eredményeiről a konzolon.
static void CheckIndexerStatus(SearchIndexerClient indexerClient, SearchIndexer indexer)
{
try
{
string indexerName = "hotels-sql-idxr";
SearchIndexerStatus execInfo = indexerClient.GetIndexerStatus(indexerName);
Console.WriteLine("Indexer has run {0} times.", execInfo.ExecutionHistory.Count);
Console.WriteLine("Indexer Status: " + execInfo.Status.ToString());
IndexerExecutionResult result = execInfo.LastResult;
Console.WriteLine("Latest run");
Console.WriteLine("Run Status: {0}", result.Status.ToString());
Console.WriteLine("Total Documents: {0}, Failed: {1}", result.ItemCount, result.FailedItemCount);
TimeSpan elapsed = result.EndTime.Value - result.StartTime.Value;
Console.WriteLine("StartTime: {0:T}, EndTime: {1:T}, Elapsed: {2:t}", result.StartTime.Value, result.EndTime.Value, elapsed);
string errorMsg = (result.ErrorMessage == null) ? "none" : result.ErrorMessage;
Console.WriteLine("ErrorMessage: {0}", errorMsg);
Console.WriteLine(" Document Errors: {0}, Warnings: {1}\n", result.Errors.Count, result.Warnings.Count);
}
catch (Exception e)
{
// Handle exception
}
}
A konzol kimenete a következőképpen fog kinézni:
Indexer has run 18 times.
Indexer Status: Running
Latest run
Run Status: Success
Total Documents: 7, Failed: 0
StartTime: 11:29:31 PM, EndTime: 11:29:31 PM, Elapsed: 00:00:00.2560000
ErrorMessage: none
Document Errors: 0, Warnings: 0
Vegye figyelembe, hogy két különböző állapotérték van. A legfelső szintű állapot maga az indexelő állapota. A Futtatás indexelő állapota azt jelenti, hogy az indexelő megfelelően van beállítva, és végrehajtásra elérhető, de jelenleg nem futtatható.
Az indexelő minden futtatása saját állapottal is rendelkezik ahhoz, hogy az adott végrehajtás folyamatban van-e (Fut), vagy már sikeresen befejeződött vagy TransientError állapotú.
Amikor egy indexelő visszaállítja a változáskövetési állapot frissítését, a rendszer egy külön előzménybejegyzést ad hozzá alaphelyzetbe állítási állapottal.
Következő lépések
Az állapotkódokkal és az indexelők monitorozásával kapcsolatos további információkért tekintse meg az alábbi API-referenciát: