Omówienie usługi Application Insights

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

  • Proaktywne zrozumienie sposobu działania aplikacji.
  • Reaktywnie przejrzyj dane wykonywania aplikacji, aby określić przyczynę zdarzenia.

Zrzut ekranu przedstawiający usługę Application Insights w Azure Portal.

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

Ślad dziennika jest skojarzony z innymi danymi telemetrycznymi, aby uzyskać szczegółowy widok działania. Dodanie rejestrowania śledzenia do istniejących aplikacji wymaga tylko udostępnienia miejsca docelowego dla dzienników. Rzadko trzeba zmienić strukturę rejestrowania.

Usługa Application Insights udostępnia inne funkcje, w tym między innymi:

  • 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 z usługą GitHub lub Azure DevOps: tworzenie elementów roboczych usługi GitHub lub Azure DevOps w kontekście danych usługi Application Insights.
  • Użycie: dowiedz się, które funkcje są popularne wśród użytkowników i jak użytkownicy wchodzą w interakcje z aplikacją i z niej korzystają.
  • Wykrywanie inteligentne: automatycznie wykrywa błędy i anomalie za pomocą proaktywnej analizy telemetrii.

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 określonego wykonania lub transakcji. Możliwość śledzenia aktywności od końca jest ważna dla aplikacji, które zostały skompilowane jako składniki rozproszone lub mikrousługi.

Mapa aplikacji umożliwia ogólny, odgórny 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 środowiskach, zobacz Przewodnik planowania wdrażania usługi Application Insights.

Diagram przedstawiający ścieżkę danych przepływających przez warstwy usługi Application Insights.

Ustawienia zapory należy dostosować, aby dane dotarły do punktów końcowych pozyskiwania. Aby uzyskać więcej informacji, zobacz Adresy IP używane przez usługę Azure Monitor.

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

Usługa Application Insights jest włączona za pomocą funkcji automatycznegoinstrumentacji (agenta) lub przez dodanie zestawu SDK usługi Application Insights lub dystrybucji OpenTelemetry usługi Azure Monitor do kodu aplikacji. Obsługiwanych jest wiele języków . Aplikacje mogą znajdować się na platformie Azure, lokalnie lub w innej chmurze. Aby dowiedzieć się, jaki typ instrumentacji jest najlepszy dla Ciebie, zobacz 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. Następnie jest pozyskiwany i przetwarzany dalej, zanim będzie przechowywany 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. Zaawansowani użytkownicy mogą wykonywać zapytania dotyczące danych bazowych bezpośrednio w celu tworzenia niestandardowych wizualizacji 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 daty i godziny. Możesz też wyszukiwać dane (na przykład za pomocą śladów dzienników) i filtrować dane skorelowane operacje zainteresowania.

Dwa widoki są szczególnie przydatne:

  • Widok wydajności: uzyskaj szczegółowe informacje na temat wydajności aplikacji lub interfejsu API i zależności podrzędnych. Możesz również znaleźć reprezentatywny przykład, aby zapoznać się z końcem.
  • Widok błędów: informacje o składnikach lub akcjach generujących błędy i wyjątki klasyfikacji. Wbudowane widoki są przydatne do proaktywnego śledzenia kondycji aplikacji i do analizy reaktywnej głównej przyczyny.

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

Cennik usługi Application Insights jest oparty na użyciu. Płaci się wyłącznie za użyte zasoby. Aby uzyskać więcej informacji na temat cen, zobacz:

Jak mogę instrumentacja aplikacji?

Autoinstrumentacja jest preferowaną metodą instrumentacji. Nie wymaga to inwestycji deweloperów i eliminuje przyszłe koszty 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.

Wystarczy zainstalować zestaw SDK usługi Application Insights tylko wtedy, gdy:

Aby użyć zestawu SDK, zainstaluj mały pakiet instrumentacji w aplikacji, a następnie instrumentację aplikacji internetowej, wszystkich składników w tle i języka 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 są nieblokujące i wysyłane wsadowe w osobnym wątku.

Zintegrowana autoinstrumentacja 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ń uruchomionych na lokalnych maszynach wirtualnych.

Aby uzyskać szczegółowy widok wszystkich obsługiwanych środowisk, języków i dostawców zasobów autoinstrumentacji, zobacz Co to jest automatyczneinstrumentacja dla usługi Azure Monitor Application Insights?.

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

Dostępna jest również oferta OpenTelemetry .


Obsługiwane języki

W tej sekcji opisano obsługiwane scenariusze.

Instrumentacja automatyczna (włącz bez zmian w kodzie)

Instrumentacja ręczna

Dystrybucja OpenTelemetry

Zestaw SDK usługi Application Insights (klasyczny interfejs API)

Zestaw SDK języka JavaScript po stronie klienta

Obsługiwane platformy i struktury

W tej sekcji wymieniono wszystkie obsługiwane platformy i struktury.

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

Struktury rejestrowania

Eksportowanie i analiza danych

Nieobsługiwane zestawy SDK

Istnieje wiele zestawów SDK usługi Application Insights obsługiwanych przez społeczność. Usługa Azure Monitor zapewnia obsługę tylko w przypadku korzystania z obsługiwanych opcji instrumentacji wymienionych w tym artykule.

Stale oceniamy możliwości rozszerzenia naszego wsparcia dla innych języków. Najnowsze informacje można znaleźć w temacie Aktualizacje platformy Azure dla usługi Application Insights.


Często zadawane pytania

Ta sekcja zawiera odpowiedzi na często zadawane pytania.

Jakie dane telemetryczne zbiera usługa Application Insights?

Z poziomu aplikacji internetowych serwera:

Na stronach internetowych klientów:

  • Nieuchwycone wyjątki w aplikacji, w tym informacje na temat

    • Ślad stosu
    • Szczegóły wyjątku i komunikat towarzyszący błędowi
    • Numer kolumny wiersza & błędu
    • Adres URL, w którym został zgłoszony błąd
  • Żądania zależności sieci wykonane przez aplikację XHR i Fetch (kolekcja pobierania jest domyślnie wyłączona) obejmują informacje na temat:

    • Adres URL źródła zależności
    • Metoda polecenia & używana do żądania zależności
    • Czas trwania żądania
    • Kod wyniku i stan powodzenia żądania
    • Identyfikator (jeśli istnieje) użytkownika wysyłającego żądanie
    • Kontekst korelacji (jeśli istnieje), w którym jest wykonywane żądanie
  • Informacje o użytkowniku (na przykład Lokalizacja, sieć, adres IP)

  • Informacje o urządzeniu (na przykład Przeglądarka, system operacyjny, wersja, język, model)

  • Informacje o sesji

    Uwaga

    W przypadku niektórych aplikacji, takich jak aplikacje jednostronicowe (SPA), czas trwania może nie być rejestrowany i domyślnie wynosi 0.

    Aby uzyskać więcej informacji, zobacz Zbieranie, przechowywanie i magazynowanie danych w usłudze Application Insights.

Jeśli skonfigurujesz je z innych źródeł:

Jak zarządzać zasobami usługi Application Insights za pomocą programu PowerShell?

Skrypty programu PowerShell można napisać przy użyciu usługi Azure Resource Monitor do:

  • Tworzenie i aktualizowanie zasobów usługi Application Insights.
  • Ustaw plan cenowy.
  • Pobierz klucz instrumentacji.
  • Dodaj alert dotyczący metryk.
  • Dodaj test dostępności.

Nie można skonfigurować raportu eksploratora metryk ani skonfigurować eksportu ciągłego.

Jak mogę wykonywać zapytania dotyczące telemetrii usługi Application Insights?

Użyj interfejsu API REST do uruchamiania zapytań usługi Log Analytics .

Czy mogę wysłać dane telemetryczne do portalu usługi Application Insights?

Zalecamy korzystanie z naszych zestawów SDK i korzystanie z interfejsu API zestawu SDK. Istnieją warianty zestawu SDK dla różnych platform. Te zestawy SDK obsługują procesy, takie jak buforowanie, kompresja, ograniczanie przepustowości i ponawianie prób. Jednak schemat pozyskiwania i protokół punktu końcowego są publiczne.

Jak długo trwa zbieranie danych telemetrycznych?

Większość danych usługi Application Insights ma opóźnienie poniżej 5 minut. Niektóre dane mogą trwać dłużej, co jest typowe dla większych plików dziennika. Zobacz umowę dotyczącą poziomu usług usługi Application Insights.

Rozwiązywanie problemów

Zapoznaj się z dedykowanymi artykułami dotyczącymi rozwiązywania problemów w usłudze Application Insights.

Pomoc i obsługa techniczna

Pomoc techniczna platformy Azure

W przypadku pomoc techniczna platformy Azure problemów otwórz bilet pomoc techniczna platformy Azure.

Forum pytań dotyczących platformy Microsoft Q&A

Opublikuj ogólne pytania na forum odpowiedzi microsoft Q&A.

Stack Overflow

Opublikuj pytania dotyczące kodowania w witrynie Stack Overflow przy użyciu tagu azure-application-insights .

Społeczność opinii

Pozostaw opinię dotyczącą produktu dla zespołu inżynierów w społeczności opinii.

Następne kroki