Sdílet prostřednictvím


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í.

Seznam indexerů

Status Popis
Probíhající Označuje aktivní spuštění. Portál bude hlásit částečné informace. 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 portálu 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.

Souhrn indexeru a historie spuštění

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.

Podrobnosti o spuštění indexeru

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í.

Podrobnosti indexeru s chybami

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.

Metrika zpracovávaných dokumentů indexeru

Graf můžete také nakonfigurovat tak, aby zobrazoval počet volání dovedností v průběhu stejné hodiny.

Dovednosti indexeru vyvolané metrikou

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=2023-11-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: