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 na platformie 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 | Mapuje 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 Insights, 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:
Wykonywanie zapytań dotyczących danych w dziennikach - usługi Azure Monitor Integrowanie notesu z dziennikami usługi Azure Monitor lub uruchamianie skryptu lub aplikacji na danych dziennika przy użyciu bibliotek, takich jak biblioteka klienta zapytań usługi Azure Monitor lub biblioteka MSTICPY w celu pobrania danych z dzienników usługi Azure Monitor w postaci tabelarycznej, na przykład w ramce danych biblioteki Pandas. Dane, które wykonujesz, są pobierane do obiektu w pamięci na serwerze bez eksportowania danych z obszaru roboczego usługi Log Analytics.
Uwaga
Może być konieczne przekonwertowanie formatów danych w ramach potoku. Aby na przykład użyć bibliotek opartych na platformie Apache Spark, takiej jak SynapseML, może być konieczne przekonwertowanie biblioteki Pandas na ramkę danych PySpark.
Wyeksportuj dane z dzienników - usługi Azure Monitor Eksportuj dane z obszaru roboczego usługi Log Analytics, zazwyczaj na konto magazynu obiektów blob i zaimplementuj potok uczenia maszynowego przy użyciu biblioteki 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 | Minimalny. | Wprowadza niewielkie opóźnienie podczas eksportowania danych. |
Koszty | Brak dodatkowych opłat w usłudze Azure Monitor. Koszt usługi Azure Synapse Analytics, Azure Machine Learning lub innej usługi, jeśli jest używana. |
Koszt eksportu danych i magazynu zewnętrznego. Koszt usługi Azure Synapse Analytics, Azure Machine Learning 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 za pomocą usługi Azure Synapse Analytics lub usługi Azure Machine Learning. | 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:
- Dzienniki usługi Azure Monitor.
- Usługa Azure Monitor Insights i wyselekcjonowane wizualizacje.