Monitorowanie stanu indeksatora i wyników w usłudze Azure AI Search

Przetwarzanie indeksatora można monitorować w witrynie Azure Portal lub programowo za pomocą wywołań REST lub zestawu Azure SDK. Oprócz stanu samego indeksatora można przejrzeć czasy rozpoczęcia i zakończenia oraz szczegółowe błędy i ostrzeżenia z określonego przebiegu.

Monitorowanie przy użyciu witryny Azure Portal

Bieżący stan wszystkich indeksatorów można wyświetlić na stronie Przegląd usługi wyszukiwania. Strony portalu są odświeżane co kilka minut, aby od razu nie zobaczyć dowodów na uruchomienie nowego indeksatora. Wybierz pozycję Odśwież w górnej części strony, aby natychmiast pobrać najnowszy widok.

Indexers list

Stan opis
W trakcie wykonywania Wskazuje aktywne wykonywanie. Portal będzie zgłaszać częściowe informacje. W miarę postępu indeksowania można obserwować wzrost wartości Docs Succeeded w odpowiedzi. Indeksatory przetwarzające duże ilości danych mogą zająć dużo czasu. Na przykład indeksatory obsługujące miliony dokumentów źródłowych mogą działać przez 24 godziny, a następnie uruchamiać ponownie niemal natychmiast, aby pobrać miejsce, w którym zostało to przerwane. W związku z tym stan indeksatorów o dużej ilości może zawsze być wyświetlany w toku w portalu. Nawet jeśli indeksator jest uruchomiony, szczegółowe informacje dotyczące trwającego postępu i poprzednich przebiegów są dostępne.
Sukces Wskazuje, że przebieg zakończył się pomyślnie. Uruchomienie indeksatora może zakończyć się powodzeniem, nawet jeśli poszczególne dokumenty mają błędy, jeśli liczba błędów jest mniejsza niż ustawienie Maksymalna liczba elementów zakończonych niepowodzeniem indeksatora.
Nie działa Liczba błędów przekroczyła maksymalną liczbę elementów zakończonych niepowodzeniem, a indeksowanie zostało zatrzymane.
Resetuj Stan wewnętrznego śledzenia zmian indeksatora został zresetowany. Indeksator zostanie uruchomiony w trybie pełnym, odświeżając wszystkie dokumenty, a nie tylko te z nowszymi znacznikami czasu.

Możesz wybrać indeksator na liście, aby wyświetlić więcej szczegółów dotyczących bieżących i ostatnich przebiegów indeksatora.

Indexer summary and execution history

Wykres podsumowania indeksatora przedstawia wykres liczby dokumentów przetworzonych w najnowszych uruchomieniach.

Lista Szczegóły wykonania zawiera maksymalnie 50 najnowszych wyników wykonywania. Wybierz wynik wykonania na liście, aby wyświetlić szczegółowe informacje o tym przebiegu. Obejmuje to czas rozpoczęcia i zakończenia oraz wszelkie błędy i ostrzeżenia, które wystąpiły.

Indexer execution details

Jeśli podczas uruchamiania wystąpiły problemy specyficzne dla dokumentu, zostaną one wyświetlone w polach Błędy i ostrzeżenia.

Indexer details with errors

Ostrzeżenia są typowe dla niektórych typów indeksatorów i nie zawsze wskazują problem. Na przykład indeksatory korzystające z usług Azure AI mogą zgłaszać ostrzeżenia, gdy pliki obrazów lub plików PDF nie zawierają żadnego tekstu do przetworzenia.

Aby uzyskać więcej informacji na temat badania błędów i ostrzeżeń indeksatora, zobacz Wskazówki dotyczące rozwiązywania problemów z indeksatorem.

Monitorowanie za pomocą metryk monitorowania platformy Azure

Usługa Azure AI Search to monitorowany zasób w usłudze Azure Monitor, co oznacza, że możesz użyć Eksploratora metryk, aby wyświetlić podstawowe metryki dotyczące liczby dokumentów przetworzonych przez indeksator i wywołań umiejętności. Te metryki mogą służyć do monitorowania postępu indeksatora i konfigurowania alertów.

Widoki metryk można filtrować lub dzielić według zestawu wstępnie zdefiniowanych wymiarów.

Nazwa metryki opis Wymiary Przykładowe przypadki użycia
Liczba przetworzonych dokumentów Pokazuje liczbę przetworzonych dokumentów indeksatora. Nazwa źródła danych, niepowodzenie, nazwa indeksu, nazwa indeksatora, nazwa zestawu umiejętności
— Może być przywoływał jako przybliżoną miarę przepływności (liczba dokumentów przetwarzanych przez indeksator w czasie)
— Konfigurowanie alertu dotyczącego dokumentów, które zakończyły się niepowodzeniem
Liczba wywołań wykonywania umiejętności Pokazuje liczbę wywołań umiejętności. Nazwa źródła danych, niepowodzenie, nazwa indeksu, nazwa indeksatora, nazwa umiejętności, typ umiejętności, nazwa zestawu umiejętności
- Odniesienie do zapewnienia, że umiejętności są wywoływane zgodnie z oczekiwaniami, porównując względne liczby wywołań między umiejętnościami a liczbą wywołań umiejętności do liczby dokumentów.
— Konfigurowanie alertu dotyczącego wywołań umiejętności, które zakończyły się niepowodzeniem

Poniższy zrzut ekranu przedstawia liczbę dokumentów przetwarzanych przez indeksatory w usłudze przez godzinę podzieloną według nazwy indeksatora.

Indexer documents processed metric

Możesz również skonfigurować wykres, aby zobaczyć liczbę wywołań umiejętności w tym samym interwale godzinowym.

Indexer skills invoked metric

Monitorowanie przy użyciu funkcji Uzyskiwanie stanu indeksatora (interfejs API REST)

Stan i historia wykonywania indeksatora można pobrać przy użyciu polecenia Pobierz stan indeksatora:

GET https://[service name].search.windows.net/indexers/[indexer name]/status?api-version=2020-06-30
api-key: [Search service admin key]

Odpowiedź zawiera ogólny stan indeksatora, ostatnie wywołanie indeksatora (lub w toku) oraz historię ostatnich wywołań indeksatora.

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

Historia wykonywania zawiera maksymalnie 50 najnowszych przebiegów, które są sortowane w odwrotnej kolejności chronologicznej (najnowsza pierwsza).

Zwróć uwagę, że istnieją dwie różne wartości stanu. Stan najwyższego poziomu dotyczy samego indeksatora. Stan indeksatora uruchomionego oznacza, że indeksator jest poprawnie skonfigurowany i dostępny do uruchomienia, ale nie jest aktualnie uruchomiony.

Każdy przebieg indeksatora ma również swój własny stan, który wskazuje, czy to konkretne wykonanie jest w toku (uruchomione), czy już ukończone z powodzeniem, przejściowymfailure lub stanem trwałymFailure.

Gdy indeksator zostanie zresetowany w celu odświeżenia stanu śledzenia zmian, zostanie dodany oddzielny wpis historii wykonywania ze stanem Resetowanie .

Aby uzyskać więcej informacji na temat kodów stanu i danych monitorowania indeksatora, zobacz Pobieranie stanu indeksatora.

Monitorowanie przy użyciu platformy .NET

Poniższy przykład w języku C# zapisuje informacje o stanie indeksatora i wynikach jego ostatniego (lub bieżącego) uruchomienia do konsoli.

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

Dane wyjściowe w konsoli będą wyglądać mniej więcej tak:

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

Zwróć uwagę, że istnieją dwie różne wartości stanu. Stan najwyższego poziomu to stan samego indeksatora. Stan indeksatora Uruchomiono oznacza, że indeksator jest poprawnie skonfigurowany i dostępny do wykonania, ale nie, że jest obecnie wykonywany.

Każdy przebieg indeksatora ma również swój własny stan dla tego, czy to konkretne wykonanie jest w toku (uruchomione), czy zostało już ukończone ze stanem Powodzenie lub TransientError .

Gdy indeksator zostanie zresetowany w celu odświeżenia stanu śledzenia zmian, zostanie dodany oddzielny wpis historii ze stanem Resetowanie .

Następne kroki

Aby uzyskać więcej informacji na temat kodów stanu i informacji monitorowania indeksatora, zobacz następujące informacje dotyczące interfejsu API: