Eksportowanie telemetrii z usługi Application Insights

Chcesz przechowywać dane telemetryczne dłużej niż standardowy okres przechowywania? Lub przetworzyć go w jakiś wyspecjalizowany sposób? Eksport ciągły jest idealny do tego celu. Zdarzenia, które widzisz w portalu usługi Application Szczegółowe informacje, można wyeksportować do magazynu w Microsoft Azure w formacie JSON. Z tego źródła możesz pobrać dane i napisać dowolny kod, który będzie potrzebny do ich przetwarzania.

Ważne

Eksport ciągły jest przestarzały. Migracja do zasobu usługi Application Szczegółowe informacje opartego na obszarze roboczym w celu użycia ustawień diagnostycznych do eksportowania danych telemetrycznych.

Uwaga

Eksport ciągły jest obsługiwany tylko w przypadku klasycznych zasobów usługi Application Insights. Zasoby usługi Application Insights na podstawie obszaru roboczego muszą używać ustawień diagnostycznych.

Przed skonfigurowaniem eksportu ciągłego warto rozważyć kilka alternatywnych rozwiązań:

  • Przycisk Eksportuj w górnej części karty metryk lub wyszukiwania umożliwia przenoszenie tabel i wykresów do Excel arkusza kalkulacyjnego.

  • Analiza zapewnia zaawansowany język zapytań dla telemetrii. Można również eksportować wyniki.

  • Jeśli chcesz eksplorować dane w programie Power BI, możesz to zrobić bez używania eksportu ciągłego.

  • Interfejs API REST dostępu do danych umożliwia programowy dostęp do telemetrii.

  • Możesz również uzyskać dostęp do instalacji eksportu ciągłego za pomocą programu PowerShell.

Po zakończeniu eksportu ciągłego dane są kopiowane do magazynu (w którym mogą pozostawać tak długo, jak chcesz), są nadal dostępne w chmurze Application Szczegółowe informacje przez zwykły okres przechowywania.

Obsługiwane regiony

Eksport ciągły jest obsługiwany w następujących regionach:

  • Southeast Asia
  • Kanada Środkowa
  • Indie Środkowe
  • Europa Północna
  • Południowe Zjednoczone Królestwo
  • Australia Wschodnia
  • Japonia Wschodnia
  • Korea Środkowa
  • Francja Środkowa
  • Azja Wschodnia
  • Zachodnie stany USA
  • Środkowe stany USA
  • Wschodnie stany USA 2
  • South Central US
  • Zachodnie stany USA 2
  • Północna Republika Południowej Afryki
  • Północno-środkowe stany USA
  • Brazylia Południowa
  • Szwajcaria Północna
  • Australia Południowo-Wschodnia
  • Zachodnie Zjednoczone Królestwo
  • Niemcy Środkowo-Zachodnie
  • Szwajcaria Zachodnia
  • Australia Środkowa 2
  • Środkowe Zjednoczone Emiraty Arabskie
  • Brazylia Południowo-Wschodnia
  • Australia Środkowa
  • Północne Zjednoczone Emiraty Zjednoczone
  • Holandia Wschodnia
  • Japonia Zachodnia

Uwaga

Eksport ciągły będzie nadal działać dla aplikacji w regionach Wschodnie stany USA i Europa Zachodnia, jeśli eksport został skonfigurowany przed 23 lutego 2021 r. Nowych reguł eksportu ciągłego nie można skonfigurować w żadnej aplikacji w regionach Wschodnie stany USA ani Europa Zachodnia, niezależnie od tego, kiedy aplikacja została utworzona.

Zaawansowana konfiguracja magazynu eksportu ciągłego

Eksport ciągły nie obsługuje następujących funkcji/konfiguracji usługi Azure Storage:

Tworzenie eksportu ciągłego

Uwaga

Aplikacja nie może wyeksportować więcej niż 3 TB danych dziennie. W przypadku eksportowania większej niż 3 TB dziennie eksport zostanie wyłączony. Aby wyeksportować bez limitu, użyj eksportu opartego na ustawieniach diagnostycznych.

  1. W obszarze Szczegółowe informacje aplikacji w obszarze Konfiguracja po lewej stronie otwórz eksport ciągły i wybierz pozycję Dodaj:

  2. Wybierz typy danych telemetrycznych, które chcesz wyeksportować.

  3. Utwórz lub wybierz konto usługi Azure Storage, na którym chcesz przechowywać dane. Aby uzyskać więcej informacji na temat opcji cenowych magazynu, odwiedź oficjalną stronę cennika.

    Kliknij pozycję Dodaj, Eksportuj miejsce Storage konto, a następnie utwórz nowy sklep lub wybierz istniejący sklep.

    Ostrzeżenie

    Domyślnie lokalizacja przechowywania zostanie ustawiona na ten sam region geograficzny, w którym znajduje się Szczegółowe informacje aplikacji. Jeśli przechowujesz w innym regionie, mogą zostać naliczone opłaty za transfer.

  4. Utwórz lub wybierz kontener w magazynie.

Uwaga

Po utworzeniu eksportu nowo pozysowane dane zaczną przepływać do usługi Azure Blob Storage. Eksport ciągły będzie przesyłać tylko nowe dane telemetryczne, które są tworzone/pozyskane po włączeniu eksportu ciągłego. Wszelkie dane, które istniały przed włączeniem eksportu ciągłego, nie będą eksportowane i nie ma żadnego sposobu na wsteczne wyeksportowanie wcześniej utworzonych danych przy użyciu eksportu ciągłego.

Dane w magazynie mogą być wyświetlane z opóźnieniem około godziny.

Po zakończeniu pierwszego eksportu w kontenerze usługi Azure Blob Storage znajdziesz strukturę podobną do następującej: (Ta struktura będzie się różnić w zależności od zbieranych danych).

Nazwa Opis
Dostępność Raportuje testy dostępności sieci Web.
Zdarzenie Zdarzenia niestandardowe generowane przez trackEvent().
Wyjątki Zgłasza wyjątki na serwerze i w przeglądarce.
Komunikaty Wysyłane przez trackTrace, i przez karty rejestrowania.
Metryki Generowane przez wywołania interfejsu API metryk.
Liczniki wydajności Liczniki wydajności zbierane przez program Application Szczegółowe informacje.
Żądania Wysłane przez trackRequest. Moduły standardowe używają tej funkcji do raportów czasu odpowiedzi serwera mierzonego na serwerze.

Aby edytować eksport ciągły

Kliknij eksport ciągły i wybierz konto magazynu do edycji.

Aby zatrzymać eksport ciągły

Aby zatrzymać eksport, kliknij pozycję Wyłącz. Po ponownym kliknięciu przycisku Włącz eksport zostanie uruchomiony ponownie z nowymi danymi. Nie otrzymasz danych, które dotarły do portalu, gdy eksport został wyłączony.

Aby trwale zatrzymać eksport, usuń go. Nie powoduje to usunięcia danych z magazynu.

Nie można dodać lub zmienić eksportu?

  • Aby dodać lub zmienić eksporty, musisz mieć prawa dostępu Właściciel, Współautor lub Współautor w usłudze Application Insights. Dowiedz się więcej o rolach.

Jakie zdarzenia otrzymasz?

Wyeksportowane dane to nieprzetworzone dane telemetryczne odbierane z aplikacji, z tą różnicą, że dodajemy dane lokalizacji, które obliczamy na podstawie adresu IP klienta.

Dane, które zostały odrzucone przez próbkowanie, nie są uwzględniane w wyeksportowanych danych.

Inne metryki obliczeniowe nie są uwzględniane. Na przykład nie eksportujemy średniego użycia procesora CPU, ale eksportujemy nieprzetworzone dane telemetryczne, z których jest obliczana średnia.

Dane zawierają również wyniki wszystkich testów dostępności sieci Web, które zostały już ustawione.

Uwaga

Pobierania próbek. Jeśli Twoja aplikacja wysyła dużo danych, funkcja próbkowania może działać i wysyłać tylko część wygenerowanej telemetrii. Dowiedz się więcej na temat próbkowania.

Sprawdzanie danych

Magazyn można sprawdzić bezpośrednio w portalu. Kliknij pozycję Strona główna w menu po lewej stronie, w górnej części strony z says "Azure services" (Usługi platformy Azure) wybierz pozycję Storage accounts(konta), wybierz nazwę konta magazynu, na stronie przeglądu wybierz pozycję Blobs (Obiekty blob) w obszarze services (usługi), a na koniec wybierz nazwę kontenera.

Aby sprawdzić usługę Azure Storage w Visual Studio, otwórz widok, Cloud Explorer. (Jeśli nie masz tego polecenia menu, musisz zainstalować zestaw Azure SDK: otwórz okno dialogowe Nowy Project, rozwiń pozycję Visual C#/Cloud i wybierz pozycję Pobierz Zestaw Microsoft Azure SDK dla platformy .NET).

Po otwarciu magazynu obiektów blob zobaczysz kontener z zestawem plików obiektów blob. URI każdego pliku pochodnego od nazwy zasobu application Szczegółowe informacje, jego klucza instrumentacji, typu telemetrii/daty/godziny. (Nazwa zasobu to tylko małe litery, a klucz instrumentacji pomija kreski).

Sprawdzanie magazynu obiektów blob za pomocą odpowiedniego narzędzia

Data i godzina to czas UTC, czyli czas, w którym telemetria została zdeponowana w sklepie, a nie godzina wygenerowania danych telemetrycznych. Jeśli więc napiszesz kod w celu pobrania danych, dane mogą być poruszane liniowo.

Oto forma ścieżki:

$"{applicationName}_{instrumentationKey}/{type}/{blobDeliveryTimeUtc:yyyy-MM-dd}/{ blobDeliveryTimeUtc:HH}/{blobId}_{blobCreationTimeUtc:yyyyMMdd_HHmmss}.blob"

Lokalizacja

  • blobCreationTimeUtc to czas utworzenia obiektu blob w wewnętrznym magazynie przejściowym
  • blobDeliveryTimeUtc to czas, w którym obiekt blob jest kopiowany do docelowego magazynu eksportu

Format danych

  • Każdy obiekt blob jest plikiem tekstowym, który zawiera wiele wierszy \n "rozdzielonych". Zawiera ona dane telemetryczne przetwarzane w okresie około pół minuty.

  • Każdy wiersz reprezentuje punkt danych telemetrycznych, taki jak widok żądania lub strony.

  • Każdy wiersz jest niesformatowany dokumentem JSON. Jeśli chcesz wyświetlić wiersze, otwórz obiekt blob w oknie Visual Studio wybierz pozycję Edytuj > plik > formatu zaawansowanego:

    Wyświetlanie telemetrii za pomocą odpowiedniego narzędzia

Czasy trwania są w taktach, gdzie 10 000 takt = 1 ms. Na przykład te wartości pokazują czas 1 ms na wysłanie żądania z przeglądarki, 3 ms w celu jego odbierania i 1,8 s do przetwarzania strony w przeglądarce:

"sendRequest": {"value": 10000.0},
"receiveRequest": {"value": 30000.0},
"clientProcess": {"value": 17970000.0}

Szczegółowa informacja o modelu danych dla typów i wartości właściwości.

Przetwarzanie danych

Na małą skalę możesz napisać kod, aby rozsyłać dane, odczytać je do arkusza kalkulacyjnego i tak dalej. Na przykład:

private IEnumerable<T> DeserializeMany<T>(string folderName)
{
   var files = Directory.EnumerateFiles(folderName, "*.blob", SearchOption.AllDirectories);
   foreach (var file in files)
   {
      using (var fileReader = File.OpenText(file))
      {
         string fileContent = fileReader.ReadToEnd();
         IEnumerable<string> entities = fileContent.Split('\n').Where(s => !string.IsNullOrWhiteSpace(s));
         foreach (var entity in entities)
         {
            yield return JsonConvert.DeserializeObject<T>(entity);
         }
      }
   }
}

Aby uzyskać większy przykład kodu, zobacz using a worker role (Używanie roli procesu roboczego).

Usuwanie starych danych

Użytkownik jest odpowiedzialny za zarządzanie pojemnością magazynu i usuwanie starych danych w razie potrzeby.

W przypadku ponownego wygenerowania klucza magazynu...

Jeśli zmienisz klucz do magazynu, eksport ciągły przestanie działać. Na Twoim koncie platformy Azure zostanie wyświetlone powiadomienie.

Otwórz kartę Eksport ciągły i edytuj eksport. Edytuj Miejsce docelowe eksportu, ale po prostu pozostaw wybrany ten sam magazyn. Kliknij przycisk OK, aby potwierdzić.

Eksport ciągły zostanie uruchomiony ponownie.

Eksportowanie przykładów

W przypadku większych skalach rozważ klastry HDInsight — Hadoop w chmurze. HdInsight oferuje różne technologie do zarządzania danymi big data i analizowania ich. Można ich użyć do przetwarzania danych wyeksportowanych z usługi Application Szczegółowe informacje.

Pytania i odpowiedzi

  • Ale wszystko, co chcę, to pobranie wykresu tylko raz.

    Tak, możesz to zrobić. W górnej części karty kliknij pozycję Eksportuj dane.

  • Po skonfigurowaniu eksportu nie ma żadnych danych w moim magazynie.

    Czy aplikacja Szczegółowe informacje odbierała dane telemetryczne z aplikacji od czasu skonfigurowania eksportu? Otrzymasz tylko nowe dane.

  • Próbowano skonfigurować eksport, ale odmówiono dostępu

    Jeśli konto jest własnością organizacji, musisz być członkiem grup właścicieli lub współautorów.

  • Czy można eksportować bezpośrednio do własnego sklepu lokalnego?

    Niestety, nie. Nasz aparat eksportu obecnie działa tylko z usługą Azure Storage.

  • Czy istnieje jakikolwiek limit ilości danych umieszczanych w moim magazynie?

    Nie. Będziemy wypychać dane do momentu usunięcia eksportu. Zatrzymamy się, jeśli znajdziemy zewnętrzne limity magazynu obiektów blob, ale jest to dość duże. To Ty kontrolujesz ilość miejsca do magazynowania, z których korzystasz.

  • Ile obiektów blob należy wyświetlić w magazynie?

    • Dla każdego typu danych wybranego do wyeksportowania nowy obiekt blob jest tworzony co minutę (jeśli dane są dostępne).
    • Ponadto w przypadku aplikacji o dużym natężeniu ruchu przydzielane są dodatkowe jednostki partycji. W tym przypadku każda jednostka tworzy obiekt blob co minutę.
  • Klucz został ponownie wygenerowany w magazynie lub zmieniono nazwę kontenera, a teraz eksport nie działa.

    Edytuj eksport i otwórz kartę Eksportuj miejsce docelowe. Pozostaw wybrany wcześniej ten sam magazyn, a następnie kliknij przycisk OK, aby potwierdzić. Eksport zostanie uruchomiony ponownie. Jeśli zmiana została w ciągu ostatnich kilku dni, nie utracisz danych.

  • Czy mogę wstrzymać eksport?

    Tak. Kliknij przycisk Wyłącz.

Przykłady kodu

Eksportowanie na podstawie ustawień diagnostycznych

Eksportowanie na podstawie ustawień diagnostycznych używa innego schematu niż eksport ciągły. Obsługuje również funkcje, które eksport ciągły nie jest podobny do:

  • Konta usługi Azure Storage z siecią wirtualną, zaporami i łączami prywatnymi.
  • Eksportuj do centrum zdarzeń.

Aby przeprowadzić migrację do eksportu opartego na ustawieniach diagnostycznych:

  1. Wyłącz bieżący eksport ciągły.
  2. Migrowanie aplikacji do obszaru roboczego opartego na programie.
  3. Włącz eksportowanie ustawień diagnostycznych. Wybierz pozycję Ustawienia >, aby dodać ustawienie diagnostyczne z poziomu zasobu Szczegółowe informacje aplikacji.