Wykrywanie i eliminowanie potencjalnych problemów przy użyciu metodyki AIOps i uczenia maszynowego w usłudze Azure Monitor

Sztuczna inteligencja dla operacji IT (AIOps) oferuje zaawansowane sposoby poprawy jakości i niezawodności usług przy użyciu uczenia maszynowego do przetwarzania i automatycznego działania na danych zbieranych z aplikacji, usług i zasobów IT do usługi Azure Monitor.

Wbudowane funkcje sztucznej inteligencji w usłudze Azure Monitor zapewniają szczegółowe informacje i ułatwiają rozwiązywanie problemów oraz automatyzowanie zadań opartych na danych, takich jak przewidywanie użycia pojemności i skalowanie automatyczne, identyfikowanie i analizowanie problemów z wydajnością aplikacji oraz wykrywanie nietypowych zachowań na maszynach wirtualnych, kontenerach i innych zasobach. Te funkcje zwiększają monitorowanie i operacje IT bez konieczności znajomości uczenia maszynowego i dalszych inwestycji.

Usługa Azure Monitor udostępnia również narzędzia, które umożliwiają tworzenie własnego potoku uczenia maszynowego w celu wprowadzenia nowych funkcji analizy i odpowiedzi oraz działania na danych w dziennikach usługi Azure Monitor.

W tym artykule opisano wbudowane funkcje AIOps usługi Azure Monitor i wyjaśniono, jak można tworzyć i uruchamiać dostosowane modele uczenia maszynowego oraz tworzyć zautomatyzowany potok uczenia maszynowego na danych w dziennikach usługi Azure Monitor.

Wbudowane funkcje AIOps i uczenia maszynowego w usłudze Azure Monitor

Scenariusz monitorowania Możliwość opis
Monitorowanie dzienników Obszar roboczy usługi Log Analytics — szczegółowe informacje Zapewnia ujednolicony widok obszarów roboczych usługi Log Analytics i używa uczenia maszynowego do wykrywania anomalii pozyskiwania.
język zapytań Kusto (KQL) analizy szeregów czasowych i funkcji uczenia maszynowego Łatwe w użyciu narzędzia do generowania danych szeregów czasowych, wykrywania anomalii, prognozowania i przeprowadzania analizy głównej przyczyny bezpośrednio w dziennikach usługi Azure Monitor bez konieczności dogłębnej znajomości języków nauki o danych i programowania.
Microsoft Copilot dla platformy Azure Ułatwia korzystanie z usługi Log Analytics do analizowania danych i rozwiązywania problemów. Generuje przykładowe zapytania KQL na podstawie monitów, takich jak "Czy w dziennikach kontenera występują błędy?".
Monitorowanie wydajności aplikacji Widok inteligentny mapy aplikacji Mapy zależności między usługami i pomaga wykrywać wąskie gardła wydajności lub hotspoty błędów we wszystkich składnikach aplikacji rozproszonej.
Inteligentne wykrywanie Analizuje dane telemetryczne wysyłane przez aplikację do usługi Application Szczegółowe informacje, alerty dotyczące problemów z wydajnością i anomalii w zakresie awarii oraz identyfikuje potencjalne główne przyczyny problemów z wydajnością aplikacji.
Alerty dotyczące metryk Progi dynamiczne alertów dotyczących metryk Poznaje wzorce metryk, automatycznie ustawia progi alertów na podstawie danych historycznych i identyfikuje anomalie, które mogą wskazywać na problemy z usługą.
Zestawy skalowania maszyn wirtualnych Automatyczne skalowanie predykcyjne Prognozuje ogólne wymagania procesora CPU zestawu skalowania maszyn wirtualnych na podstawie historycznych wzorców użycia procesora CPU i automatycznie skaluje się w poziomie w celu spełnienia tych potrzeb.

Uczenie maszynowe w dziennikach usługi Azure Monitor

Użyj wbudowanej analizy szeregów czasowych i funkcji uczenia maszynowego, operatorów i wtyczek język zapytań Kusto, aby uzyskać szczegółowe informacje na temat kondycji, użycia, pojemności i innych trendów oraz generowania prognoz i wykrywania anomalii w dziennikach usługi Azure Monitor.

Aby uzyskać większą elastyczność i zwiększyć możliwość analizowania i wykonywania działań na danych, możesz również zaimplementować własny potok uczenia maszynowego na danych w dziennikach usługi Azure Monitor.

W tej tabeli porównaliśmy zalety i ograniczenia korzystania z wbudowanych funkcji uczenia maszynowego języka KQL oraz tworzenia własnego potoku uczenia maszynowego oraz linki do samouczków, które pokazują, jak można zaimplementować poszczególne elementy:

Wbudowane możliwości uczenia maszynowego KQL Tworzenie własnego potoku uczenia maszynowego
Scenariusz ✅ Wykrywanie anomalii, główna przyczyna i analiza szeregów czasowych
✅ Wykrywanie anomalii, główna przyczyna i analiza szeregów czasowych
Zaawansowane scenariusze analizy i AIOPs
Zalety 🔹Bardzo szybko zaczynasz pracę.
🔹Nie jest wymagana wiedza na temat nauki o danych i umiejętności programistycznych.
🔹 Optymalna wydajność i oszczędność kosztów.
🔹Obsługuje większe skalowanie.
🔹Umożliwia zaawansowane, bardziej złożone scenariusze.
🔹Elastyczność wybierania bibliotek, modeli, parametrów.
Limity usług i woluminy danych Limity zapytań dzienników interfejsu API zapytań lub witryny Azure Portal lub zapytań interfejsu API zależą od tego, czy pracujesz w portalu, czy przy użyciu interfejsu API, na przykład z poziomu notesu. 🔹Zapytania dotyczące limitów zapytań dzienników interfejsu API w przypadku wykonywania zapytań dotyczących danych w dziennikach usługi Azure Monitor w ramach potoku uczenia maszynowego. W przeciwnym razie żadne limity usługi platformy Azure.
🔹Może obsługiwać większe woluminy danych.
Integracja aplikacji Brak wymaganych. Uruchamianie przy użyciu usługi Log Analytics w witrynie Azure Portal lub zintegrowanego notesu Jupyter Notebook. Wymaga integracji z narzędziem, takim jak Jupyter Notebook. Zazwyczaj integrujesz się również z innymi usługami platformy Azure, takimi jak Azure Synapse Analytics.
Wydajność Optymalna wydajność przy użyciu platformy Azure Data Explorer działająca na dużą skalę w sposób rozproszony. Wprowadza niewielkie opóźnienie podczas wykonywania zapytań lub eksportowania danych w zależności od sposobu implementowania potoku uczenia maszynowego.
Typ modelu Model regresji liniowej i inne modele obsługiwane przez funkcje szeregów czasowych KQL z zestawem konfigurowalnych parametrów. Całkowicie dostosowywany model uczenia maszynowego lub metoda wykrywania anomalii.
Koszty Bez dodatkowych kosztów. W zależności od sposobu implementowania potoku uczenia maszynowego mogą być naliczane opłaty za eksportowanie danych, pozyskiwanie ocenianych danych do dzienników usługi Azure Monitor oraz korzystanie z innych usług platformy Azure.
Samouczek Wykrywanie i analizowanie anomalii przy użyciu funkcji uczenia maszynowego KQL w usłudze Azure Monitor Analizowanie danych w dziennikach usługi Azure Monitor przy użyciu notesu

Tworzenie własnego potoku uczenia maszynowego na danych w dziennikach usługi Azure Monitor

Utwórz własny potok uczenia maszynowego na danych w dziennikach usługi Azure Monitor, aby wprowadzić nowe możliwości usługi AIOps i obsługiwać zaawansowane scenariusze, takie jak:

  • Wyszukiwanie ataków na zabezpieczenia z bardziej zaawansowanymi modelami niż te przez KQL.
  • Wykrywanie problemów z wydajnością i rozwiązywanie problemów z błędami w aplikacji internetowej.
  • Tworzenie przepływów wieloetapowych, uruchamianie kodu w każdym kroku na podstawie wyników poprzedniego kroku.
  • Automatyzacja analizy danych dziennika usługi Azure Monitor i uzyskiwanie szczegółowych informacji na temat wielu obszarów, w tym kondycji infrastruktury i zachowania klientów.
  • Korelowanie danych w dziennikach usługi Azure Monitor z danymi z innych źródeł.

Istnieją dwa podejścia do udostępniania danych w dziennikach usługi Azure Monitor potokowi uczenia maszynowego:

W tej tabeli porównaliśmy zalety i ograniczenia metod pobierania danych dla potoku uczenia maszynowego:

Wykonywanie zapytań dotyczących danych w dziennikach usługi Azure Monitor Eksportowanie danych
Zalety 🔹Umożliwia szybkie rozpoczęcie pracy.
🔹Wymaga tylko podstawowych umiejętności nauki o danych i programowania.
🔹Minimalne opóźnienia i oszczędności kosztów.
🔹Obsługuje większe skalowanie.
🔹Brak ograniczeń zapytań.
Wyeksportowane dane? Nie. Tak
Limity usługi Limity zapytań dzienników interfejsu API zapytań i ograniczanie zapytań użytkownika. Limity interfejsu API zapytań można przezwyciężyć w pewnym stopniu, dzieląc większe zapytania na fragmenty. Brak z usługi Azure Monitor.
Woluminy danych Przeanalizuj kilka gb danych lub kilka milionów rekordów na godzinę. Obsługuje duże ilości danych.
Biblioteka uczenia maszynowego W przypadku małych i średnich zestawów danych zwykle używa się bibliotek uczenia maszynowego z jednym węzłem, takich jak Scikit Learn. W przypadku dużych zestawów danych zwykle używa się bibliotek uczenia maszynowego danych big data, takich jak SynapseML.
Opóźnienie Minimalne. Wprowadza niewielkie opóźnienie podczas eksportowania danych.
Koszty Brak dodatkowych opłat w usłudze Azure Monitor.
Koszt usługi Azure Synapse Analytics, usługi Azure Machine Edukacja lub innej usługi, jeśli jest używana.
Koszt eksportu danych i magazynu zewnętrznego.
Koszt usługi Azure Synapse Analytics, usługi Azure Machine Edukacja lub innej usługi, jeśli jest używana.

