Udostępnij za pośrednictwem


Metryki oparte na dzienniku i wstępnie agregowane w usłudze Application Insights

Uwaga

Poniższa dokumentacja opiera się na klasycznym interfejsie API usługi Application Insights. Długoterminowy plan usługi Application Insights polega na zbieraniu danych przy użyciu technologii OpenTelemetry. Aby uzyskać więcej informacji, zobacz Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications (Włączanie usługi Azure Monitor OpenTelemetry dla platformy .NET, Node.js, Python i Java applications).

W tym artykule wyjaśniono różnicę między "tradycyjnymi" metrykami usługi Application Insights opartymi na dziennikach i wstępnie agregowanych metrykach. Oba typy metryk są dostępne dla użytkowników usługi Application Insights. Każdy z nich zapewnia unikatową wartość monitorowania kondycji, diagnostyki i analizy aplikacji. Deweloperzy, którzy instrumentują aplikacje, mogą zdecydować, który typ metryki najlepiej nadaje się do określonego scenariusza. Decyzje są oparte na rozmiarze aplikacji, oczekiwanej ilości danych telemetrycznych i wymaganiach biznesowych dotyczących dokładności i alertów metryk.

Metryki na podstawie dzienników

W przeszłości model danych telemetrycznych monitorowania aplikacji w usłudze Application Insights był oparty wyłącznie na kilku wstępnie zdefiniowanych typach zdarzeń, takich jak żądania, wyjątki, wywołania zależności i widoki stron. Deweloperzy mogą użyć zestawu SDK do ręcznego emitowania tych zdarzeń, pisząc kod, który jawnie wywołuje zestaw SDK. Mogą też polegać na automatycznej kolekcji zdarzeń z autoinstrumentacji. W obu przypadkach zaplecze usługi Application Insights przechowuje wszystkie zebrane zdarzenia jako dzienniki. Okienka usługi Application Insights w witrynie Azure Portal działają jako narzędzie analityczne i diagnostyczne służące do wizualizowania danych opartych na zdarzeniach z dzienników.

Przechowywanie pełnego zestawu zdarzeń przy użyciu dzienników może przynieść doskonałą wartość analityczną i diagnostyczną. Możesz na przykład uzyskać dokładną liczbę żądań do określonego adresu URL z liczbą różnych użytkowników, którzy wykonali te wywołania. Możesz też uzyskać szczegółowe ślady diagnostyczne, w tym wyjątki i wywołania zależności dla dowolnej sesji użytkownika. Posiadanie tego typu informacji może poprawić widoczność kondycji i użycia aplikacji. Może również skrócić czas potrzebny do zdiagnozowania problemów z aplikacją.

Jednocześnie zbieranie pełnego zestawu zdarzeń może być niepraktyczne lub nawet niemożliwe dla aplikacji, które generują dużą ilość danych telemetrycznych. W sytuacjach, gdy ilość zdarzeń jest zbyt duża, usługa Application Insights implementuje kilka technik redukcji woluminów telemetrycznych, które zmniejszają liczbę zebranych i przechowywanych zdarzeń. Te techniki obejmują próbkowanie i filtrowanie. Niestety obniżenie liczby przechowywanych zdarzeń zmniejsza również dokładność metryk, które w tle muszą wykonywać agregacje czasu zapytania zdarzeń przechowywanych w dziennikach.

Uwaga

W usłudze Application Insights metryki oparte na agregacji czasu zapytania zdarzeń i pomiarów przechowywanych w dziennikach są nazywane metrykami opartymi na dziennikach. Te metryki zwykle mają wiele wymiarów z właściwości zdarzenia, co sprawia, że są one lepsze dla analizy. Dokładność tych metryk ma negatywny wpływ na próbkowanie i filtrowanie.

Wstępnie zagregowane metryki

Oprócz metryk opartych na dziennikach pod koniec 2018 r. zespół usługi Application Insights wysłał publiczną wersję zapoznawcza metryk przechowywanych w wyspecjalizowanym repozytorium zoptymalizowanym pod kątem szeregów czasowych. Nowe metryki nie są już przechowywane jako pojedyncze zdarzenia z dużą częścią właściwości. Zamiast tego są one przechowywane jako wstępnie agregowane szeregi czasowe i tylko z kluczowymi wymiarami. Ta zmiana sprawia, że nowe metryki są lepsze w czasie wykonywania zapytań. Pobieranie danych odbywa się szybciej i wymaga mniejszej mocy obliczeniowej. W związku z tym nowe scenariusze są włączone, takie jak alerty niemal w czasie rzeczywistym dotyczące wymiarów metryk i bardziej dynamicznych pulpitów nawigacyjnych.

