Monitorování stavu indexeru a výsledků ve službě Azure AI Search
Zpracování indexeru můžete monitorovat na webu Azure Portal nebo programově prostřednictvím volání REST nebo sady Azure SDK. Kromě stavu samotného indexeru můžete zkontrolovat časy spuštění a ukončení a podrobné chyby a upozornění z konkrétního spuštění.
Monitorování pomocí webu Azure Portal
Aktuální stav všech indexerů můžete zobrazit na stránce Přehled vyhledávací služby. Stránky portálu se aktualizují každých několik minut, takže hned neuvidíte důkaz o novém indexeru. Výběrem možnosti Aktualizovat v horní části stránky okamžitě načtěte nejnovější zobrazení.
Status | Popis |
---|---|
Probíhající | Označuje aktivní spuštění. Azure Portal se bude hlásit o částečných informacích. Při indexování můžete sledovat růst hodnoty Docs Succeeded v odpovědi. Indexery, které zpracovávají velké objemy dat, můžou trvat dlouhou dobu. Například indexery, které zpracovávají miliony zdrojových dokumentů, můžou běžet po dobu 24 hodin a pak se téměř okamžitě restartují, aby se zvedly tam, kde skončila. Stav pro indexery s velkým objemem může na webu Azure Portal vždy říkat Probíhá . I když je indexer spuštěný, jsou k dispozici podrobnosti o probíhajícím průběhu a předchozích spuštěních. |
Úspěch | Označuje, že spuštění proběhlo úspěšně. Spuštění indexeru může být úspěšné, i když mají jednotlivé dokumenty chyby, pokud je počet chyb menší než nastavení maximálního počtu položek indexeru. |
Neúspěch | Počet chyb překročil maximální počet neúspěšných položek a indexování se zastavilo. |
Vymazat | Došlo k resetování interního stavu sledování změn indexeru. Indexer se spustí v plném rozsahu, aktualizuje všechny dokumenty, a ne jenom s novějšími časovými razítky. |
Výběrem indexeru v seznamu zobrazíte další podrobnosti o aktuálních a nedávných spuštěních indexeru.
Souhrnný graf Indexeru zobrazuje graf počtu dokumentů zpracovaných v jeho nejnovějších spuštěních.
Seznam podrobností o spuštění zobrazuje až 50 nejnovějších výsledků spuštění. Výběrem výsledku spuštění v seznamu zobrazíte konkrétní informace o tomto spuštění. To zahrnuje počáteční a koncové časy a všechny chyby a upozornění, ke kterým došlo.
Pokud během spuštění došlo k problémům specifickým pro dokument, budou uvedené v polích Chyby a Upozornění.
Upozornění jsou běžná u některých typů indexerů a ne vždy značí problém. Například indexery, které používají služby Azure AI, můžou hlásit upozornění, když obrázky nebo soubory PDF neobsahují žádný text ke zpracování.
Další informace o zkoumání chyb a upozornění indexeru najdete v pokynech k řešení potíží s indexerem.
Monitorování s využitím metrik monitorování Azure
Azure AI Search je monitorovaný prostředek ve službě Azure Monitor, což znamená, že pomocí Průzkumníka metrik můžete zobrazit základní metriky týkající se počtu dokumentů zpracovaných indexerem a vyvolání dovedností. Tyto metriky se dají použít k monitorování průběhu indexeru a nastavení upozornění.
Zobrazení metrik je možné filtrovat nebo rozdělit podle sady předdefinovaných dimenzí. Další informace o dimenzích přidružených k metrikám: Počet zpracovaných metrik a počet vyvolání dovedností najdete v tématu Dimenze metrik.
Následující snímek obrazovky ukazuje počet dokumentů zpracovaných indexery v rámci služby za hodinu, rozdělený podle názvu indexeru.
Graf můžete také nakonfigurovat tak, aby zobrazoval počet volání dovedností v průběhu stejné hodiny.
Monitorování pomocí získání stavu indexeru (REST API)
Stav a historii spuštění indexeru můžete načíst pomocí příkazu Získat stav indexeru:
GET https://[service name].search.windows.net/indexers/[indexer name]/status?api-version=2024-07-01
api-key: [Search service admin key]
Odpověď obsahuje celkový stav indexeru, poslední (nebo probíhající) vyvolání indexeru a historii nedávných vyvolání indexeru.
{
"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
}]
}
Historie provádění obsahuje až 50 nejnovějších spuštění, která jsou seřazena v obráceném chronologickém pořadí (poslední první).
Všimněte si, že existují dvě různé hodnoty stavu. Stav nejvyšší úrovně je určený pro samotný indexer. Stav spuštěného indexeru znamená, že je indexer správně nastavený a dostupný ke spuštění, ale ne to, že je aktuálně spuštěný.
Každé spuštění indexeru má také svůj vlastní stav, který označuje, jestli je konkrétní spuštění probíhající (spuštěné), nebo již dokončeno s úspěšným, přechodnýmfailurem nebo trvalým stavemFailure.
Když indexer obnoví stav sledování změn, přidá se samostatná položka historie provádění se stavem Resetování .
Další informace o stavových kódech a monitorování dat indexeru najdete v tématu Získání stavu indexeru.
Monitorování pomocí .NET
Následující příklad jazyka C# zapisuje informace o stavu indexeru a výsledcích jeho nejnovějšího (nebo probíhajícího) spuštění do konzoly.
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
}
}
Výstup v konzole bude vypadat přibližně takto:
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
Všimněte si, že existují dvě různé hodnoty stavu. Stav nejvyšší úrovně je stav samotného indexeru. Stav indexeru Spuštěno znamená, že je indexer správně nastavený a dostupný ke spuštění, ale ne, že se právě spouští.
Každé spuštění indexeru má také svůj vlastní stav pro to, jestli konkrétní spuštění probíhá (spuštěno), nebo už bylo dokončeno se stavem Success nebo TransientError .
Když indexer obnoví stav sledování změn, přidá se samostatná položka historie se stavem Resetování .
Další kroky
Další informace o stavových kódech a monitorování indexerů najdete v následujících referenčních informacích k rozhraní API: