Rozwiązanie do zarządzania łącznikami usługi Application Insights (przestarzałe)

Symbol usługi Application Insights

Uwaga

Dzięki obsłudze zapytań między zasobami rozwiązanie do zarządzania łącznikiem usługi Application Insights nie jest już wymagane. Został on przestarzały i usunięty z Azure Marketplace wraz z portalem pakietu OMS, który został oficjalnie przestarzały 15 stycznia 2019 r. dla chmury komercyjnej platformy Azure. Zostanie ona wycofana 30 marca 2019 r. dla chmury Azure US Government.

Istniejące połączenia będą nadal działać do 30 czerwca 2019 r. Po wycofaniu portalu pakietu OMS nie ma możliwości konfigurowania i usuwania istniejących połączeń z portalu. Zobacz Usuwanie łącznika za pomocą programu PowerShell poniżej, aby uzyskać skrypt dotyczący usuwania istniejących połączeń przy użyciu programu PowerShell.

Aby uzyskać wskazówki dotyczące wykonywania zapytań dotyczących danych dziennika usługi Application Insights dla wielu aplikacji, zobacz Unify multiple Azure Monitor Application Insights resources (Ujednolicanie wielu zasobów usługi Application Insights w usłudze Azure Monitor). Aby uzyskać więcej informacji na temat wycofywania portalu pakietu OMS, zobacz Portal pakietu OMS przechodzący na platformę Azure.

Rozwiązanie łącznika usługi Application Insights pomaga zdiagnozować problemy z wydajnością i zrozumieć, co użytkownicy robią z aplikacją podczas monitorowania za pomocą usługi Application Insights. Widoki tych samych danych telemetrycznych aplikacji, które deweloperzy widzą w usłudze Application Insights, są dostępne w usłudze Log Analytics. Jednak po zintegrowaniu aplikacji usługi Application Insights z usługą Log Analytics widoczność aplikacji jest zwiększana dzięki działaniu i danym aplikacji w jednym miejscu. Posiadanie tych samych widoków ułatwia współpracę z deweloperami aplikacji. Typowe widoki mogą pomóc skrócić czas wykrywania i rozwiązywania problemów z aplikacją i platformą.

Korzystając z rozwiązania, można wykonywać następujące czynności:

  • Wyświetlanie wszystkich aplikacji usługi Application Insights w jednym miejscu, nawet jeśli znajdują się w różnych subskrypcjach platformy Azure
  • Korelowanie danych infrastruktury z danymi aplikacji
  • Wizualizowanie danych aplikacji przy użyciu perspektyw w wyszukiwaniu dzienników
  • Przestawne z danych usługi Log Analytics do aplikacji Application Insights w Azure Portal

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Połączone źródła

W przeciwieństwie do większości innych rozwiązań usługi Log Analytics dane nie są zbierane dla łącznika usługi Application Insights przez agentów. Wszystkie dane używane przez rozwiązanie pochodzą bezpośrednio z platformy Azure.

Połączone źródło Obsługiwane Opis
Agenci dla systemu Windows Nie Rozwiązanie nie zbiera informacji z agentów systemu Windows.
Agenci dla systemu Linux Nie Rozwiązanie nie zbiera informacji z agentów systemu Linux.
Grupa zarządzania programu SCOM Nie Rozwiązanie nie zbiera informacji z agentów w połączonej grupie zarządzania programu SCOM.
Konto usługi Azure Storage Nie Rozwiązanie nie zbiera informacji z usługi Azure Storage.

Wymagania wstępne

  • Aby uzyskać dostęp do informacji o łączniku usługi Application Insights, musisz mieć subskrypcję platformy Azure
  • Musisz mieć co najmniej jeden skonfigurowany zasób usługi Application Insights.
  • Musisz być właścicielem lub współautorem zasobu usługi Application Insights.

Konfigurowanie

  1. Włącz rozwiązanie Azure Web Apps Analytics z witryny Azure Marketplace lub przy użyciu procesu opisanego w temacie Dodawanie rozwiązań usługi Log Analytics z galerii rozwiązań.
  2. Przejdź do Azure Portal. Wybierz pozycję Wszystkie usługi , aby otworzyć usługę Application Insights. Następnie wyszukaj usługę Application Insights.
  3. W obszarze Subskrypcje wybierz subskrypcję z zasobami usługi Application Insights, a następnie w obszarze Nazwa wybierz co najmniej jedną aplikację.
  4. Kliknij pozycję Zapisz.

W ciągu około 30 minut dane staną się dostępne, a kafelek usługi Application Insights zostanie zaktualizowany o dane, podobnie jak na poniższej ilustracji:

Kafelek usługi Application Insights

Inne kwestie, o których należy pamiętać:

Pakiety administracyjne

To rozwiązanie nie instaluje żadnych pakietów administracyjnych w połączonych grupach zarządzania.

Korzystanie z rozwiązania

W poniższych sekcjach opisano sposób korzystania z sekcji przedstawionych na pulpicie nawigacyjnym usługi Application Insights w celu wyświetlania danych z aplikacji i korzystania z nich.

Wyświetlanie informacji o łączniku usługi Application Insights

Kliknij kafelek application insights , aby otworzyć pulpit nawigacyjny usługi Application Insights , aby wyświetlić poniższe sekcje.

Zrzut ekranu przedstawiający pulpit nawigacyjny usługi Application Insights przedstawiający sekcje dotyczące aplikacji, ilości danych i dostępności.

Zrzut ekranu przedstawiający pulpit nawigacyjny usługi Application Insights przedstawiający sekcje dotyczące żądań serwera, niepowodzeń i wyjątków.

Pulpit nawigacyjny zawiera sekcje przedstawione w tabeli. Każda sekcja zawiera maksymalnie 10 elementów spełniających kryteria danej sekcji dla określonego zakresu i zakresu czasu. Możesz uruchomić wyszukiwanie w dzienniku, które zwraca wszystkie rekordy po kliknięciu przycisku Zobacz wszystko w dolnej części sekcji lub po kliknięciu nagłówka sekcji.

Kolumna Opis
Aplikacje — liczba aplikacji Pokazuje liczbę aplikacji w zasobach aplikacji. Wyświetla również listę nazw aplikacji i dla każdego z nich liczbę rekordów aplikacji. Kliknij liczbę, aby uruchomić wyszukiwanie w dzienniku ApplicationInsights | summarize AggregatedValue = sum(SampledCount) by ApplicationName

Kliknij nazwę aplikacji, aby uruchomić wyszukiwanie w dzienniku dla aplikacji, która pokazuje rekordy aplikacji na hosta, rekordy według typu telemetrii i wszystkie dane według typu (na podstawie ostatniego dnia).
Wolumin danych — hosty wysyłające dane Przedstawia liczbę hostów komputerów wysyłających dane. Wyświetla również listę hostów komputerów i liczbę rekordów dla każdego hosta. Kliknij liczbę, aby uruchomić wyszukiwanie w dzienniku ApplicationInsights | summarize AggregatedValue = sum(SampledCount) by Host

Kliknij nazwę komputera, aby uruchomić wyszukiwanie dziennika dla hosta, który pokazuje rekordy aplikacji na hosta, rekordy według typu telemetrii i wszystkie dane według typu (na podstawie ostatniego dnia).
Dostępność — wyniki testów sieci Web Przedstawia wykres pierścieniowy dla wyników testów internetowych wskazujący powodzenie lub niepowodzenie. Kliknij wykres, aby uruchomić wyszukiwanie w dzienniku ApplicationInsights | where TelemetryType == "Availability" | summarize AggregatedValue = sum(SampledCount) by AvailabilityResult

Wyniki pokazują liczbę przebiegów i niepowodzeń dla wszystkich testów. Przedstawia wszystkie Web Apps z ruchem przez ostatnią minutę. Kliknij nazwę aplikacji, aby wyświetlić wyszukiwanie w dzienniku zawierające szczegóły nieudanych testów sieci Web.
Żądania serwera — żądania na godzinę Przedstawia wykres liniowy żądań serwera na godzinę dla różnych aplikacji. Umieść kursor nad linią na wykresie, aby zobaczyć 3 pierwsze aplikacje odbierające żądania dotyczące punktu w czasie. Przedstawiono również listę aplikacji odbierających żądania oraz liczbę żądań dla wybranego okresu.

Kliknij wykres, aby uruchomić wyszukiwanie ApplicationInsights | where TelemetryType == "Request" | summarize AggregatedValue = sum(SampledCount) by ApplicationName, bin(TimeGenerated, 1h) w dzienniku, które pokazuje bardziej szczegółowy wykres liniowy żądań serwera na godzinę dla różnych aplikacji.

Kliknij aplikację na liście, aby uruchomić wyszukiwanie ApplicationInsights | where ApplicationName == "yourapplicationname" and TelemetryType == "Request" and iff(isnotnull(toint(RequestSuccess)), RequestSuccess == false, RequestSuccess == "false") == true dzienników, które zawiera listę żądań, wykresy żądań w czasie i czas trwania żądania oraz listę kodów odpowiedzi na żądanie.
Błędy — żądania niepowodzeń na godzinę Przedstawia wykres liniowy żądań aplikacji, które zakończyły się niepowodzeniem na godzinę. Umieść kursor na wykresie, aby wyświetlić 3 pierwsze aplikacje z żądaniami, które zakończyły się niepowodzeniem dla punktu w czasie. Przedstawia również listę aplikacji z liczbą żądań zakończonych niepowodzeniem dla każdego z nich. Kliknij wykres, aby uruchomić wyszukiwanie ApplicationInsights | where TelemetryType == "Request" and iff(isnotnull(toint(RequestSuccess)), RequestSuccess == false, RequestSuccess == "false") == true | summarize AggregatedValue = sum(SampledCount) by ApplicationName, bin(TimeGenerated, 1h) w dzienniku, które pokazuje bardziej szczegółowy wykres liniowy żądań aplikacji, które zakończyły się niepowodzeniem.

Kliknij element na liście, aby uruchomić wyszukiwanie ApplicationInsights | where ApplicationName == "yourapplicationname" and TelemetryType == "Request" and iff(isnotnull(toint(RequestSuccess)), RequestSuccess == false, RequestSuccess == "false") == true w dzienniku zawierające żądania, które zakończyły się niepowodzeniem, wykresy dla żądań niepomyślnie w czasie i czas trwania żądania oraz listę kodów odpowiedzi żądań, które zakończyły się niepowodzeniem.
Wyjątki — wyjątki na godzinę Przedstawia wykres liniowy wyjątków na godzinę. Umieść kursor na wykresie, aby zobaczyć 3 najważniejsze aplikacje z wyjątkami dla punktu w czasie. Przedstawiono również listę aplikacji z liczbą wyjątków dla każdego z nich. Kliknij wykres, aby uruchomić wyszukiwanie ApplicationInsights | where TelemetryType == "Exception" | summarize AggregatedValue = sum(SampledCount) by ApplicationName, bin(TimeGenerated, 1h) w dzienniku, które zawiera bardziej szczegółowy wykres wyjątków.

Kliknij element na liście, aby uruchomić wyszukiwanie ApplicationInsights | where ApplicationName == "yourapplicationname" and TelemetryType == "Exception" w dzienniku, które zawiera listę wyjątków, wykresy wyjątków w czasie i żądania niepomyślnie oraz listę typów wyjątków.

Po kliknięciu dowolnego elementu na pulpicie nawigacyjnym zostanie wyświetlona perspektywa usługi Application Insights w wyszukiwaniu. Perspektywa zapewnia rozszerzoną wizualizację na podstawie wybranego typu telemetrii. W związku z tym zmiany zawartości wizualizacji dla różnych typów telemetrii.

Po kliknięciu w dowolnym miejscu w sekcji Aplikacje zostanie wyświetlona domyślna perspektywa Aplikacje .

Perspektywa aplikacji usługi Application Insights

Perspektywa przedstawia przegląd wybranej aplikacji.

Sekcja Dostępność zawiera inny widok perspektyw, w którym można wyświetlić wyniki testu internetowego i powiązane żądania, które zakończyły się niepowodzeniem.

Perspektywa dostępności usługi Application Insights

Po kliknięciu w dowolnym miejscu w sekcjach Żądania serwera lub Błędy składniki perspektywy zmieniają się, aby udostępnić wizualizację powiązaną z żądaniami.

Sekcja Błędy usługi Application Insights

Po kliknięciu w dowolnym miejscu w sekcji Wyjątki zostanie wyświetlona wizualizacja dopasowana do wyjątków.

Sekcja Wyjątki usługi Application Insights

Niezależnie od tego, czy klikniesz coś na pulpicie nawigacyjnym łącznika usługi Application Insights , na samej stronie Wyszukiwania każde zapytanie zwracające dane usługi Application Insights pokazuje perspektywę usługi Application Insights. Jeśli na przykład wyświetlasz dane usługi Application Insights, * zapytanie wyświetla również kartę perspektywy, jak na poniższej ilustracji:

Application Insights

Składniki perspektywy są aktualizowane w zależności od zapytania wyszukiwania. Oznacza to, że wyniki można filtrować przy użyciu dowolnego pola wyszukiwania, które umożliwia wyświetlanie danych z:

  • Wszystkie aplikacje
  • Pojedyncza wybrana aplikacja
  • Grupa aplikacji

Przestaw do aplikacji w Azure Portal

Sekcje łącznika usługi Application Insights zostały zaprojektowane tak, aby umożliwić przestawienie się do wybranej aplikacji usługi Application Insights podczas korzystania z Azure Portal. Możesz użyć rozwiązania jako platformy monitorowania wysokiego poziomu, która ułatwia rozwiązywanie problemów z aplikacją. Jeśli widzisz potencjalny problem w dowolnej połączonej aplikacji, możesz przejść do szczegółów w wyszukiwaniu usługi Log Analytics lub przestawić ją bezpośrednio do aplikacji Application Insights.

Aby przestawić, kliknij wielokropek (...), który pojawia się na końcu każdego wiersza, a następnie wybierz pozycję Otwórz w usłudze Application Insights.

Uwaga

Otwieranie w usłudze Application Insights nie jest dostępne w Azure Portal.

Otwórz w usłudze Application Insights

Przykładowe dane skorygowane

Usługa Application Insights zapewnia korektę próbkowania , która pomaga zmniejszyć ruch telemetryczny. Po włączeniu próbkowania w aplikacji Application Insights uzyskasz zmniejszoną liczbę wpisów przechowywanych zarówno w usłudze Application Insights, jak i w usłudze Log Analytics. Podczas gdy spójność danych jest zachowywana na stronie i perspektywach łącznika usługi Application Insights , należy ręcznie poprawić próbkowane dane dla zapytań niestandardowych.

Oto przykład korekty próbkowania w zapytaniu wyszukiwania w dzienniku:

ApplicationInsights | summarize AggregatedValue = sum(SampledCount) by TelemetryType

Pole Liczba próbek jest obecne we wszystkich wpisach i pokazuje liczbę punktów danych reprezentowanych przez wpis. Jeśli włączysz próbkowanie dla aplikacji Application Insights, liczba próbek jest większa niż 1. Aby zliczyć rzeczywistą liczbę wpisów generowanych przez aplikację, zsumuj pola Liczba próbek .

Próbkowanie wpływa tylko na łączną liczbę wpisów generowanych przez aplikację. Nie musisz poprawiać próbkowania dla pól metryk, takich jak RequestDuration lub AvailabilityDuration , ponieważ te pola pokazują średnią dla reprezentowanych wpisów.

Dane wejściowe

Rozwiązanie odbiera następujące typy danych telemetrycznych z połączonych aplikacji usługi Application Insights:

  • Dostępność
  • Wyjątki
  • Żądania
  • Widoki stron — aby obszar roboczy odbierał widoki stron, należy skonfigurować aplikacje w celu zbierania tych informacji. Aby uzyskać więcej informacji, zobacz PageViews (Elementy PageView).
  • Zdarzenia niestandardowe — aby obszar roboczy odbierał zdarzenia niestandardowe, należy skonfigurować aplikacje w celu zbierania tych informacji. Aby uzyskać więcej informacji, zobacz TrackEvent.

Dane są odbierane przez usługę Log Analytics z usługi Application Insights, gdy staną się dostępne.

Dane wyjściowe

Rekord o typieapplicationInsights jest tworzony dla każdego typu danych wejściowych. Rekordy usługi ApplicationInsights mają właściwości pokazane w następujących sekcjach:

Pola ogólne

Właściwość Opis
Typ ApplicationInsights
ClientIP
TimeGenerated Czas rekordu
ApplicationId Klucz instrumentacji aplikacji Application Insights
ApplicationName Nazwa aplikacji Application Insights
RoleInstance Identyfikator hosta serwera
DeviceType Urządzenie klienckie
ScreenResolution
Kontynent Kontynent, na którym pochodzi żądanie
Kraj Kraj/region, z którego pochodzi żądanie
Prowincji Prowincja, stan lub ustawienia regionalne, z których pochodzi żądanie
City (Miasto) Miasto lub miasto, z którego pochodzi żądanie
isSynthetic Wskazuje, czy żądanie zostało utworzone przez użytkownika, czy przez metodę zautomatyzowaną. True = automatyczna metoda lub fałsz = wygenerowany użytkownik
Częstotliwość próbkowania Procent danych telemetrycznych generowanych przez zestaw SDK wysyłany do portalu. Zakres 0.0-100.0.
SampledCount 100/(PróbkowanieRate). Na przykład 4 => 25%
Isauthenticated Prawda lub fałsz
Identyfikator operacji Elementy, które mają ten sam identyfikator operacji, są wyświetlane jako elementy pokrewne w portalu. Zazwyczaj identyfikator żądania
ParentOperationID Identyfikator operacji nadrzędnej
OperationName
SessionId Identyfikator GUID umożliwiający unikatową identyfikację sesji, w której utworzono żądanie
SourceSystem ApplicationInsights

Pola specyficzne dla dostępności

Właściwość Opis
Typ telemetrii Dostępność
AvailabilityTestName Nazwa testu internetowego
AvailabilityRunLocation Źródło geograficzne żądania HTTP
AvailabilityResult Wskazuje wynik powodzenia testu internetowego
AvailabilityMessage Komunikat dołączony do testu internetowego
AvailabilityCount 100/(Częstotliwość próbkowania). Na przykład 4 => 25%
DataSizeMetricValue 1.0 lub 0.0
DataSizeMetricCount 100/(Częstotliwość próbkowania). Na przykład 4 => 25%
DostępnośćDuration Czas (w milisekundach) czasu trwania testu internetowego
AvailabilityDurationCount 100/(Częstotliwość próbkowania). Na przykład 4 => 25%
AvailabilityValue
AvailabilityMetricCount
AvailabilityTestId Unikatowy identyfikator GUID dla testu internetowego
AvailabilityTimestamp Dokładny znacznik czasu testu dostępności
AvailabilityDurationMin W przypadku przykładowych rekordów to pole pokazuje minimalny czas trwania testu internetowego (milisekund) dla reprezentowanych punktów danych
AvailabilityDurationMax W przypadku przykładowych rekordów to pole pokazuje maksymalny czas trwania testu internetowego (w milisekundach) dla reprezentowanych punktów danych
AvailabilityDurationStdDev W przypadku przykładowych rekordów to pole pokazuje odchylenie standardowe między wszystkimi czasami trwania testu internetowego (w milisekundach) dla reprezentowanych punktów danych
AvailabilityMin
AvailabilityMax
AvailabilityStdDev  

Pola specyficzne dla wyjątków

Typ ApplicationInsights
Typ telemetrii Wyjątek
Typ wyjątku Typ wyjątku
WyjątekMethod Metoda, która tworzy wyjątek
ExceptionAssembly Zestaw zawiera strukturę i wersję, a także token klucza publicznego
Grupa wyjątków Typ wyjątku
ExceptionHandledAt Wskazuje poziom, który obsłużył wyjątek
ExceptionCount 100/(Częstotliwość próbkowania). Na przykład 4 => 25%
ExceptionMessage Komunikat o wyjątku
ExceptionStack Pełny stos wyjątku
ExceptionHasStack Prawda, jeśli wyjątek ma stos

Pola specyficzne dla żądania

Właściwość Opis
Typ ApplicationInsights
Typ telemetrii Żądanie
Kod odpowiedzi Odpowiedź HTTP wysłana do klienta
RequestSuccess Wskazuje powodzenie lub niepowodzenie. TRUE lub FALSE.
RequestID Identyfikator w celu unikatowego zidentyfikowania żądania
Nazwa żądania GET/POST + baza adresów URL
RequestDuration Czas (w sekundach) czasu trwania żądania
Adres URL Adres URL żądania, który nie zawiera hosta
Host Host serwera sieci Web
UrlBase Pełny adres URL żądania
ApplicationProtocol Typ protokołu używanego przez aplikację
RequestCount 100/(Częstotliwość próbkowania). Na przykład 4 => 25%
RequestDurationCount 100/(Częstotliwość próbkowania). Na przykład 4 => 25%
RequestDurationMin W przypadku przykładowych rekordów to pole pokazuje minimalny czas trwania żądania (milisekund) dla reprezentowanych punktów danych.
RequestDurationMax W przypadku przykładowych rekordów to pole pokazuje maksymalny czas trwania żądania (w milisekundach) dla reprezentowanych punktów danych
RequestDurationStdDev W przypadku przykładowych rekordów to pole pokazuje odchylenie standardowe między wszystkimi czasami trwania żądania (w milisekundach) dla reprezentowanych punktów danych

Przykładowe wyszukiwania dzienników

To rozwiązanie nie ma zestawu przykładowych wyszukiwań w dziennikach wyświetlanych na pulpicie nawigacyjnym. Jednak przykładowe zapytania przeszukiwania dzienników z opisami są wyświetlane w sekcji Wyświetlanie informacji o łączniku usługi Application Insights .

Usuwanie łącznika za pomocą programu PowerShell

Po wycofaniu portalu pakietu OMS nie ma możliwości konfigurowania i usuwania istniejących połączeń z portalu. Istniejące połączenia można usunąć za pomocą następującego skryptu programu PowerShell. Aby wykonać tę operację, musisz być właścicielem lub współautorem obszaru roboczego i czytelnikiem zasobu usługi Application Insights.

$Subscription_app = "App Subscription Name"
$ResourceGroup_app = "App ResourceGroup"
$Application = "Application Name"
$Subscription_workspace = "Workspace Subscription Name"
$ResourceGroup_workspace = "Workspace ResourceGroup"
$Workspace = "Workspace Name"

Connect-AzAccount
Set-AzContext -SubscriptionId $Subscription_app
$AIApp = Get-AzApplicationInsights -ResourceGroupName $ResourceGroup_app -Name $Application 
Set-AzContext -SubscriptionId $Subscription_workspace
Remove-AzOperationalInsightsDataSource -WorkspaceName $Workspace -ResourceGroupName $ResourceGroup_workspace -Name $AIApp.Id

Listę aplikacji można pobrać przy użyciu następującego skryptu programu PowerShell, który wywołuje wywołanie interfejsu API REST.

Connect-AzAccount
$Tenant = "TenantId"
$Subscription_workspace = "Workspace Subscription Name"
$ResourceGroup_workspace = "Workspace ResourceGroup"
$Workspace = "Workspace Name"
$AccessToken = "AAD Authentication Token" 

Set-AzContext -SubscriptionId $Subscription_workspace
$LAWorkspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $ResourceGroup_workspace -Name $Workspace

$Headers = @{
    "Authorization" = "Bearer $($AccessToken)"
    "x-ms-client-tenant-id" = $Tenant
}

$Connections = Invoke-RestMethod -Method "GET" -Uri "https://management.azure.com$($LAWorkspace.ResourceId)/dataSources/?%24filter=kind%20eq%20'ApplicationInsights'&api-version=2015-11-01-preview" -Headers $Headers
$ConnectionsJson = $Connections | ConvertTo-Json

Ten skrypt wymaga tokenu uwierzytelniania elementu nośnego do uwierzytelniania w usłudze Azure Active Directory. Jednym ze sposobów pobrania tego tokenu jest użycie artykułu w witrynie dokumentacji interfejsu API REST. Kliknij pozycję Wypróbuj i zaloguj się do subskrypcji platformy Azure. Token elementu nośnego można skopiować z podglądu żądania , jak pokazano na poniższej ilustracji.

Token elementu nośnego

Możesz również pobrać listę aplikacji, używając zapytania dziennika:

ApplicationInsights | summarize by ApplicationName

Następne kroki