Ważne

Zarówno metryki oparte na dzienniku, jak i wstępnie agregowane współistnieją w usłudze Application Insights. Aby odróżnić te dwie metryki, w środowisku użytkownika usługi Application Insights metryki wstępnie agregowane są teraz nazywane metrykami standardowymi. Nazwa tradycyjnych metryk z zdarzeń została zmieniona na metryki oparte na dzienniku.

Nowsze zestawy SDK (zestaw SDK usługi Application Insights w wersji 2.7 lub nowszej dla platformy .NET) są wstępnie agaggatene podczas zbierania. Ten proces ma zastosowanie do standardowych metryk wysyłanych domyślnie, więc dokładność nie ma wpływu na próbkowanie ani filtrowanie. Dotyczy to również metryk niestandardowych wysyłanych przy użyciu polecenia GetMetric, co skutkuje mniejszym pozyskiwaniem danych i niższym kosztem.

W przypadku zestawów SDK, które nie implementują wstępnego agregacji (czyli starszych wersji zestawów SDK usługi Application Insights lub instrumentacji przeglądarki), zaplecze usługi Application Insights nadal wypełnia nowe metryki, agregując zdarzenia odebrane przez punkt końcowy zbierania zdarzeń usługi Application Insights. Mimo że nie korzystasz z mniejszej ilości danych przesyłanych za pośrednictwem przewodu, nadal można używać wstępnie zagregowanych metryk i lepszej wydajności oraz obsługi alertów wymiarowych niemal w czasie rzeczywistym za pomocą zestawów SDK, które nie są wstępnie aagregowane metryki podczas zbierania.

Zdarzenia preaggregatacji punktu końcowego kolekcji przed próbkowaniem pozyskiwania. Z tego powodu próbkowanie pozyskiwania nigdy nie wpływa na dokładność wstępnie zagregowanych metryk, niezależnie od wersji zestawu SDK używanej z aplikacją.

Tabela metryk wstępnie zagregowanych w zestawie SDK

Bieżące produkcyjne zestawy SDK Metryki standardowe (preaggregacja zestawu SDK) Metryki niestandardowe (bez preaggregacji zestawu SDK) Metryki niestandardowe (z preaggregacją zestawu SDK)
.NET Core i .NET Framework Obsługiwane (wersja 2.13.1 lub nowsza) Obsługiwane za pomocą usługi TrackMetric Obsługiwane (wersja 2.7.2 lub nowsza) za pośrednictwem polecenia GetMetric
Java Nieobsługiwane Obsługiwane za pomocą usługi TrackMetric Nieobsługiwane
Node.js Obsługiwane (wersja 2.0.0 lub nowsza) Obsługiwane za pomocą usługi TrackMetric Nieobsługiwane
Python Nieobsługiwane Obsługiwane Częściowo obsługiwane za pośrednictwem pliku OpenCensus.stats

Uwaga

Implementacja metryk dla języka Python przy użyciu biblioteki OpenCensus.stats różni się od metody GetMetric. Aby uzyskać więcej informacji, zobacz dokumentację języka Python dotyczącą metryk.

Tabela metryk wstępnie zagregowanych bez kodu

Bieżące produkcyjne zestawy SDK Metryki standardowe (preaggregacja zestawu SDK) Metryki niestandardowe (bez preaggregacji zestawu SDK) Metryki niestandardowe (z preaggregacją zestawu SDK)
ASP.NET Obsługiwane 1 Nieobsługiwane Nieobsługiwane
ASP.NET Core Obsługiwane 2 Nieobsługiwane Nieobsługiwane
Java Nieobsługiwane Nieobsługiwane Obsługiwane
Node.js Nieobsługiwane Nieobsługiwane Nieobsługiwane
  1. ASP.NET automatycznejinstrumentacji na maszynach wirtualnych/zestawach skalowania maszyn wirtualnych i lokalnie emituje standardowe metryki bez wymiarów. To samo dotyczy usługi aplikacja systemu Azure, ale poziom kolekcji musi być ustawiony na zalecany. Zestaw SDK jest wymagany dla wszystkich wymiarów.
  2. ASP.NET Core autoinstrumentacja w usłudze App Service emituje standardowe metryki bez wymiarów. Zestaw SDK jest wymagany dla wszystkich wymiarów.

Używanie preaggregacji z metrykami niestandardowymi usługi Application Insights

