Instrumentacja aplikacji do monitorowania
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.
Włączanie za pomocą zestawów SDK usługi Application Insights
Wystarczy zainstalować zestaw SDK usługi Application Insights w następujących okolicznościach:
- Wymagane są niestandardowe zdarzenia i metryki
- Wymagana jest kontrola nad przepływem danych telemetrycznych
- Automatyczna instrumentacja nie jest dostępna (zazwyczaj ze względu na ograniczenia języka lub platformy)
Aby użyć zestawu SDK, należy zainstalować mały pakiet instrumentacji w aplikacji, a następnie instrumentować 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.
Lista wersji i nazw zestawu SDK jest hostowana w usłudze GitHub. Aby uzyskać więcej informacji, odwiedź stronę Wersja zestawu SDK.
Włączanie za pośrednictwem platformy OpenTelemetry
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.
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 |