Udostępnij za pośrednictwem


Zasoby usługi Application Insights oparte na obszarze roboczym

Zasoby oparte na obszarze roboczym usługi Azure Monitor Application Insights integrują usługę Application Insights i usługę Log Analytics.

W przypadku zasobów opartych na obszarze roboczym usługa Application Insights wysyła dane telemetryczne do wspólnego obszaru roboczego usługi Log Analytics , zapewniając pełny dostęp do wszystkich funkcji usługi Log Analytics przy zachowaniu dzienników aplikacji, infrastruktury i platformy w jednej skonsolidowanej lokalizacji. Ta integracja umożliwia wspólną kontrolę dostępu opartą na rolach platformy Azure w zasobach i eliminuje potrzebę zapytań między aplikacjami/obszarami roboczymi.

Uwaga

Pozyskiwanie i przechowywanie danych dla zasobów usługi Application Insights opartych na obszarze roboczym są rozliczane za pośrednictwem obszaru roboczego usługi Log Analytics, w którym znajdują się dane. Aby dowiedzieć się więcej na temat rozliczeń dla zasobów usługi Application Insights opartych na obszarze roboczym, zobacz Szczegóły cennika dzienników usługi Azure Monitor.

Nowe możliwości

Usługa Application Insights oparta na obszarze roboczym integruje się z usługami Azure Monitor i Log Analytics, aby zwiększyć możliwości:

Tworzenie zasobu opartego na obszarze roboczym

Zaloguj się do witryny Azure Portal i utwórz zasób usługi Application Insights.

Zrzut ekranu przedstawiający zasób usługi Application Insights oparty na obszarze roboczym.

Jeśli nie masz istniejącego obszaru roboczego usługi Log Analytics, zapoznaj się z dokumentacją tworzenia obszaru roboczego usługi Log Analytics.

Zasoby oparte na obszarze roboczym są obecnie dostępne we wszystkich regionach komercyjnych i w usłudze Azure Government. Posiadanie usług Application Insights i Log Analytics w dwóch różnych regionach może mieć wpływ na opóźnienie i zmniejszyć ogólną niezawodność rozwiązania do monitorowania.

Po utworzeniu zasobu zobaczysz odpowiednie informacje o obszarze roboczym w okienku Przegląd .

Zrzut ekranu przedstawiający nazwę obszaru roboczego.

Wybierz niebieski tekst linku, aby przejść do skojarzonego obszaru roboczego usługi Log Analytics, w którym można korzystać z nowego ujednoliconego środowiska zapytań obszaru roboczego.

Uwaga

Nadal zapewniamy pełną zgodność z poprzednimi wersjami dla klasycznych zapytań zasobów usługi Application Insights, skoroszytów i alertów opartych na dziennikach. Aby wykonać zapytanie lub wyświetlić nową strukturę lub schemat tabel opartych na obszarze roboczym, musisz najpierw przejść do obszaru roboczego usługi Log Analytics. Wybierz pozycję Dzienniki (analiza) w okienkach usługi Application Insights , aby uzyskać dostęp do klasycznego środowiska zapytań usługi Application Insights.

Kopiowanie parametrów połączenia

Parametry połączenia identyfikuje zasób, z którym chcesz skojarzyć dane telemetryczne. Można go również użyć do modyfikowania punktów końcowych używanych przez zasób jako miejsca docelowego dla telemetrii. Musisz skopiować parametry połączenia i dodać ją do kodu aplikacji lub do zmiennej środowiskowej.

Konfigurowanie monitorowania

Po utworzeniu zasobu usługi Application Insights opartego na obszarze roboczym należy skonfigurować monitorowanie.

Monitorowanie aplikacji opartych na kodzie

W przypadku monitorowania aplikacji opartych na kodzie należy zainstalować odpowiedni zestaw SDK usługi Application Insights i wskazać parametry połączenia nowo utworzonym zasobowi.

Aby uzyskać informacje na temat konfigurowania zestawu SDK usługi Application Insights na potrzeby monitorowania opartego na kodzie, zobacz następującą dokumentację specyficzną dla języka lub platformy:

Monitorowanie bez użycia kodu

W celu monitorowania bez kodu usług, takich jak Azure Functions i aplikacja systemu Azure Services, można najpierw utworzyć zasób usługi Application Insights oparty na obszarze roboczym. Następnie należy wskazać ten zasób podczas konfigurowania monitorowania. Alternatywnie możesz utworzyć nowy zasób usługi Application Insights w ramach włączania usługi Application Insights.

Automatyczne tworzenie zasobu

Interfejs wiersza polecenia platformy Azure

Aby uzyskać dostęp do poleceń interfejsu wiersza polecenia platformy Azure usługi Application Insights w wersji zapoznawczej, należy najpierw uruchomić następujące polecenie:

 az extension add -n application-insights

Jeśli polecenie nie zostanie uruchomione az extension add , zostanie wyświetlony komunikat o błędzie informujący o błędzie az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'.

Teraz możesz uruchomić następujący kod, aby utworzyć zasób usługi Application Insights:

az monitor app-insights component create --app
                                         --location
                                         --resource-group
                                         [--application-type]
                                         [--ingestion-access {Disabled, Enabled}]
                                         [--kind]
                                         [--only-show-errors]
                                         [--query-access {Disabled, Enabled}]
                                         [--tags]
                                         [--workspace]

Przykład

az monitor app-insights component create --app demoApp --location eastus --kind web -g my_resource_group --workspace "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"

Aby uzyskać pełną dokumentację interfejsu wiersza polecenia platformy Azure dla tego polecenia, zobacz dokumentację interfejsu wiersza polecenia platformy Azure.

Azure PowerShell

Utwórz nowy zasób usługi Application Insights oparty na obszarze roboczym.

New-AzApplicationInsights -Name <String> -ResourceGroupName <String> -Location <String> -WorkspaceResourceId <String>
   [-SubscriptionId <String>]
   [-ApplicationType <ApplicationType>]
   [-DisableIPMasking]
   [-DisableLocalAuth]
   [-Etag <String>]
   [-FlowType <FlowType>]
   [-ForceCustomerStorageForProfiler]
   [-HockeyAppId <String>]
   [-ImmediatePurgeDataOn30Day]
   [-IngestionMode <IngestionMode>]
   [-Kind <String>]
   [-PublicNetworkAccessForIngestion <PublicNetworkAccessType>]
   [-PublicNetworkAccessForQuery <PublicNetworkAccessType>]
   [-RequestSource <RequestSource>]
   [-RetentionInDays <Int32>]
   [-SamplingPercentage <Double>]
   [-Tag <Hashtable>]
   [-DefaultProfile <PSObject>]
   [-Confirm]
   [-WhatIf]
   [<CommonParameters>]

Przykład

New-AzApplicationInsights -Kind java -ResourceGroupName testgroup -Name test1027 -location eastus -WorkspaceResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"

Aby uzyskać pełną dokumentację programu PowerShell dotyczącą tego polecenia cmdlet i dowiedzieć się, jak pobrać parametry połączenia, zobacz dokumentację programu Azure PowerShell.

Szablony usługi Azure Resource Manager

@description('Name of Application Insights resource.')
param name string

@description('Type of app you are deploying. This field is for legacy reasons and will not impact the type of App Insights resource you deploy.')
param type string

@description('Which Azure Region to deploy the resource to. This must be a valid Azure regionId.')
param regionId string

@description('See documentation on tags: https://learn.microsoft.com/azure/azure-resource-manager/management/tag-resources.')
param tagsArray object

@description('Source of Azure Resource Manager deployment')
param requestSource string

@description('Log Analytics workspace ID to associate with your Application Insights resource.')
param workspaceResourceId string

resource component 'Microsoft.Insights/components@2020-02-02' = {
  name: name
  location: regionId
  tags: tagsArray
  kind: 'other'
  properties: {
    Application_Type: type
    Flow_Type: 'Bluefield'
    Request_Source: requestSource
    WorkspaceResourceId: workspaceResourceId
  }
}

Plik parametrów

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "name": {
      "value": "my_workspace_based_resource"
    },
    "type": {
      "value": "web"
    },
    "regionId": {
      "value": "westus2"
    },
    "tagsArray": {
      "value": {}
    },
    "requestSource": {
      "value": "CustomDeployment"
    },
    "workspaceResourceId": {
      "value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testxxxx/providers/microsoft.operationalinsights/workspaces/testworkspace"
    }
  }
}

Modyfikowanie skojarzonego obszaru roboczego

Po utworzeniu zasobu usługi Application Insights opartego na obszarze roboczym można zmodyfikować skojarzony obszar roboczy usługi Log Analytics.

W okienku zasobów usługi Application Insights wybierz pozycję Właściwości>Zmień obszary robocze>usługi Log Analytics.

Eksportowanie telemetrii

Starsza funkcja eksportu ciągłego nie jest obsługiwana w przypadku zasobów opartych na obszarze roboczym. Zamiast tego wybierz pozycję Ustawienia>diagnostyczne Dodaj ustawienie diagnostyczne w zasobie usługi Application Insights. Możesz wybrać wszystkie tabele lub podzbiór tabel, aby zarchiwizować je na koncie magazynu. Możesz również przesyłać strumieniowo do centrum zdarzeń platformy Azure.

Uwaga

Wyeksportowanie ustawień diagnostycznych może zwiększyć koszty. Więcej informacji znajduje się w temacie Przechwytywanie telemetrii z usługi Application Insights. Aby uzyskać informacje o cenach tej funkcji, zobacz stronę cennika usługi Azure Monitor. Przed rozpoczęciem rozliczeń powiadomienia będą wysyłane. Jeśli po upływie okresu powiadomienia będziesz nadal używać eksportu danych telemetrycznych, opłaty będą naliczane zgodnie z odpowiednią stawką.

Ile zasobów usługi Application Insights należy wdrożyć?

Podczas tworzenia następnej wersji aplikacji internetowej nie chcesz mieszać telemetrii usługi Application Insights z nowej wersji i już wydanej wersji.

Aby uniknąć nieporozumień, wyślij dane telemetryczne z różnych etapów programowania, aby oddzielić zasoby usługi Application Insights od oddzielnych parametry połączenia.

Jeśli system jest wystąpieniem usług Azure Cloud Services, istnieje inna metoda ustawiania oddzielnych parametry połączenia.

Informacje o zasobach i parametry połączenia

Podczas konfigurowania monitorowania usługi Application Insights dla aplikacji internetowej należy utworzyć zasób usługi Application Insights na platformie Azure. Otwórz zasób w witrynie Azure Portal, aby wyświetlić i przeanalizować dane telemetryczne zebrane z aplikacji. Parametry połączenia identyfikuje zasób. Po zainstalowaniu pakietu usługi Application Insights w celu monitorowania aplikacji należy skonfigurować go przy użyciu parametry połączenia, aby wiedział, gdzie wysyłać dane telemetryczne.

Każdy zasób usługi Application Insights zawiera metryki, które są dostępne w pudełku. Jeśli oddzielne składniki będą raportować do tego samego zasobu usługi Application Insights, alerty dotyczące tych metryk mogą nie mieć sensu.

Kiedy należy używać pojedynczego zasobu usługi Application Insights

Użyj pojedynczego zasobu usługi Application Insights dla:

  • Usprawnianie zarządzania metodykami DevOps/ITOps dla aplikacji wdrożonych razem, zwykle opracowywanych i zarządzanych przez ten sam zespół.
  • Scentralizowanie kluczowych wskaźników wydajności, takich jak czasy odpowiedzi i współczynniki awarii, domyślnie na pulpicie nawigacyjnym. W razie potrzeby segmentuj według nazwy roli w Eksploratorze metryk.
  • Jeśli nie ma potrzeby innego zarządzania kontrolą dostępu opartą na rolach platformy Azure między składnikami aplikacji.
  • W przypadku identycznych kryteriów alertów metryk wystarczy ciągłe eksporty i zarządzanie rozliczeniami/limitami przydziału między składnikami.
  • Jeśli klucz interfejsu API jest akceptowalny w celu uzyskania dostępu do danych ze wszystkich składników, a 10 kluczy interfejsu API spełnia wymagania wszystkich składników.
  • Gdy te same ustawienia integracji funkcji wykrywania inteligentnego i elementu roboczego są odpowiednie dla wszystkich ról.

Uwaga

Jeśli chcesz skonsolidować wiele zasobów usługi Application Insights, możesz wskazać istniejące składniki aplikacji na nowy, skonsolidowany zasób usługi Application Insights. Dane telemetryczne przechowywane w starym zasobie nie zostaną przeniesione do nowego zasobu. Usuń stary zasób tylko wtedy, gdy masz wystarczającą ilość danych telemetrycznych w nowym zasobie na potrzeby ciągłości działania.

Inne uwagi

Aby aktywować środowiska portalu, dodaj niestandardowy kod w celu przypisania znaczących wartości do atrybutu Cloud_RoleName . Bez tych wartości funkcje portalu nie działają.

W przypadku aplikacji usługi Azure Service Fabric i klasycznych usług w chmurze zestaw SDK automatycznie konfiguruje usługi, odczytując ze środowiska roli platformy Azure. W przypadku innych typów aplikacji zazwyczaj trzeba je jawnie ustawić.

Metryki na żywo nie mogą dzielić danych według nazwy roli.

Tworzenie większej liczby zasobów usługi Application Insights

Aby utworzyć zasób usługi Applications Insights, zobacz Tworzenie zasobu usługi Application Insights.

Ostrzeżenie

Jeśli zasób usługi Application Insights monitoruje zasób platformy Azure (tj. producent telemetrii) w innym regionie, może zostać naliczony dodatkowy koszt sieci. Koszty będą się różnić w zależności od regionu, z którego pochodzą dane telemetryczne i skąd się ona dzieje. Aby uzyskać szczegółowe informacje, zapoznaj się z cennikiem przepustowości platformy Azure.

Pobieranie parametrów połączenia

Parametry połączenia identyfikuje utworzony zasób.

Potrzebujesz parametry połączenia wszystkich zasobów, do których aplikacja wysyła dane.

Filtruj numer kompilacji

Podczas publikowania nowej wersji aplikacji chcesz mieć możliwość oddzielenia danych telemetrycznych od różnych kompilacji.

Możesz ustawić właściwość Wersja aplikacji, aby można było filtrować wyniki wyszukiwania i eksploratora metryk.

Istnieje kilka różnych metod ustawiania właściwości Wersja aplikacji.

  • Ustaw bezpośrednio:

    telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;

  • Zawijaj ten wiersz w inicjatorze telemetrii, aby upewnić się, że wszystkie TelemetryClient wystąpienia są ustawione spójnie.

  • ASP.NET: ustaw wersję w pliku BuildInfo.config. Moduł internetowy pobiera wersję z węzła BuildLabel . Dołącz ten plik do projektu i pamiętaj, aby ustawić właściwość Kopiuj zawsze w Eksplorator rozwiązań.

    <?xml version="1.0" encoding="utf-8"?>
    <DeploymentEvent xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/DeploymentEvent/2013/06">
      <ProjectName>AppVersionExpt</ProjectName>
      <Build type="MSBuild">
        <MSBuild>
          <BuildLabel kind="label">1.0.0.2</BuildLabel>
        </MSBuild>
      </Build>
    </DeploymentEvent>
    
    
  • ASP.NET: Wygeneruj BuildInfo.config automatycznie w akompiluj aparat Microsoft Build Engine. Dodaj kilka wierszy do .csproj pliku:

    <PropertyGroup>
      <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>    <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
    </PropertyGroup>
    

    Ten krok generuje plik o nazwie yourProjectName.BuildInfo.config. Proces publikowania zmienia jego nazwę na BuildInfo.config.

    Etykieta kompilacji zawiera symbol (*AutoGen_...*) zastępczy podczas kompilacji za pomocą programu Visual Studio. Jednak podczas kompilowania za pomocą aparatu Microsoft Build Engine jest on wypełniany prawidłowym numerem wersji.

    Aby zezwolić aparatowi Microsoft Build Engine na generowanie numerów wersji, ustaw wersję podobną 1.0.* do w pliku AssemblyReference.cs.

Śledzenie wersji i wydania

Aby śledzić wersję aplikacji, upewnij się, że proces aparatu Microsoft Build Engine generuje buildinfo.configwartość . .csproj W pliku dodaj:

