0Pricing
Cloud & IT Cert Prep · Lekcja

Application Insights

Dodaj do aplikacji internetowej instrumentację za pomocą zestawu SDK Application Insights, poznaj mapę aplikacji i używaj strumienia Live Metrics Stream do diagnozowania problemów w czasie rzeczywistym.

Application Insights to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Czym jest Application Insights?

Application Insights to funkcja usługi Azure Monitor, która zapewnia monitorowanie wydajności aplikacji (APM) działających aplikacji internetowych. Zbiera dane telemetryczne dotyczące żądań, zależności, wyjątków, wyświetleń stron i zdarzeń niestandardowych. W przeciwieństwie do metryk platformy, które opisują kondycję infrastruktury, Application Insights pokazuje, co robi kod aplikacji i jakie doświadczenia mają użytkownicy końcowi. Usługa obsługuje platformy .NET, Node.js, Java, Python oraz JavaScript w przeglądarce.

Instrumentowanie aplikacji

Usługę Application Insights można dodać do aplikacji, instalując zestaw SDK lub używając automatycznej instrumentacji (nazywanej również dołączaniem bez użycia kodu). W przypadku usługi App Service włączenie Application Insights w portalu automatycznie instaluje agenta, bez konieczności wprowadzania zmian w kodzie. W przypadku aplikacji zarządzanych samodzielnie należy dodać pakiet SDK i podać connection string (zalecany zamiast starszego klucza instrumentacji) z zasobu Application Insights.

# Enable Application Insights on an App Service app
az webapp config appsettings set \
  --name myApp \
  --resource-group myRG \
  --settings APPLICATIONINSIGHTS_CONNECTION_STRING='InstrumentationKey=...' \
             ApplicationInsightsAgent_EXTENSION_VERSION='~3'

Mapa aplikacji

Mapa aplikacji to wizualna topologia komponentów aplikacji i ich zależności. Każdy węzeł reprezentuje komponent (aplikację, podrzędny interfejs API, bazę danych lub usługę platformy Azure), a krawędzie pokazują relacje wywołań opatrzone informacjami o średnim czasie odpowiedzi, częstotliwości żądań i częstotliwości błędów. Można kliknąć dowolny węzeł lub krawędź, aby przejść do szczegółów pojedynczych śladów żądań i ustalić, gdzie powstają opóźnienia lub błędy.

Strumień metryk na żywo

Strumień metryk na żywo zapewnia dostępny w czasie rzeczywistym, z opóźnieniem poniżej sekundy, podgląd wydajności aplikacji — bez opóźnień. Można obserwować napływające żądania, czasy odpowiedzi, częstotliwość błędów i użycie procesora w chwili ich występowania, co ma kluczowe znaczenie podczas wdrożenia na żywo lub badania incydentu. Funkcja Live Metrics korzysta z bezpiecznego połączenia wychodzącego z aplikacji do usługi Application Insights, dlatego nie trzeba zmieniać reguł zapory dla połączeń przychodzących.

Śledzenie rozproszone i transakcje kompleksowe

Śledzenie rozproszone koreluje dane telemetryczne z wielu usług za pomocą wspólnego identyfikatora operation_Id. Gdy żądanie użytkownika trafia do aplikacji front-end, Application Insights przekazuje nagłówki kontekstu śledzenia do usług podrzędnych. Widok End-to-End Transaction Details zestawia wszystkie odcinki ze wszystkich uczestniczących usług na jednej osi czasu w formie wykresu Gantta, pokazując dokładnie, ile czasu zajmuje każdy etap w architekturze mikrousług.

Zdarzenia i metryki niestandardowe

Oprócz automatycznych danych telemetrycznych można śledzić zdarzenia niestandardowe i metryki niestandardowe za pomocą zestawu SDK. Wywołanie trackEvent() służy do rejestrowania zdarzeń biznesowych, takich jak 'CheckoutCompleted' lub 'FeatureFlagEnabled'. Wywołanie trackMetric() służy do rejestrowania pomiarów specyficznych dla aplikacji, takich jak długość kolejki lub współczynnik trafień pamięci podręcznej. Telemetria niestandardowa pojawia się w tych samych tabelach usługi Log Analytics i można wykonywać wobec niej zapytania KQL wraz z danymi platformy.

// Node.js SDK example — tracking a custom event
const appInsights = require('applicationinsights');
appInsights.defaultClient.trackEvent({
  name: 'CheckoutCompleted',
  properties: { userId: '42', plan: 'premium' },
  measurements: { orderValue: 99.99 }
});

Inteligentne wykrywanie i anomalie błędów

Smart Detection automatycznie analizuje dane telemetryczne za pomocą uczenia maszynowego i ostrzega o nietypowych wzorcach — takich jak nagły wzrost częstotliwości błędów, pogorszenie czasu odpowiedzi serwera lub nietypowy wzrost liczby wyjątków. W przeciwieństwie do ręcznie konfigurowanych alertów progowych reguły Smart Detection dostosowują się do normalnego zachowania aplikacji. Alerty są wysyłane do właścicieli subskrypcji i pojawiają się w bloku Smart Detection.

Testy dostępności

Testy dostępności (nazywane również testami internetowymi) zgodnie z harmonogramem wysyłają do aplikacji syntetyczne żądania HTTP z wielu regionów platformy Azure na całym świecie (nawet co minutę). Sprawdzają, czy publiczne punkty końcowe odpowiadają oczekiwanym kodem stanu HTTP w określonym czasie. Jeśli test zakończy się niepowodzeniem jednocześnie w wielu lokalizacjach, zostanie uruchomiony alert. Zapewnia to monitorowanie typu outside-in, niezależne od wewnętrznej infrastruktury.

# Create a URL ping availability test via CLI
az monitor app-insights web-test create \
  --name 'HomepagePing' \
  --resource-group myRG \
  --app-component myAppInsightsResource \
  --defined-web-test-kind ping \
  --request-url 'https://myapp.azurewebsites.net/' \
  --locations '[{"Id":"us-ca-sjc-azr"},{"Id":"emea-gb-db3-azr"}]' \
  --frequency 300 \
  --timeout 30

Próbkowanie w celu kontroli ilości danych

Próbkowanie zmniejsza ilość telemetrii wysyłanej do Application Insights, rejestrując tylko część żądań przy jednoczesnym zachowaniu dokładności statystycznej. Próbkowanie adaptacyjne automatycznie dostosowuje współczynnik próbkowania, aby utrzymać docelową szybkość pozyskiwania danych. Próbkowanie ze stałym współczynnikiem stosuje ustalony procent. Telemetria objęta próbkowaniem jest oznaczana, dzięki czemu widoki metryk automatycznie korygują współczynnik próbkowania podczas wyświetlania liczników i szybkości.

Analiza użytkowników i sesji

Application Insights zawiera wbudowaną analizę użycia dla aplikacji instrumentowanych w przeglądarce. Karta Users pokazuje liczbę unikatowych użytkowników, Sessions śledzi ścieżki użytkowników, Funnels wizualizują odpływ użytkowników na kolejnych etapach procesu, a wykresy Retention pokazują, ilu użytkowników powraca z czasem. Narzędzia te są szczególnie przydatne dla zespołów produktowych optymalizujących współczynniki konwersji i zaangażowanie użytkowników równolegle z monitorowaniem operacyjnym.

Tabele Application Insights i Log Analytics

Dane Application Insights są przechowywane w obszarze roboczym Log Analytics w dedykowanych tabelach: requests, exceptions, dependencies, traces, pageViews, customEvents i customMetrics. Gdy Application Insights jest skonfigurowane w trybie opartym na obszarze roboczym (jest to ustawienie domyślne dla nowych zasobów), można łączyć te tabele z innymi danymi obszaru roboczego — na przykład skorelować wyjątek aplikacji z odmową dostępu do Key Vault zarejestrowaną w AzureActivity.

// KQL — find the top 10 slowest dependencies in the last hour
dependencies
| where timestamp > ago(1h)
| where success == false or duration > 2000
| summarize AvgDuration = avg(duration), FailCount = countif(success==false)
    by name, type
| top 10 by AvgDuration desc

Szybkie sprawdzenie

Sprawdź swoją znajomość zagadnień Microsoft Azure Fundamentals (AZ-900) omówionych w tej lekcji.

Podsumowanie lekcji

W tej lekcji poznali Państwo następujące zagadnienia: Application Insights udostępnia telemetrię na poziomie APM dotyczącą szybkości żądań, błędów i zależności, Application Map oraz śledzenie rozproszone wizualizują topologię mikrousług od początku do końca, a testy dostępności weryfikują publiczne punkty końcowe z wielu lokalizacji na całym świecie. Następnie omówimy Azure Dashboards i Workbooks służące do udostępniania zespołowi informacji operacyjnych.

Często zadawane pytania

Czy lekcja „Application Insights” jest bezpłatna?

Tak — pełny tekst „Application Insights” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Co nauczysz się w „Application Insights”?

Dodaj do aplikacji internetowej instrumentację za pomocą zestawu SDK Application Insights, poznaj mapę aplikacji i używaj strumienia Live Metrics Stream do diagnozowania problemów w czasie rzeczywist… Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?

Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Application Insights”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?

Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Metryki i alerty usługi Azure Monitor
  2. Podstawy Log Analytics i KQL
  3. Application Insights
  4. Pulpity nawigacyjne i skoroszyty Azure
← Powrót do Cloud & IT Cert Prep