Omówienie usługi Application Insights

Usługa Application Insights to rozszerzenie usługi Azure Monitor i udostępnia funkcje monitorowania wydajności aplikacji (nazywanego również "APM"). Narzędzia APM są przydatne do monitorowania aplikacji z programowania, testowania i do środowiska produkcyjnego w następujący sposób:

  1. Proaktywnie zrozumieć, jak działa aplikacja.
  2. Reaktywnie przejrzyj dane wykonywania aplikacji, aby określić przyczynę zdarzenia.

Oprócz zbierania danych telemetrycznych metryk i aplikacji, które opisują działania aplikacji i kondycję, usługa Application Insights może również służyć do zbierania i przechowywania danych rejestrowania śledzenia aplikacji.

Ślad dziennika jest skojarzony z innymi telemetriami, aby uzyskać szczegółowy widok działania. Dodanie rejestrowania śledzenia do istniejących aplikacji wymaga tylko udostępnienia miejsca docelowego dla dzienników; struktura rejestrowania rzadko musi zostać zmieniona.

Usługa Application Insights udostępnia inne funkcje, w tym również, ale nie tylko:

  • Metryki na żywo — obserwuj aktywność wdrożonej aplikacji w czasie rzeczywistym bez wpływu na środowisko hosta
  • Dostępność — znana również jako "Syntetyczne monitorowanie transakcji", sonduj zewnętrzne punkty końcowe aplikacji, aby przetestować ogólną dostępność i czas odpowiedzi w czasie
  • Integracja usługi GitHub lub Azure DevOps — tworzenie elementów roboczych usługi GitHub lub Azure DevOps w kontekście danych usługi Application Insights
  • Użycie — zrozumienie, które funkcje są popularne wśród użytkowników oraz sposób interakcji użytkowników z aplikacją i korzystania z niej
  • Wykrywanie inteligentne — automatyczne wykrywanie błędów i anomalii za pomocą proaktywnej analizy telemetrii

Ponadto usługa Application Insights obsługuje śledzenie rozproszone, nazywane również "korelacją składników rozproszonych". Ta funkcja umożliwia wyszukiwanie i wizualizowanie kompleksowego przepływu danego wykonania lub transakcji. Możliwość śledzenia kompleksowego działania jest coraz ważniejsza dla aplikacji, które zostały utworzone jako składniki rozproszone lub mikrousługi.

Mapa aplikacji umożliwia ogólny widok architektury aplikacji oraz błyskawiczne odwołania wizualne do kondycji i reakcji składników.

Aby poznać liczbę zasobów usługi Application Insights wymaganych do pokrycia aplikacji lub składników w różnych środowiskach, zobacz Przewodnik planowania wdrażania usługi Application Insights.

Jak mogę używać usługi Application Insights?

Usługa Application Insights jest włączona za pomocą automatycznego instrumentacji (agenta) lub przez dodanie zestawu SDK usługi Application Insights do kodu aplikacji. Wiele języków jest obsługiwanych, a aplikacje mogą znajdować się na platformie Azure, lokalnie lub hostowanej przez inną chmurę. Aby dowiedzieć się, który typ instrumentacji jest najlepszy dla Ciebie, zapoznaj się z Jak mogę instrumentacji aplikacji?.

Agent usługi Application Insights lub zestaw SDK wstępnie przetwarza dane telemetryczne i metryki przed wysłaniem danych na platformę Azure, gdzie są pozyskiwane i przetwarzane dalej przed zapisaniem w dziennikach usługi Azure Monitor (Log Analytics). Z tego powodu do korzystania z usługi Application Insights wymagane jest konto platformy Azure.

Najprostszym sposobem rozpoczęcia korzystania z usługi Application Insights jest użycie Azure Portal i wbudowanych środowisk wizualnych. Użytkownicy zaawansowani mogą wykonywać zapytania dotyczące danych bazowych bezpośrednio w celu tworzenia wizualizacji niestandardowych za pomocą pulpitów nawigacyjnych i skoroszytów usługi Azure Monitor.

Rozważ rozpoczęcie od mapy aplikacji dla widoku wysokiego poziomu. Użyj środowiska wyszukiwania , aby szybko zawęzić dane telemetryczne i dane według typu i godziny lub przeszukiwać dane w danych (na przykład Ślady dziennika) i filtrować do danej skorelowanej operacji zainteresowania.

Przechodzenie do analizy za pomocą widoku wydajności — szczegółowe informacje na temat sposobu działania aplikacji lub interfejsu API i zależności podrzędnych oraz znajdowania reprezentatywnego przykładu w celu uzyskania kompleksowego wglądu. Bądź proaktywny w widoku awarii — dowiedz się, które składniki lub akcje generują błędy i błędy klasyfikacji oraz wyjątki. Wbudowane widoki są przydatne do aktywnego śledzenia kondycji aplikacji i reaktywnej analizy głównej przyczyny.

Utwórz alerty usługi Azure Monitor , aby sygnalizować potencjalne problemy, jeśli część aplikacji lub składników odbiega od ustalonego punktu odniesienia.

Cennik usługi Application Insights jest oparty na użyciu; płacisz tylko za to, czego używasz. Aby uzyskać więcej informacji na temat cen, zobacz stronę Cennik usługi Azure Monitor i sposób optymalizacji kosztów.

Jak mogę instrumentacja aplikacji?

Instrumentacja automatyczna jest preferowaną metodą instrumentacji. Nie wymaga inwestycji deweloperów i eliminuje przyszłe nakłady związane z aktualizowaniem zestawu SDK. Jest to również jedyny sposób instrumentowania aplikacji, w której nie masz dostępu do kodu źródłowego.

W następujących okolicznościach wystarczy zainstalować zestaw SDK usługi Application Insights:

Aby użyć zestawu SDK, zainstaluj mały pakiet instrumentacji w aplikacji, a następnie instrumentujesz aplikację internetową, wszystkie składniki w tle i javaScript na stronach internetowych. Aplikacja i jej składniki nie muszą być hostowane na platformie Azure. Instrumentacja monitoruje aplikację i kieruje dane telemetryczne do zasobu usługi Application Insights przy użyciu unikatowego tokenu. Wpływ na wydajność aplikacji jest niewielki; wywołania śledzenia nie blokują i są wysyłane wsadowo w osobnym wątku.

Zintegrowana instrumentacja automatyczna jest dostępna dla platformy Azure App Service .NET, Azure App Service .NET Core, Azure Functions i azure Virtual Machines.

Agent usługi Application Insights usługi Azure Monitor jest dostępny dla obciążeń działających na lokalnych maszynach wirtualnych.

Szczegółowy widok wszystkich obsługiwanych automatycznie instrumentacji środowisk, języków i dostawców zasobów jest dostępny tutaj.

W przypadku innych scenariuszy wymagany jest zestaw SDK usługi Application Insights .

Dostępna jest również oferta open telemetria w wersji zapoznawczej.

Następne kroki

Rozwiązywanie problemów

Często zadawane pytania

Przejrzyj często zadawane pytania.

Microsoft Q& Forum pytań

Opublikuj pytania na forum odpowiedzi Microsoft Q&A.

Stack Overflow

Opublikuj pytania dotyczące kodowania w witrynie Stack Overflow przy użyciu tagu usługi Application Insights.

User Voice

Pozostaw opinię dotyczącą produktu dla zespołu inżynierów w usłudze UserVoice.

Obsługiwane języki

Obsługiwane platformy i struktury

Obsługiwane platformy i platformy są wymienione tutaj.

Integracja usługi platformy Azure (włączanie portalu, wdrożenia usługi Azure Resource Manager)

Automatyczna instrumentacja (włącz bez zmian kodu)

Instrumentacja ręczna/zestaw SDK (wymagane zmiany kodu)

Uwaga

Instrumentacja oparta na protokole OpenTelemetry jest dostępna w wersji zapoznawczej dla języków C#, Node.js i Python. Zapoznaj się z ograniczeniami zanotowaną na początku oficjalnej dokumentacji każdego języka. Jeśli potrzebujesz pełnego środowiska funkcji, użyj istniejących zestawów SDK usługi Application Insights.

Struktury rejestrowania

Eksportowanie i analiza danych

Nieobsługiwane zestawy SDK

Istnieje kilka innych zestawów SDK usługi Application Insights obsługiwanych przez społeczność. Jednak usługa Azure Monitor zapewnia obsługę tylko w przypadku korzystania z obsługiwanych opcji instrumentacji wymienionych na tej stronie. Stale oceniamy możliwości rozszerzenia wsparcia dla innych języków. Aby uzyskać najnowsze informacje na temat zestawu SDK, postępuj zgodnie z informacjami na temat usługi Azure Aktualizacje dla usługi Application Insights.