Napiwek

Aby skorzystać z najlepszych metod implementacji, utwórz potok hybrydowy. Typowym podejściem hybrydowym jest eksportowanie danych na potrzeby trenowania modelu, które obejmuje duże ilości danych oraz używanie danych zapytań w dziennikach usługi Azure Monitor w celu eksplorowania danych i oceniania nowych danych w celu zmniejszenia opóźnień i kosztów.

Implementowanie kroków cyklu życia uczenia maszynowego w dziennikach usługi Azure Monitor

Skonfigurowanie potoku uczenia maszynowego zwykle obejmuje wszystkie lub niektóre kroki opisane poniżej.

Istnieją różne biblioteki uczenia maszynowego platformy Azure i open source, których można użyć do implementowania potoku uczenia maszynowego, w tym Scikit Learn, PyTorch, Tensorflow, Spark MLlib i SynapseML.

W tej tabeli opisano każdy krok i przedstawiono ogólne wskazówki oraz kilka przykładów implementacji tych kroków na podstawie metod implementacji opisanych w temacie Tworzenie własnego potoku uczenia maszynowego na danych w dziennikach usługi Azure Monitor:

Krok opis Wykonywanie zapytań dotyczących danych w dziennikach usługi Azure Monitor Eksportowanie danych
Eksplorowanie danych Zapoznaj się z zebranymi danymi i poznaj je. Najprostszym sposobem eksplorowania danych jest użycie usługi Log Analytics, która udostępnia bogaty zestaw narzędzi do eksplorowania i wizualizowania danych w witrynie Azure Portal. Możesz również analizować dane w dziennikach usługi Azure Monitor przy użyciu notesu. Aby analizować dzienniki poza usługą Azure Monitor, wyeksportuj dane z obszaru roboczego usługi Log Analytics i skonfiguruj środowisko w wybranej usłudze.
Aby zapoznać się z przykładem eksplorowania dzienników poza usługą Azure Monitor, zobacz Analizowanie danych wyeksportowanych z usługi Log Analytics przy użyciu usługi Synapse.
Tworzenie i trenowanie modelu uczenia maszynowego Trenowanie modelu jest procesem iteracyjnym. Naukowcy lub analitycy danych opracowują model, pobierając i czyszcząc dane szkoleniowe, funkcje inżynierów, próbując różne modele i dostrajając parametry, i powtarzając ten cykl, aż model będzie dokładny i niezawodny. W przypadku małych i średnich zestawów danych zwykle używasz bibliotek uczenia maszynowego z jednym węzłem, takich jak Scikit Learn.
Aby zapoznać się z przykładem trenowania modelu uczenia maszynowego na danych w dziennikach usługi Azure Monitor przy użyciu biblioteki Scikit Learn, zobacz ten przykładowy notes: Wykrywanie anomalii w dziennikach usługi Azure Monitor przy użyciu technik uczenia maszynowego.
W przypadku dużych zestawów danych zwykle używasz bibliotek uczenia maszynowego danych big data, takich jak SynapseML.
Wdrażanie i ocenianie modelu Ocenianie to proces stosowania modelu uczenia maszynowego na nowych danych w celu uzyskania przewidywań. Ocenianie zwykle należy wykonać na dużą skalę z minimalnym opóźnieniem. Aby wykonywać zapytania dotyczące nowych danych w dziennikach usługi Azure Monitor, użyj biblioteki klienta zapytań usługi Azure Monitor.
Aby zapoznać się z przykładem oceniania danych przy użyciu narzędzi typu open source, zobacz ten przykładowy notes: Wykrywanie anomalii w dziennikach usługi Azure Monitor przy użyciu technik uczenia maszynowego.
Uruchamianie potoku zgodnie z harmonogramem Zautomatyzuj potok, aby regularnie trenować model na bieżących danych. Zaplanuj potok uczenia maszynowego przy użyciu usługi Azure Synapse Analytics lub usługi Azure Machine Edukacja. Zobacz przykłady w kolumnie Zapytania dotyczące danych w dziennikach usługi Azure Monitor.

Pozyskiwanie wyników ocenianych w obszarze roboczym usługi Log Analytics umożliwia korzystanie z danych w celu uzyskania zaawansowanych szczegółowych informacji oraz tworzenia alertów i pulpitów nawigacyjnych. Aby zapoznać się z przykładem sposobu pozyskiwania wyników ocenianych przy użyciu biblioteki klienta pozyskiwania usługi Azure Monitor, zobacz Pozyskiwanie anomalii w tabeli niestandardowej w obszarze roboczym usługi Log Analytics.

Następne kroki

Dowiedz się więcej na następujące tematy: