Udostępnij za pośrednictwem


Monitorowanie punktów końcowych online

Usługa Azure Machine Learning używa integracji z usługą Azure Monitor do śledzenia i monitorowania metryk i dzienników dla punktów końcowych online. Metryki można wyświetlać na wykresach, porównywać między punktami końcowymi i wdrożeniami, przypinać do pulpitów nawigacyjnych witryny Azure Portal, konfigurować alerty, wykonywać zapytania z tabel dzienników i wypychać dzienniki do obsługiwanych obiektów docelowych. Możesz również użyć usługi Application Insights do analizowania zdarzeń z kontenerów użytkowników.

  • Metryki: w przypadku metryk na poziomie punktu końcowego, takich jak opóźnienie żądań, żądania na minutę, nowe połączenia na sekundę i bajty sieciowe, możesz przejść do szczegółów, aby wyświetlić szczegółowe informacje na poziomie wdrożenia lub na poziomie stanu. Metryki na poziomie wdrożenia, takie jak użycie procesora CPU/procesora GPU i użycie pamięci lub dysku, można również przejść do szczegółów na poziomie wystąpienia. Usługa Azure Monitor umożliwia śledzenie tych metryk na wykresach oraz konfigurowanie pulpitów nawigacyjnych i alertów w celu dalszej analizy.

  • Dzienniki: Metryki można wysyłać do obszaru roboczego usługi Log Analytics, w którym można wykonywać zapytania dotyczące dzienników przy użyciu składni zapytań Kusto. Możesz również wysyłać metryki do kont usługi Azure Storage i/lub usługi Event Hubs w celu dalszego przetwarzania. Ponadto można używać dedykowanych tabel dzienników dla dzienników związanych z punktami końcowymi online, ruchu i konsoli (kontenera). Zapytanie Kusto umożliwia złożoną analizę i łączenie wielu tabel.

  • Application Insights: środowiska nadzorowane obejmują integrację z usługą Application Insights i można włączyć lub wyłączyć tę integrację podczas tworzenia wdrożenia online. Wbudowane metryki i dzienniki są wysyłane do usługi Application Insights i można używać wbudowanych funkcji usługi Application Insights (takich jak metryki na żywo, wyszukiwanie transakcji, niepowodzenia i wydajność) w celu dalszej analizy.

W tym artykule omówiono sposób wykonywania następujących zadań:

  • Wybieranie właściwej metody do wyświetlania i śledzenia metryk i dzienników
  • Wyświetlanie metryk dla punktu końcowego online
  • Tworzenie pulpitu nawigacyjnego dla metryk
  • Tworzenie alertu dotyczącego metryki
  • Wyświetlanie dzienników dla punktu końcowego online
  • Śledzenie metryk i dzienników przy użyciu usługi Application Insights

Wymagania wstępne

  • Wdrażanie punktu końcowego online usługi Azure Machine Learning.
  • Musisz mieć co najmniej dostęp czytelnika do punktu końcowego.

Metryki

Strony metryk dla punktów końcowych lub wdrożeń online można wyświetlić w witrynie Azure Portal. Łatwym sposobem uzyskiwania dostępu do tych stron metryk jest linki dostępne w interfejsie użytkownika usługi Azure Machine Learning Studio — w szczególności na karcie Szczegóły strony punktu końcowego. Poniższe linki prowadzą do dokładnej strony metryk w witrynie Azure Portal na potrzeby punktu końcowego lub wdrożenia. Alternatywnie możesz również przejść do witryny Azure Portal, aby wyszukać stronę metryk dla punktu końcowego lub wdrożenia.

Aby uzyskać dostęp do stron metryk za pośrednictwem linków dostępnych w programie Studio:

  1. Przejdź do usługi Azure Machine Learning Studio.

  2. Na lewym pasku nawigacyjnym wybierz stronę Punkty końcowe .

  3. Wybierz punkt końcowy, klikając jego nazwę.

  4. Wybierz pozycję Wyświetl metryki w sekcji Atrybuty punktu końcowego, aby otworzyć stronę metryk punktu końcowego w witrynie Azure Portal.

  5. Wybierz pozycję Wyświetl metryki w sekcji dla każdego dostępnego wdrożenia, aby otworzyć stronę metryk wdrożenia w witrynie Azure Portal.

    Zrzut ekranu przedstawiający sposób uzyskiwania dostępu do metryk punktu końcowego i wdrożenia z poziomu interfejsu użytkownika programu Studio.

Aby uzyskać dostęp do metryk bezpośrednio z witryny Azure Portal:

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do punktu końcowego online lub zasobu wdrożenia.

    Punkty końcowe i wdrożenia online to zasoby usługi Azure Resource Manager (ARM), które można znaleźć, przechodząc do własnej grupy zasobów. Wyszukaj typy zasobów Punkt końcowy online usługi Machine Learning i Wdrożenie online usługi Machine Learning.

  3. W kolumnie po lewej stronie wybierz pozycję Metryki.

Dostępne metryki

W zależności od wybranego zasobu metryki będą inne. Metryki różnią się zakresem dla punktów końcowych online i wdrożeń online.

Metryki w zakresie punktu końcowego

  • Ruch
Identyfikator metryki Jednostka opis Aggregate, metoda Tabela podziału według Przykładowe alerty metryk
RequestsPerMinute Count Liczba żądań wysyłanych do punktu końcowego w ciągu minuty Średnia Wdrażanie, ModelStatusCode, StatusCode, StatusCodeClass Ostrzegaj mnie, gdy mam <= 0 transakcji w systemie
RequestLatency Milisekundy Pełny interwał czasu potrzebny na udzielenie odpowiedzi na żądanie Średnia Wdrożenie Ostrzegaj mnie, gdy średnie opóźnienie > wynosi 2 s
RequestLatency_P50 Milisekundy Opóźnienie żądania z 50. percentylu zagregowane przez wszystkie wartości opóźnienia żądań zebrane w okresie 60 sekund Średnia Wdrożenie Ostrzegaj mnie, gdy średnie opóźnienie > wynosi 2 s
RequestLatency_P90 Milisekundy Opóźnienie żądania w 90. percentylu zagregowane przez wszystkie wartości opóźnienia żądań zebrane w okresie 60 sekund Średnia Wdrożenie Ostrzegaj mnie, gdy średnie opóźnienie > wynosi 2 s
RequestLatency_P95 Milisekundy Opóźnienie żądania w 95. percentylu zagregowane przez wszystkie wartości opóźnienia żądań zebrane w okresie 60 sekund Średnia Wdrożenie Ostrzegaj mnie, gdy średnie opóźnienie > wynosi 2 s
RequestLatency_P99 Milisekundy Opóźnienie żądania w 99. percentylu zagregowane przez wszystkie wartości opóźnienia żądań zebrane w okresie 60 sekund Średnia Wdrożenie Ostrzegaj mnie, gdy średnie opóźnienie > wynosi 2 s
  • Sieciowe
Identyfikator metryki Jednostka opis Aggregate, metoda Tabela podziału według Przykładowe alerty metryk
Liczba bajtów sieci Bajty na sekundę Bajty na sekundę obsługiwane dla punktu końcowego Średnia - -
PołączeniaAktywne Count Całkowita liczba równoczesnych połączeń TCP aktywnych od klientów Średnia - -
NewConnectionsPerSecond Count Średnia liczba nowych połączeń TCP na sekundę ustanowionych na podstawie klientów Średnia - -
  • Zbieranie danych modelu
Identyfikator metryki Jednostka opis Aggregate, metoda Tabela podziału według Przykładowe alerty metryk
DataCollectionEventsPerMinute Count Liczba przetworzonych zdarzeń zbierania danych na minutę Średnia Wdrożenie, typ -
DataCollectionErrorsPerMinute Count Liczba zdarzeń zbierania danych porzuconych na minutę Średnia Wdrożenie, typ, przyczyna -

Można na przykład podzielić wymiar wdrożenia, aby porównać opóźnienie żądań różnych wdrożeń w punkcie końcowym.

Ograniczanie przepustowości

Przepustowość zostanie ograniczona, jeśli limity przydziału zostaną przekroczone dla zarządzanych punktów końcowych online. Aby uzyskać więcej informacji na temat limitów, zobacz artykuł dotyczący limitów dla punktów końcowych online. Aby określić, czy żądania są ograniczane:

  • Monitorowanie metryki "Bajty sieciowe"
  • Zwiastuny odpowiedzi będą miały pola: ms-azureml-bandwidth-request-delay-ms i ms-azureml-bandwidth-response-delay-ms. Wartości pól to opóźnienia w milisekundach ograniczania przepustowości. Aby uzyskać więcej informacji, zobacz Problemy z limitem przepustowości.

Metryki w zakresie wdrażania

  • Nasycenie
Identyfikator metryki Jednostka opis Aggregate, metoda Tabela podziału według Przykładowe alerty metryk
Procesor CPUU cpuPercentage Procent Ile procent użycia procesora CPU Minimun, maksimum, średnia InstanceId Ostrzegaj mnie, gdy % pojemności użyto > 75%
CpuMemoryU awariaPercentage Procent Jaki procent pamięci został wykorzystany Minimun, maksimum, średnia InstanceId
DiskU awaria Procent Ile miejsca na dysku zostało wykorzystane Minimun, maksimum, średnia InstanceId, Disk
GpuUprocesorPercentage Procent Procent wykorzystania procesora GPU w wystąpieniu — użycie jest zgłaszane w odstępach jednej minuty Minimun, maksimum, średnia InstanceId
GpuMemoryUprocesorPercentage Procent Procent wykorzystania pamięci procesora GPU w wystąpieniu — użycie jest zgłaszane w odstępach jednej minuty Minimun, maksimum, średnia InstanceId
Gpu EnergyJoules Dżul Energia interwału w joules w węźle procesora GPU — energia jest zgłaszana w odstępach jednej minuty Minimun, maksimum, średnia InstanceId
  • Dostępność
Identyfikator metryki Jednostka opis Aggregate, metoda Tabela podziału według Przykładowe alerty metryk
DeploymentCapacity Count Liczba wystąpień we wdrożeniu Minimum, Maksimum, Średnia InstanceId, State Ostrzegaj mnie, gdy % dostępności mojej usługi spadnie poniżej 100%
  • Ruch
Identyfikator metryki Jednostka opis Aggregate, metoda Tabela podziału według Przykładowe alerty metryk
RequestsPerMinute Count Liczba żądań wysyłanych do wdrożenia online w ciągu minuty Średnia StatusCode Ostrzegaj mnie, gdy mam <= 0 transakcji w systemie
RequestLatency_P50 Milisekundy Średnie opóźnienie żądania P50 zagregowane według wszystkich wartości opóźnienia żądań zebranych w wybranym okresie Średnia - Ostrzegaj mnie, gdy średnie opóźnienie > wynosi 2 s
RequestLatency_P90 Milisekundy Średnie opóźnienie żądania P90 zagregowane według wszystkich wartości opóźnienia żądań zebranych w wybranym okresie Średnia - Ostrzegaj mnie, gdy średnie opóźnienie > wynosi 2 s
RequestLatency_P95 Milisekundy Średnie opóźnienie żądania P95 zagregowane przez wszystkie wartości opóźnienia żądań zebrane w wybranym okresie Średnia - Ostrzegaj mnie, gdy średnie opóźnienie > wynosi 2 s
RequestLatency_P99 Milisekundy Średnie opóźnienie żądania P99 zagregowane przez wszystkie wartości opóźnienia żądań zebrane w wybranym okresie Średnia - Ostrzegaj mnie, gdy średnie opóźnienie > wynosi 2 s
  • Zbieranie danych modelu
Identyfikator metryki Jednostka opis Aggregate, metoda Tabela podziału według Przykładowe alerty metryk
DataCollectionEventsPerMinute Count Liczba przetworzonych zdarzeń zbierania danych na minutę Średnia InstanceId, typ -
DataCollectionErrorsPerMinute Count Liczba zdarzeń zbierania danych porzuconych na minutę Średnia InstanceId, Type, Reason -

Można na przykład porównać użycie procesora CPU i/lub pamięci między wystąpieniami różnicy dla wdrożenia online.

Tworzenie pulpitów nawigacyjnych i alertów

Usługa Azure Monitor umożliwia tworzenie pulpitów nawigacyjnych i alertów na podstawie metryk.

Tworzenie pulpitów nawigacyjnych i wizualizowanie zapytań

Możesz tworzyć niestandardowe pulpity nawigacyjne i wizualizować metryki z wielu źródeł w witrynie Azure Portal, w tym metryki dla punktu końcowego online. Aby uzyskać więcej informacji na temat tworzenia pulpitów nawigacyjnych i wizualizowania zapytań, zobacz Pulpity nawigacyjne korzystające z danych dziennika i Pulpity nawigacyjne korzystające z danych aplikacji.

Tworzenie alertów

Możesz również utworzyć alerty niestandardowe, aby otrzymywać powiadomienia o ważnych aktualizacjach stanu punktu końcowego online:

  1. W prawym górnym rogu strony metryk wybierz pozycję Nowa reguła alertu.

    Zrzut ekranu przedstawiający przycisk

  2. Wybierz nazwę warunku, aby określić, kiedy powinien zostać wyzwolony alert.

    Zrzut ekranu przedstawiający przycisk

  3. Wybierz pozycję Dodaj grupy akcji Utwórz grupy> akcji, aby określić, co powinno się zdarzyć po wyzwoleniu alertu.

  4. Wybierz pozycję Utwórz regułę alertu, aby zakończyć tworzenie alertu.

Aby uzyskać więcej informacji, zobacz Tworzenie reguł alertów usługi Azure Monitor.

Włączanie automatycznego skalowania na podstawie metryk

Skalowanie automatyczne wdrożeń można włączyć przy użyciu metryk przy użyciu interfejsu użytkownika lub kodu. Jeśli używasz kodu (interfejsu wiersza polecenia lub zestawu SDK), możesz użyć identyfikatorów metryk wymienionych w tabeli dostępnych metryk w warunku wyzwalania skalowania automatycznego. Aby uzyskać więcej informacji, zobacz Autoskalowanie punktów końcowych online.

Dzienniki

Istnieją trzy dzienniki, które można włączyć dla punktów końcowych online:

  • AmlOnlineEndpointTrafficLog: możesz włączyć dzienniki ruchu, jeśli chcesz sprawdzić informacje o żądaniu. Poniżej przedstawiono kilka przypadków:

    • Jeśli odpowiedź nie jest 200, sprawdź wartość kolumny "ResponseCodeReason", aby zobaczyć, co się stało. Sprawdź również przyczynę w sekcji "Kody stanu HTTPS" artykułu Rozwiązywanie problemów z punktami końcowymi online.

    • Możesz sprawdzić kod odpowiedzi i przyczynę odpowiedzi modelu z kolumny "ModelStatusCode" i "ModelStatusReason".

    • Chcesz sprawdzić czas trwania żądania, taki jak całkowity czas trwania, czas trwania żądania/odpowiedzi i opóźnienie spowodowane ograniczaniem przepustowości sieci. Możesz sprawdzić je z dzienników, aby zobaczyć opóźnienie podziału.

    • Jeśli chcesz sprawdzić liczbę żądań lub żądań, które ostatnio zakończyły się niepowodzeniem. Można również włączyć dzienniki.

  • AmlOnlineEndpointConsoleLog: zawiera dzienniki wyjściowe kontenerów do konsoli. Poniżej przedstawiono kilka przypadków:

    • Jeśli uruchomienie kontenera nie powiedzie się, dziennik konsoli może być przydatny do debugowania.

    • Monitoruj zachowanie kontenera i upewnij się, że wszystkie żądania są poprawnie obsługiwane.

    • Zapisz identyfikatory żądań w dzienniku konsoli. Dołączanie identyfikatora żądania, AmlOnlineEndpointConsoleLog i AmlOnlineEndpointTrafficLog w obszarze roboczym usługi Log Analytics umożliwia śledzenie żądania z punktu wejścia sieciowego punktu końcowego online do kontenera.

    • Tego dziennika można również użyć do analizy wydajności w określaniu czasu wymaganego przez model do przetworzenia każdego żądania.

  • AmlOnlineEndpointEventLog: zawiera informacje o zdarzeniach dotyczące cyklu życia kontenera. Obecnie udostępniamy informacje o następujących typach zdarzeń:

    Nazwisko Komunikat
    Wycofywanie Wycofywanie ponownego uruchamiania kontenera nie powiodło się
    Wyciągnął Obraz kontenera "<IMAGE_NAME>" już obecny na maszynie
    Zabijania Sonda liveness serwera wnioskowania kontenera nie powiodła się. Zostanie ponownie uruchomiona
    Utworzone Utworzono kontener image-fetcher
    Utworzone Utworzono kontener inference-server
    Utworzone Utworzono instalację modelu kontenera
    LivenessProbeFailed Sonda liveness nie powiodła się: <FAILURE_CONTENT>
    GotowośćProbeFailed Sonda gotowości nie powiodła się: <FAILURE_CONTENT>
    Rozpoczęto Uruchomiono moduł image-fetcher kontenera
    Rozpoczęto Uruchomiono wnioskowanie kontenera-server
    Rozpoczęto Rozpoczęto instalowanie modelu kontenera
    Zabijania Zatrzymywanie wnioskowania kontenera-server
    Zabijania Zatrzymywanie instalacji modelu kontenera

Jak włączyć/wyłączyć dzienniki

Ważne

Rejestrowanie korzysta z usługi Azure Log Analytics. Jeśli obecnie nie masz obszaru roboczego usługi Log Analytics, możesz go utworzyć, wykonując kroki opisane w temacie Tworzenie obszaru roboczego usługi Log Analytics w witrynie Azure Portal.

  1. W witrynie Azure Portal przejdź do grupy zasobów zawierającej punkt końcowy, a następnie wybierz punkt końcowy.

  2. W sekcji Monitorowanie po lewej stronie wybierz pozycję Ustawienia diagnostyczne, a następnie pozycję Dodaj ustawienia.

  3. Wybierz kategorie dzienników, które chcesz włączyć, wybierz pozycję Wyślij do obszaru roboczego usługi Log Analytics, a następnie wybierz obszar roboczy usługi Log Analytics do użycia. Na koniec wprowadź nazwę ustawienia diagnostycznego i wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający okno dialogowe ustawień diagnostycznych.

    Ważne

    Włączenie połączenia z obszarem roboczym usługi Log Analytics może potrwać do godziny. Poczekaj godzinę, zanim przejdziesz do następnych kroków.

  4. Prześlij żądania oceniania do punktu końcowego. To działanie powinno tworzyć wpisy w dziennikach.

  5. We właściwościach punktu końcowego online lub w obszarze roboczym usługi Log Analytics wybierz pozycję Dzienniki z lewej strony ekranu.

  6. Zamknij okno dialogowe Zapytania, które zostanie otwarte automatycznie, a następnie kliknij dwukrotnie dziennik AmlOnlineEndpointConsoleLog. Jeśli go nie widzisz, użyj pola Wyszukaj .

    Zrzut ekranu przedstawiający zapytania dziennika.

  7. Wybierz Uruchom.

    Zrzuty ekranu wyników po uruchomieniu zapytania.

Przykładowe zapytania

Przykładowe zapytania można znaleźć na karcie Zapytania podczas wyświetlania dzienników. Wyszukaj punkt końcowy online, aby znaleźć przykładowe zapytania.

Zrzut ekranu przedstawiający przykładowe zapytania.

Szczegóły kolumny dziennika

Poniższe tabele zawierają szczegółowe informacje o danych przechowywanych w każdym dzienniku:

AmlOnlineEndpointTrafficLog

Właściwości opis
Metoda Żądana metoda od klienta.
Ścieżka Żądana ścieżka z klienta.
SubscriptionId Identyfikator subskrypcji uczenia maszynowego punktu końcowego online.
AzureMLWorkspaceId Identyfikator obszaru roboczego uczenia maszynowego punktu końcowego online.
AzureMLWorkspaceName Nazwa obszaru roboczego uczenia maszynowego punktu końcowego online.
Nazwa punktu końcowego Nazwa punktu końcowego online.
Nazwa wdrożenia Nazwa wdrożenia online.
Protokół Protokół żądania.
Kod odpowiedzi Końcowy kod odpowiedzi został zwrócony klientowi.
ResponseCodeReason Ostateczna przyczyna kodu odpowiedzi została zwrócona klientowi.
ModelStatusCode Kod stanu odpowiedzi z modelu.
ModelStatusReason Przyczyna stanu odpowiedzi z modelu.
RequestPayloadSize Łączna liczba bajtów odebranych od klienta.
ResponsePayloadSize Łączna liczba bajtów wysłanych z powrotem do klienta.
UserAgent Nagłówek żądania user-agent, w tym komentarze, ale obcięty do maksymalnie 70 znaków.
Identyfikator XRequestId Identyfikator żądania wygenerowany przez usługę Azure Machine Learning na potrzeby śledzenia wewnętrznego.
XMSClientRequestId Identyfikator śledzenia wygenerowany przez klienta.
TotalDurationMs Czas trwania w milisekundach od godziny rozpoczęcia żądania do ostatniego bajtu odpowiedzi wysłanego z powrotem do klienta. Jeśli klient zostanie odłączony, mierzy od czasu rozpoczęcia do czasu rozłączenia klienta.
RequestDurationMs Czas trwania w milisekundach od godziny rozpoczęcia żądania do ostatniego bajtu żądania otrzymanego od klienta.
ResponseDurationMs Czas trwania w milisekundach od godziny rozpoczęcia żądania do pierwszego bajtu odpowiedzi odczytanego z modelu.
RequestThrottlingDelayMs Opóźnienie w milisekundach w żądaniu transferu danych z powodu ograniczania przepustowości sieci.
ResponseThrottlingDelayMs Opóźnienie w milisekundach transferu danych odpowiedzi z powodu ograniczania przepustowości sieci.

AmlOnlineEndpointConsoleLog

Właściwości opis
TimeGenerated Sygnatura czasowa (UTC) czasu wygenerowania dziennika.
OperationName Operacja skojarzona z rekordem dziennika.
InstanceId Identyfikator wystąpienia, które wygenerowało ten rekord dziennika.
Nazwa wdrożenia Nazwa wdrożenia skojarzonego z rekordem dziennika.
NazwaKontenera Nazwa kontenera, w którym został wygenerowany dziennik.
Komunikat Zawartość dziennika.

AmlOnlineEndpointEventLog

Właściwości opis
TimeGenerated Sygnatura czasowa (UTC) czasu wygenerowania dziennika.
OperationName Operacja skojarzona z rekordem dziennika.
InstanceId Identyfikator wystąpienia, które wygenerowało ten rekord dziennika.
Nazwa wdrożenia Nazwa wdrożenia skojarzonego z rekordem dziennika.
Nazwisko Nazwa zdarzenia.
Komunikat Zawartość zdarzenia.

Korzystanie z usługi Application Insights

Wyselekcjonowane środowiska obejmują integrację z usługą Application Insights i można włączyć lub wyłączyć tę integrację podczas tworzenia wdrożenia online. Wbudowane metryki i dzienniki są wysyłane do usługi Application Insights i można używać wbudowanych funkcji usługi Application Insights (takich jak metryki na żywo, wyszukiwanie transakcji, niepowodzenia i wydajność) w celu dalszej analizy.

Aby uzyskać więcej informacji, zobacz Omówienie usługi Application Insights.

W programie Studio możesz użyć karty Monitorowanie na stronie punktu końcowego online, aby wyświetlić wykresy monitorowania aktywności wysokiego poziomu dla zarządzanego punktu końcowego online. Aby użyć karty monitorowania, należy wybrać pozycję Włącz diagnostykę i zbieranie danych usługi Application Insights podczas tworzenia punktu końcowego.

Zrzut ekranu przedstawiający monitorowanie metryk na poziomie punktu końcowego w programie Studio.