Dela via


Övervaka indexerarens status och resultat i Azure AI Search

Du kan övervaka indexerarens bearbetning i Azure Portal eller programmatiskt via REST-anrop eller en Azure SDK. Förutom status för själva indexeraren kan du granska start- och sluttider samt detaljerade fel och varningar från en viss körning.

Övervaka med hjälp av Azure Portal

Du kan se den aktuella statusen för alla indexerare på översiktssidan för söktjänsten. Portalsidor uppdateras med några minuters mellanrum, så du ser inga tecken på att en ny indexerare körs direkt. Välj Uppdatera överst på sidan för att omedelbart hämta den senaste vyn.

Lista över indexerare

Status beskrivning
Pågår Anger aktiv körning. Portalen rapporterar om partiell information. När indexeringen fortskrider kan du se docs succeeded-värdet växa som svar. Indexerare som bearbetar stora mängder data kan ta lång tid att köra. Indexerare som hanterar miljontals källdokument kan till exempel köras i 24 timmar och sedan startas om nästan omedelbart för att fortsätta där det slutade. Därför kan statusen för högvolymindexerare alltid säga Pågår i portalen. Även när en indexerare körs finns information om pågående förlopp och tidigare körningar.
Framgång Anger att körningen lyckades. En indexerarkörning kan lyckas även om enskilda dokument har fel, om antalet fel är mindre än indexerarens inställning Max misslyckade objekt .
Misslyckades Antalet fel överskred Max misslyckade objekt och indexeringen har stoppats.
Återställ Indexerarens interna ändringsspårningstillstånd återställdes. Indexeraren körs i sin helhet och uppdaterar alla dokument och inte bara de med nyare tidsstämplar.

Du kan välja på en indexerare i listan om du vill se mer information om indexerarens aktuella och senaste körningar.

Indexerarens sammanfattnings- och körningshistorik

Indexer-sammanfattningsdiagrammet visar ett diagram över antalet dokument som bearbetas i de senaste körningarna.

Listan Körningsinformation visar upp till 50 av de senaste körningsresultaten. Välj ett körningsresultat i listan för att se detaljer om den körningen. Detta inkluderar start- och sluttider samt eventuella fel och varningar som har inträffat.

Information om indexerarens körning

Om det fanns dokumentspecifika problem under körningen visas de i fälten Fel och varningar.

Indexerarens information med fel

Varningar är vanliga med vissa typer av indexerare och indikerar inte alltid ett problem. Indexerare som använder Azure AI-tjänster kan till exempel rapportera varningar när bild- eller PDF-filer inte innehåller någon text att bearbeta.

Mer information om hur du undersöker indexeringsfel och varningar finns i Felsökningsvägledning för Indexer.

Övervaka med Azure Monitoring Metrics

Azure AI Search är en övervakad resurs i Azure Monitor, vilket innebär att du kan använda Metrics Explorer för att se grundläggande mått om antalet indexerarebearbetade dokument och kompetensanrop. Dessa mått kan användas för att övervaka indexerarens förlopp och konfigurera aviseringar.

Måttvyer kan filtreras eller delas upp med en uppsättning fördefinierade dimensioner. Mer information om de dimensioner som är associerade med måtten Dokumentera bearbetade antal och Antal anrop för färdighetskörning finns i Måttdimensioner.

Följande skärmbild visar antalet dokument som bearbetas av indexerare inom en tjänst under en timme, uppdelat efter indexerarens namn.

Indexeraredokument bearbetade mått

Du kan också konfigurera diagrammet för att se antalet kompetensanrop under samma timintervall.

Indexerarkunskaper som anropas mått

Övervaka med hjälp av Rest API (Get Indexer Status)

Du kan hämta status- och körningshistoriken för en indexerare med hjälp av kommandot Hämta indexerarestatus:

GET https://[service name].search.windows.net/indexers/[indexer name]/status?api-version=2024-07-01
api-key: [Search service admin key]

Svaret innehåller övergripande indexerarstatus, den sista (eller pågående) indexerarens anrop och historiken för de senaste anropen av indexerare.

{
    "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
    }]
}

Körningshistoriken innehåller upp till de 50 senaste körningarna, som sorteras i omvänd kronologisk ordning (senaste första).

Observera att det finns två olika statusvärden. Den översta nivåns status är för själva indexeraren. En indexerares status för körning innebär att indexeraren är korrekt konfigurerad och tillgänglig att köra, men inte att den körs för närvarande.

Varje körning av indexeraren har också en egen status som anger om den specifika körningen pågår (körs) eller redan har slutförts med statusen success, transientFailure eller persistentFailure .

När en indexerare återställs för att uppdatera sitt ändringsspårningstillstånd läggs en separat körningshistorikpost till med statusen Återställ .

Mer information om statuskoder och indexeringsövervakningsdata finns i Hämta indexeringsstatus.

Övervaka med .NET

I följande C#-exempel skrivs information om en indexerares status och resultatet av den senaste (eller pågående) körningen till konsolen.

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
    }
}

Utdata i konsolen ser ut ungefär så här:

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

Observera att det finns två olika statusvärden. Statusen på den översta nivån är indexerarens status. Indexerarens status körs innebär att indexeraren är korrekt konfigurerad och tillgänglig för körning, men inte att den körs för närvarande.

Varje körning av indexeraren har också sin egen status för huruvida den specifika körningen pågår (körs) eller redan har slutförts med statusen Lyckades eller TransientError .

När en indexerare återställs för att uppdatera sitt ändringsspårningstillstånd läggs en separat historikpost till med statusen Återställ .

Nästa steg

Mer information om statuskoder och övervakningsinformation för indexerare finns i följande API-referens: