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:
Przejdź do usługi Azure Machine Learning Studio.
Na lewym pasku nawigacyjnym wybierz stronę Punkty końcowe .
Wybierz punkt końcowy, klikając jego nazwę.
Wybierz pozycję Wyświetl metryki w sekcji Atrybuty punktu końcowego, aby otworzyć stronę metryk punktu końcowego w witrynie Azure Portal.
Wybierz pozycję Wyświetl metryki w sekcji dla każdego dostępnego wdrożenia, aby otworzyć stronę metryk wdrożenia w witrynie Azure Portal.
Aby uzyskać dostęp do metryk bezpośrednio z witryny Azure Portal:
Zaloguj się w witrynie Azure Portal.
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.
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
Kategoria | Metric | Nazwa w interfejsie API REST | Jednostka | Agregacja | Wymiary | Ziarna czasu | Eksportowanie ds |
---|---|---|---|---|---|---|---|
Ruch | Połączenia aktywne Całkowita liczba równoczesnych połączeń TCP aktywnych z klientów. |
ConnectionsActive |
Count | Średnia | <none> | PT1M | Nie. |
Ruch | Błędy zbierania danych na minutę Liczba zdarzeń zbierania danych spadła na minutę. |
DataCollectionErrorsPerMinute |
Count | Minimum, Maksimum, Średnia | deployment , , reason type |
PT1M | Nie. |
Ruch | Zdarzenia zbierania danych na minutę Liczba przetworzonych zdarzeń zbierania danych na minutę. |
DataCollectionEventsPerMinute |
Count | Minimum, Maksimum, Średnia | deployment , type |
PT1M | Nie. |
Ruch | Bajty sieciowe Bajty na sekundę obsługiwane dla punktu końcowego. |
NetworkBytes |
BytesPerSecond | Średnia | <none> | PT1M | Nie. |
Ruch | Nowe połączenia na sekundę Średnia liczba nowych połączeń TCP na sekundę ustanowionych na podstawie klientów. |
NewConnectionsPerSecond |
CountPerSecond | Średnia | <none> | PT1M | Nie. |
Ruch | Opóźnienie żądania Średni całkowity interwał czasu potrzebny na odpowiedź żądania w milisekundach |
RequestLatency |
Milisekundy | Średnia | deployment |
PT1M | Tak |
Ruch | Opóźnienie żądania P50 Średnie opóźnienie żądania P50 zagregowane według wszystkich wartości opóźnienia żądań zebranych w wybranym okresie |
RequestLatency_P50 |
Milisekundy | Średnia | deployment |
PT1M | Tak |
Ruch | Opóźnienie żądania P90 Średnie opóźnienie żądania P90 zagregowane według wszystkich wartości opóźnienia żądań zebranych w wybranym okresie |
RequestLatency_P90 |
Milisekundy | Średnia | deployment |
PT1M | Tak |
Ruch | Opóźnienie żądania P95 Średnie opóźnienie żądania P95 zagregowane przez wszystkie wartości opóźnienia żądań zebrane w wybranym okresie |
RequestLatency_P95 |
Milisekundy | Średnia | deployment |
PT1M | Tak |
Ruch | Opóźnienie żądania P99 Średnie opóźnienie żądania P99 zagregowane przez wszystkie wartości opóźnienia żądań zebrane w wybranym okresie |
RequestLatency_P99 |
Milisekundy | Średnia | deployment |
PT1M | Tak |
Ruch | Żądania na minutę Liczba żądań wysyłanych do punktu końcowego online w ciągu minuty |
RequestsPerMinute |
Count | Średnia | deployment , , statusCode , , statusCodeClass modelStatusCode |
PT1M | Nie. |
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
ims-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
Kategoria | Metric | Nazwa w interfejsie API REST | Jednostka | Agregacja | Wymiary | Ziarna czasu | Eksportowanie ds |
---|---|---|---|---|---|---|---|
Zasób | Procent wykorzystania pamięci procesora CPU Procent wykorzystania pamięci w wystąpieniu. Wykorzystanie jest zgłaszane w odstępach jednej minuty. |
CpuMemoryUtilizationPercentage |
Procent | Minimum, Maksimum, Średnia | instanceId |
PT1M | Tak |
Zasób | Procent wykorzystania procesora CPU Procent wykorzystania procesora CPU w wystąpieniu. Wykorzystanie jest zgłaszane w odstępach jednej minuty. |
CpuUtilizationPercentage |
Procent | Minimum, Maksimum, Średnia | instanceId |
PT1M | Tak |
Zasób | Błędy zbierania danych na minutę Liczba zdarzeń zbierania danych spadła na minutę. |
DataCollectionErrorsPerMinute |
Count | Minimum, Maksimum, Średnia | instanceId , , reason type |
PT1M | Nie. |
Zasób | Zdarzenia zbierania danych na minutę Liczba przetworzonych zdarzeń zbierania danych na minutę. |
DataCollectionEventsPerMinute |
Count | Minimum, Maksimum, Średnia | instanceId , type |
PT1M | Nie. |
Zasób | Pojemność wdrożenia Liczba wystąpień we wdrożeniu. |
DeploymentCapacity |
Count | Minimum, Maksimum, Średnia | instanceId , State |
PT1M | Nie. |
Zasób | Wykorzystanie dysku Procent wykorzystania dysku w wystąpieniu. Wykorzystanie jest zgłaszane w odstępach jednej minuty. |
DiskUtilization |
Procent | Minimum, Maksimum, Średnia | instanceId , disk |
PT1M | Tak |
Zasób | Energia procesora GPU w joulesach Interwał energii w joules w węźle procesora GPU. Energia jest zgłaszana w odstępach jednej minuty. |
GpuEnergyJoules |
Count | Minimum, Maksimum, Średnia | instanceId |
PT1M | Nie. |
Zasób | Procent wykorzystania pamięci procesora GPU Procent wykorzystania pamięci procesora GPU w wystąpieniu. Wykorzystanie jest zgłaszane w odstępach jednej minuty. |
GpuMemoryUtilizationPercentage |
Procent | Minimum, Maksimum, Średnia | instanceId |
PT1M | Tak |
Zasób | Procent wykorzystania procesora GPU Procent wykorzystania procesora GPU w wystąpieniu. Wykorzystanie jest zgłaszane w odstępach jednej minuty. |
GpuUtilizationPercentage |
Procent | Minimum, Maksimum, Średnia | instanceId |
PT1M | Tak |
Ruch | Opóźnienie żądania P50 Średnie opóźnienie żądania P50 zagregowane według wszystkich wartości opóźnienia żądań zebranych w wybranym okresie |
RequestLatency_P50 |
Milisekundy | Średnia | <none> | PT1M | Tak |
Ruch | Opóźnienie żądania P90 Średnie opóźnienie żądania P90 zagregowane według wszystkich wartości opóźnienia żądań zebranych w wybranym okresie |
RequestLatency_P90 |
Milisekundy | Średnia | <none> | PT1M | Tak |
Ruch | Opóźnienie żądania P95 Średnie opóźnienie żądania P95 zagregowane przez wszystkie wartości opóźnienia żądań zebrane w wybranym okresie |
RequestLatency_P95 |
Milisekundy | Średnia | <none> | PT1M | Tak |
Ruch | Opóźnienie żądania P99 Średnie opóźnienie żądania P99 zagregowane przez wszystkie wartości opóźnienia żądań zebrane w wybranym okresie |
RequestLatency_P99 |
Milisekundy | Średnia | <none> | PT1M | Tak |
Ruch | Żądania na minutę Liczba żądań wysyłanych do wdrożenia online w ciągu minuty |
RequestsPerMinute |
Count | Średnia | envoy_response_code |
PT1M | Nie. |
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:
W prawym górnym rogu strony metryk wybierz pozycję Nowa reguła alertu.
Wybierz nazwę warunku, aby określić, kiedy powinien zostać wyzwolony alert.
Wybierz pozycję Dodaj grupy akcji Utwórz grupy> akcji, aby określić, co powinno się zdarzyć po wyzwoleniu alertu.
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.
W witrynie Azure Portal przejdź do grupy zasobów zawierającej punkt końcowy, a następnie wybierz punkt końcowy.
W sekcji Monitorowanie po lewej stronie wybierz pozycję Ustawienia diagnostyczne, a następnie pozycję Dodaj ustawienia.
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.
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.
Prześlij żądania oceniania do punktu końcowego. To działanie powinno tworzyć wpisy w dziennikach.
We właściwościach punktu końcowego online lub w obszarze roboczym usługi Log Analytics wybierz pozycję Dzienniki z lewej strony ekranu.
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 .
Wybierz Uruchom.
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.
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.
Powiązana zawartość
- Dowiedz się, jak wyświetlać koszty wdrożonego punktu końcowego.
- Przeczytaj więcej na temat Eksploratora metryk.