Możesz użyć preaggregacji z metrykami niestandardowymi. Dwie główne korzyści to:

  • Konfigurowanie i zgłaszanie alertów dotyczących wymiaru metryki niestandardowej
  • Zmniejsz ilość danych wysyłanych z zestawu SDK do punktu końcowego kolekcji usługi Application Insights

Istnieje kilka sposobów wysyłania metryk niestandardowych z zestawu SDK usługi Application Insights. Jeśli twoja wersja zestawu SDK oferuje metody GetMetric i TrackValue, te metody są preferowanym sposobem wysyłania metryk niestandardowych. W takim przypadku wstępne agregowanie odbywa się wewnątrz zestawu SDK. Takie podejście zmniejsza ilość danych przechowywanych na platformie Azure, a także ilość danych przesyłanych z zestawu SDK do usługi Application Insights. W przeciwnym razie użyj metody trackMetric, która poprzedza zdarzenia metryk podczas pozyskiwania danych.

Niestandardowe wymiary metryk i wstępne agregowanie

Wszystkie metryki wysyłane przy użyciu interfejsu API OpenTelemetry, trackMetric lub GetMetric i TrackValue są automatycznie przechowywane w magazynach dzienników i metryk. Te metryki można znaleźć w tabeli customMetrics w usłudze Application Insights i w Eksploratorze metryk w obszarze Niestandardowa przestrzeń nazw metryk o nazwie "azure.applicationinsights". Mimo że wersja oparta na dzienniku metryki niestandardowej zawsze zachowuje wszystkie wymiary, wstępnie zagregowana wersja metryki jest domyślnie przechowywana bez wymiarów. Zachowywanie wymiarów metryk niestandardowych jest funkcją w wersji zapoznawczej, którą można włączyć na karcie Użycie i szacowany koszt , wybierając pozycję Z wymiarami w obszarze Wyślij metryki niestandardowe do magazynu metryk platformy Azure.

Zrzut ekranu przedstawiający użycie i szacowane koszty.

Normy sprzedaży

Wstępnie zagregowane metryki są przechowywane jako szeregi czasowe w usłudze Azure Monitor. Mają zastosowanie limity przydziału usługi Azure Monitor dla metryk niestandardowych.

Uwaga

Przekroczenie limitu przydziału może mieć niezamierzone konsekwencje. Usługa Azure Monitor może stać się zawodna w twojej subskrypcji lub regionie. Aby dowiedzieć się, jak uniknąć przekroczenia limitu przydziału, zobacz Ograniczenia i zagadnienia dotyczące projektowania.

Dlaczego kolekcja wymiarów metryk niestandardowych jest domyślnie wyłączona?

Kolekcja niestandardowych wymiarów metryk jest domyślnie wyłączona, ponieważ w przyszłości przechowywanie metryk niestandardowych z wymiarami będzie rozliczane oddzielnie od usługi Application Insights. Przechowywanie niewymiarowych metryk niestandardowych pozostaje bezpłatne (do limitu przydziału). Możesz dowiedzieć się więcej o nadchodzących zmianach modelu cenowych na naszej oficjalnej stronie cennika.

Tworzenie wykresów i eksplorowanie metryk wstępnie zagregowanych na podstawie dzienników i standardowych

Użyj Eksploratora metryk usługi Azure Monitor, aby wykreślić wykresy z wstępnie zagregowanych i opartych na dziennikach metryk oraz tworzyć pulpity nawigacyjne z wykresami. Po wybraniu żądanego zasobu usługi Application Insights użyj selektora przestrzeni nazw, aby przełączać się między standardowymi i opartymi na dzienniku metrykami. Możesz również wybrać niestandardową przestrzeń nazw metryki.

Zrzut ekranu przedstawiający przestrzeń nazw metryki.

Modele cen metryk usługi Application Insights

Pozyskiwanie metryk do usługi Application Insights, opartej na dzienniku lub wstępnie agregowanej, generuje koszty na podstawie rozmiaru pozyskanych danych. Aby uzyskać więcej informacji, zobacz artykuł Cennik usługi Azure Monitor Logs. Metryki niestandardowe, w tym wszystkie jego wymiary, są zawsze przechowywane w magazynie dzienników usługi Application Insights. Ponadto wstępnie zagregowana wersja metryk niestandardowych bez wymiarów jest domyślnie przekazywana do magazynu metryk.

Wybranie opcji Włącz alerty dotyczące niestandardowych wymiarów metryk w celu przechowywania wszystkich wymiarów wstępnie zagregowanych metryk w magazynie metryk może wygenerować dodatkowe koszty na podstawie niestandardowych cen metryk.

Następne kroki