<PropertyGroup>
  <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
  <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>

Gdy moduł internetowy usługi Application Insights zawiera informacje o kompilacji, automatycznie dodaje wersję aplikacji jako właściwość do każdego elementu telemetrii. Z tego powodu można filtrować według wersji podczas wyszukiwania diagnostycznego lub eksplorowania metryk.

Aparat Microsoft Build Engine generuje wyłącznie numer wersji kompilacji, a nie kompilację dewelopera z programu Visual Studio.

Adnotacje dotyczące wersji

Jeśli używasz usługi Azure DevOps, możesz uzyskać znacznik adnotacji dodany do wykresów przy każdym wydaniu nowej wersji.

Często zadawane pytania

Ta sekcja zawiera odpowiedzi na typowe pytania.

Jak mogę przenieść zasób usługi Application Insights do nowego regionu?

Przenoszenie istniejących zasobów usługi Application Insights między regionami nie jest obsługiwane i nie można migrować danych historycznych do nowego regionu. Obejście obejmuje:

  • Tworzenie nowego zasobu usługi Application Insights opartego na obszarze roboczym w żądanym regionie.
  • Utwórz ponownie wszystkie unikatowe dostosowania z oryginalnego zasobu w nowym.
  • Aktualizowanie aplikacji przy użyciu parametry połączenia nowego zasobu regionu.
  • Testowanie w celu upewnienia się, że wszystko działa zgodnie z oczekiwaniami przy użyciu nowego zasobu usługi Application Insights.
  • Zdecyduj się zachować lub usunąć oryginalny zasób usługi Application Insights. Usunięcie zasobu klasycznego oznacza utratę wszystkich danych historycznych. Jeśli zasób jest oparty na obszarze roboczym, dane pozostają w usłudze Log Analytics, umożliwiając dostęp do danych historycznych do momentu wygaśnięcia okresu przechowywania.

Unikatowe dostosowania, które często wymagają ręcznego ponownego utworzenia lub zaktualizowania zasobu w nowym regionie, ale nie są ograniczone do następujących elementów:

  • Utwórz ponownie niestandardowe pulpity nawigacyjne i skoroszyty.
  • Utwórz ponownie lub zaktualizuj zakres dowolnych alertów dzienników niestandardowych/metryk.
  • Utwórz ponownie alerty dostępności.
  • Utwórz ponownie dowolne niestandardowe ustawienia kontroli dostępu opartej na rolach platformy Azure, które są wymagane dla użytkowników w celu uzyskania dostępu do nowego zasobu.
  • Replikuj ustawienia obejmujące próbkowanie pozyskiwania, przechowywanie danych, dzienny limit i włączanie metryk niestandardowych. Te ustawienia są kontrolowane za pośrednictwem okienka Użycie i szacowane koszty .
  • Każda integracja, która opiera się na kluczach interfejsu API, takich jak adnotacje wydania i bezpieczny kanał kontroli metryk na żywo. Musisz wygenerować nowe klucze interfejsu API i zaktualizować skojarzą integrację.
  • Eksport ciągły w zasobach klasycznych musi zostać ponownie skonfigurowany.
  • Należy ponownie skonfigurować ustawienia diagnostyczne w zasobach opartych na obszarze roboczym.

Uwaga

Jeśli zasób tworzony w nowym regionie zastępuje klasyczny zasób, zalecamy zapoznanie się z zaletami tworzenia nowego zasobu opartego na obszarze roboczym. Alternatywnie zmigruj istniejący zasób do obszaru roboczego.

Czy mogę używać dostawców ('Microsoft.Insights', 'components').apiVersions[0] we wdrożeniach usługi Azure Resource Manager?

Nie zalecamy używania tej metody wypełniania wersji interfejsu API. Najnowsza wersja może reprezentować wersje zapoznawcza, które mogą zawierać zmiany powodujące niezgodność. Nawet w przypadku nowszych wersji innych niż wersja zapoznawcza wersje interfejsu API nie zawsze są zgodne z poprzednimi wersjami z istniejącymi szablonami. W niektórych przypadkach wersja interfejsu API może nie być dostępna dla wszystkich subskrypcji.

Następne kroki