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:
- Zestawy SDK usługi Application Insights
- Dystrybucja opentelemetrii usługi Azure Monitor.
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:
- Witryna społeczności OpenTelemetry
- Specyfikacje openTelemetry
- Obserwowanie systemów rozproszonych przez Cindy Sridharan
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:
- Autoinstrumentacja
- Zestawy SDK usługi Application Insights
- Dystrybucja opentelemetrii usługi Azure Monitor
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.