Udostępnij za pośrednictwem


Podstawy zbierania danych usługi Azure Monitor Application Insights

Aby można było monitorować aplikację, należy ją instrumentować.

W poniższych sekcjach omówiono podstawowe informacje dotyczące zbierania danych w usłudze Azure Monitor Application Insights.

Opcje instrumentacji

Na poziomie podstawowym "instrumentacja" umożliwia aplikacji przechwytywanie danych telemetrycznych.

Istnieją dwie metody instrumentowania aplikacji:

  • Instrumentacja automatyczna (autoinstrumentacja)
  • Instrumentacja ręczna

Autoinstrumentacja umożliwia zbieranie danych telemetrycznych za pośrednictwem konfiguracji bez dotykania kodu aplikacji. Chociaż jest to wygodniejsze, wydaje się być mniej konfigurowalne. Nie jest ona również dostępna we wszystkich językach. Zobacz Obsługiwane środowiska i języki autoinstrumentacji. Gdy jest dostępna automatycznainstrumentacja, najłatwiej jest włączyć usługę Azure Monitor Application Insights.

Instrumentacja ręczna jest kodowaniem względem interfejsu API Application Insights lub OpenTelemetry. W kontekście użytkownika zazwyczaj odnosi się to do instalowania zestawu SDK specyficznego dla języka w aplikacji. Oznacza to, że musisz samodzielnie zarządzać aktualizacjami najnowszej wersji pakietu. Tej opcji można użyć, jeśli musisz wykonać niestandardowe wywołania zależności lub wywołania interfejsu API, które nie są domyślnie przechwytywane za pomocą autoinstrumentacji. Istnieją dwie opcje instrumentacji ręcznej:

Chociaż widzimy openTelemetry jako nasz przyszły kierunek, nie mamy planów zatrzymania zbierania danych ze starszych zestawów SDK. Nadal mamy sposób, zanim nasze dystrybucje usługi Azure OpenTelemetry osiągną równoważność funkcji z zestawami SDK usługi Application Insights. W wielu przypadkach klienci nadal decydują się na korzystanie z zestawów SDK usługi Application Insights przez sporo czasu.

Ważne

"Ręczne" nie oznacza, że będziesz musiał napisać złożony kod w celu zdefiniowania zakresów dla rozproszonych śladów, chociaż pozostaje to opcja. Biblioteki instrumentacji pakowane w nasze dystrybucje umożliwiają łatwe przechwytywanie sygnałów telemetrycznych w wspólnych strukturach i bibliotekach. Aktywnie pracujemy nad instrumentem najpopularniejszych zestawów SDK usługi platformy Azure przy użyciu biblioteki OpenTelemetry , dzięki czemu te sygnały są dostępne dla klientów korzystających z dystrybucji OpenTelemetry usługi Azure Monitor.

Typy telemetrii

Dane telemetryczne zebrane w celu obserwowania aplikacji można podzielić na trzy typy lub "filary":

  • Śledzenie rozproszone
  • Metryki
  • Dzienniki

Kompletna historia obserwacji obejmuje wszystkie trzy filary, a usługa Application Insights dodatkowo dzieli te filary na tabele oparte na naszym modelu danych. Nasze zestawy SDK usługi Application Insights lub dystrybucje OpenTelemetry usługi Azure Monitor obejmują wszystkie elementy potrzebne do zasilania usługi Application monitor wydajności na platformie Azure. Sam pakiet jest bezpłatny do zainstalowania i płacisz tylko za dane pozyskane w usłudze Azure Monitor.

Następujące źródła wyjaśniają trzy filary:

Routing telemetryczny

Istnieją dwa sposoby wysyłania danych do usługi Azure Monitor (lub dowolnego dostawcy):

  • Za pośrednictwem eksportera bezpośredniego
  • Za pośrednictwem agenta

Bezpośredni eksporter wysyła dane telemetryczne w procesie (z kodu aplikacji) bezpośrednio do punktu końcowego pozyskiwania usługi Azure Monitor. Główną zaletą tego podejścia jest prostota dołączania.

Obecnie dostępne zestawy SDK usługi Application Insights i dystrybucji OpenTelemetry usługi Azure Monitor korzystają z bezpośredniego eksportera.

Uwaga

Aby uzyskać informacje na temat pozycji usługi Azure Monitor w usłudze OpenTelemetry-Collector, zobacz Często zadawane pytania dotyczące biblioteki OpenTelemetry.

Napiwek

Jeśli planujesz użyć biblioteki OpenTelemetry-Collector do próbkowania lub dodatkowego przetwarzania danych, możesz uzyskać te same możliwości wbudowane w usługę Azure Monitor. Klienci, którzy przeprowadzili migrację do usługi Application Insights opartej na obszarze roboczym, mogą korzystać z przekształceń w czasie pozyskiwania. Aby włączyć, postępuj zgodnie ze szczegółowymi informacjami w samouczku, pomijając krok pokazujący sposób konfigurowania ustawienia diagnostycznego, ponieważ w usłudze Application Insights skoncentrowanej na obszarze roboczym jest to już skonfigurowane. Jeśli filtrujesz mniej niż 50% całkowitego woluminu, nie jest to dodatkowe koszty. Po 50%, istnieje koszt, ale znacznie mniej niż standardowa za GB opłaty.

OpenTelemetry

Firma Microsoft z przyjemnością przyjmuje platformę OpenTelemetry jako przyszłość instrumentacji telemetrii. Nasi klienci poprosili o instrumentację neutralną od dostawcy i cieszymy się, że współpracujemy ze społecznością OpenTelemetry, aby tworzyć spójne interfejsy API i zestawy SDK w różnych językach.

Firma Microsoft współpracowała z uczestnikami projektu z dwóch wcześniej popularnych projektów telemetrycznych typu open source, OpenCensus i OpenTracing. Razem pomogliśmy utworzyć pojedynczy projekt OpenTelemetry. Usługa OpenTelemetry obejmuje współtworzenie wszystkich głównych dostawców usług w chmurze i zarządzania wydajnością aplikacji (APM) i mieszka w ramach natywnej platformy przetwarzania w chmurze (CNCF). Microsoft jest platynowym członkiem CNCF.

Terminologia znajduje się w słowniku specyfikacji OpenTelemetry.

Niektóre starsze terminy w usłudze Application Insights są mylące ze względu na zbieżność branży w technologii OpenTelemetry. W poniższej tabeli przedstawiono te różnice. Terminy OpenTelemetry zastępują terminy usługi Application Insights.

Szczegółowe dane dotyczące aplikacji OpenTelemetry
Autokolektory Biblioteki instrumentacji
Kanał Eksporter
Bez kodu /oparte na agencie Autoinstrumentacja
Ślady Dzienniki
Żądania Zakresy serwerów
Zależności Inne typy span (klient, wewnętrzny itp.)
Identyfikator operacji Identyfikator śledzenia
Identyfikator lub identyfikator nadrzędny operacji Identyfikator zakresu

Często zadawane pytania

Gdzie można znaleźć listę wersji zestawu SDK usługi Application Insights i ich nazwy?

Lista wersji i nazw zestawu SDK jest hostowana w usłudze GitHub. Aby uzyskać więcej informacji, zobacz Wersja zestawu SDK.

Następne kroki

Wybierz metodę włączania:

Aby uzyskać więcej informacji, zapoznaj się z często zadawanymi pytaniami dotyczącymi usługi Azure Monitor Application Insights i często zadawanymi pytaniami dotyczącymi platformy OpenTelemetry.