Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Autoinstrumentacja, nazywana również monitorowaniem środowiska uruchomieniowego, jest najprostszym sposobem na włączenie usługi Application Insights dla usługi Azure App Service, bez konieczności wprowadzania jakichkolwiek zmian w kodzie ani zaawansowanych konfiguracji. Na podstawie konkretnego scenariusza oceń, czy potrzebujesz bardziej zaawansowanego monitorowania za pomocą instrumentacji ręcznej.
Uwaga
31 marca 2025 r. zakończy się wsparcie dla mechanizmu pobierania klucza instrumentacji. Pobieranie klucza instrumentacji będzie nadal działać, ale nie będziemy już udostępniać aktualizacji ani zapewniać wsparcia dla tej funkcji. Przejście na łańcuchy połączeń w celu skorzystania z nowych funkcji.
Włącz usługę Application Insights
Ważne
W przypadku wykrycia zarówno monitorowania automatycznej instrumentacji, jak i ręcznej instrumentacji opartej na zestawie SDK, zostaną uznane tylko ustawienia instrumentacji ręcznej. To rozwiązanie uniemożliwia wysyłanie zduplikowanych danych. Aby dowiedzieć się więcej, zobacz Rozwiązywanie problemów z integracją usługi Application Insights z usługą Azure App Service.
Uwaga
- Obsługiwane są tylko wersje długoterminowej obsługi platformy .NET Core (LTS).
- Kompaktowe wdrożenia nie są obsługiwane. Zamiast tego należy użyć instrumentacji ręcznej .
Autoinstrumentacja w witrynie Azure Portal
Wybierz pozycję Application Insights w menu nawigacji po lewej stronie usługi app Service, a następnie wybierz pozycję Włącz.
Utwórz nowy zasób lub wybierz istniejący zasób usługi Application Insights dla tej aplikacji.
Uwaga
Po wybraniu przycisku OK w celu utworzenia nowego zasobu zostanie wyświetlony monit o zastosowanie ustawień monitorowania. Wybranie pozycji Kontynuuj łączy nowy zasób usługi Application Insights z usługą aplikacji. Następnie usługa aplikacji zostanie ponownie uruchomiona.
Po określeniu, który zasób ma być używany, możesz zdecydować, w jaki sposób Application Insights ma zbierać dane dla Twojej aplikacji na każdej platformie. Opcje kolekcji ASP.NET Core są zalecane lub wyłączone.
Ręczne uaktualnianie rozszerzenia monitorowania/agenta
Uaktualnianie z wersji 2.8.9 i nowszych
Uaktualnienie z wersji 2.8.9 odbywa się automatycznie bez żadnych dodatkowych akcji. Nowe bity monitorowania są dostarczane w tle do docelowej usługi aplikacji i są pobierane po ponownym uruchomieniu aplikacji.
Aby sprawdzić, która wersja rozszerzenia jest uruchomiona, przejdź do https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Uaktualnianie z wersji 1.0.0 — 2.6.5
Począwszy od wersji 2.8.9, używane jest wstępnie zainstalowane rozszerzenie witryny. Jeśli używasz starszej wersji, możesz zaktualizować za pomocą jednego z dwóch sposobów:
Uaktualnij, włączając za pośrednictwem witryny Azure Portal: nawet jeśli masz zainstalowane rozszerzenie usługi Application Insights dla usługi App Service, interfejs użytkownika wyświetla tylko przycisk Włącz . Za kulisami stare rozszerzenie witryny prywatnej zostanie usunięte.
Uaktualnianie za pomocą programu PowerShell:
- Skonfiguruj ustawienia aplikacji, aby włączyć wstępnie zainstalowane rozszerzenie witryny
ApplicationInsightsAgent. Aby uzyskać więcej informacji, zobacz Włączanie za pomocą programu PowerShell. - Ręcznie usuń rozszerzenie prywatnej witryny o nazwie Application Insights dla usługi Azure App Service.
- Skonfiguruj ustawienia aplikacji, aby włączyć wstępnie zainstalowane rozszerzenie witryny
Jeśli uaktualnienie zostanie wykonane z wersji wcześniejszej niż 2.5.1, sprawdź, czy ApplicationInsights biblioteki DLL są usuwane z folderu bin aplikacji. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z integracją usługi Application Insights z usługą Azure App Service.
Konfigurowanie rozszerzenia monitorowania/agenta
Obecnie nie oferujemy opcji konfigurowania rozszerzenia monitorowania dla platformy ASP.NET Core.
Włączanie monitorowania po stronie klienta
Monitorowanie po stronie klienta jest domyślnie włączone dla aplikacji ASP.NET Core z kolekcją Zalecaną, niezależnie od tego, czy ustawienie aplikacji APPINSIGHTS_JAVASCRIPT_ENABLED jest obecne.
Jeśli chcesz wyłączyć monitorowanie po stronie klienta:
Wybierz pozycję Ustawienia>Konfiguracja.
W obszarze Ustawienia aplikacji utwórz Nowe ustawienie aplikacji z następującymi informacjami:
-
Nazwa:
APPINSIGHTS_JAVASCRIPT_ENABLED -
Wartość:
false
-
Nazwa:
Zapisz ustawienia. Uruchom ponownie aplikację.
Automatyzowanie monitorowania
Aby włączyć zbieranie danych telemetrycznych za pomocą usługi Application Insights, należy ustawić tylko następujące ustawienia aplikacji:
Definicje ustawień aplikacji
| Nazwa ustawienia aplikacji | Definicja | Wartość |
|---|---|---|
| ApplicationInsightsAgent_EXTENSION_VERSION | Główne rozszerzenie, które kontroluje monitorowanie środowiska uruchomieniowego. |
~2 dla systemu Windows lub ~3 dla systemu Linux |
| XDT_MicrosoftApplicationInsights_Mode | W trybie domyślnym są włączone tylko podstawowe funkcje, aby zapewnić optymalną wydajność. |
disabled lub recommended. |
| XDT_MicrosoftApplicationInsights_PreemptSdk | Tylko w przypadku aplikacji ASP.NET Core. Umożliwia współdziałanie z zestawem SDK Application Insights. Ładuje rozszerzenie obok zestawu SDK i używa go do wysyłania danych telemetrycznych. (Wyłącza zestaw SDK usługi Application Insights). | 1 |
Ustawienia aplikacji usługi App Service w ramach Azure Resource Manager
Ustawieniami aplikacji dla Azure App Service można zarządzać i konfigurować je przy użyciu szablonów Azure Resource Manager. Tej metody można użyć podczas wdrażania nowych zasobów usługi App Service za pomocą automatyzacji usługi Resource Manager lub modyfikowania ustawień istniejących zasobów.
Podstawowa struktura pliku JSON ustawień aplikacji dla zasobu usługi App Service:
"resources": [
{
"name": "appsettings",
"type": "config",
"apiVersion": "2015-08-01",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', variables('webSiteName'))]"
],
"tags": {
"displayName": "Application Insights Settings"
},
"properties": {
"key1": "value1",
"key2": "value2"
}
}
]
Automatyzowanie tworzenia zasobu usługi Application Insights i łączenie się z nowo utworzonym zasobem usługi App Service
Aby utworzyć szablon usługi Resource Manager z domyślnymi ustawieniami usługi Application Insights, rozpocznij proces tak, jakby utworzysz nową aplikację internetową z włączoną usługą Application Insights.
W witrynie Azure Portal utwórz nowy zasób aplikacji internetowej z żądanymi informacjami. Włącz usługę Application Insights na karcie Monitorowanie i bezpieczne .
Przejdź do pozycji Przeglądanie i tworzenie, a następnie wybierz pozycję Pobierz szablon do automatyzacji. Ta opcja generuje najnowszy szablon usługi Resource Manager ze skonfigurowanymi wszystkimi wymaganymi ustawieniami.
Uwaga
Poniższy przykładowy szablon dotyczy aplikacji .NET 8 (LTS) działającej w systemie Windows. Używa symboli zastępczych my-monitored-web-app dla nazwy aplikacji i aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e identyfikatora subskrypcji.
Nie zalecamy kopiowania i bezpośredniego używania go. Zamiast tego wygeneruj własny szablon na podstawie powyższych instrukcji.
Rozwiń, aby wyświetlić przykładowy szablon
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"type": "string"
},
"resourceGroupName": {
"type": "string"
},
"name": {
"type": "string"
},
"location": {
"type": "string"
},
"hostingPlanName": {
"type": "string"
},
"serverFarmResourceGroup": {
"type": "string"
},
"alwaysOn": {
"type": "bool"
},
"ftpsState": {
"type": "string"
},
"autoGeneratedDomainNameLabelScope": {
"type": "string"
},
"sku": {
"type": "string"
},
"skuCode": {
"type": "string"
},
"workerSize": {
"type": "string"
},
"workerSizeId": {
"type": "string"
},
"numberOfWorkers": {
"type": "string"
},
"currentStack": {
"type": "string"
},
"phpVersion": {
"type": "string"
},
"netFrameworkVersion": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"apiVersion": "2022-03-01",
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"tags": null,
"dependsOn": [
"microsoft.insights/components/my-monitored-web-app",
"[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
],
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [
{
"name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
"value": "[reference('microsoft.insights/components/my-monitored-web-app', '2015-05-01').ConnectionString]"
},
{
"name": "ApplicationInsightsAgent_EXTENSION_VERSION",
"value": "~2"
},
{
"name": "XDT_MicrosoftApplicationInsights_Mode",
"value": "default"
}
],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "[parameters('currentStack')]"
}
],
"phpVersion": "[parameters('phpVersion')]",
"netFrameworkVersion": "[parameters('netFrameworkVersion')]",
"alwaysOn": "[parameters('alwaysOn')]",
"ftpsState": "[parameters('ftpsState')]"
},
"serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
"clientAffinityEnabled": true,
"virtualNetworkSubnetId": null,
"httpsOnly": true,
"publicNetworkAccess": "Enabled",
"autoGeneratedDomainNameLabelScope": "[parameters('autoGeneratedDomainNameLabelScope')]"
},
"resources": [
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/scm')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
},
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/ftp')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
}
]
},
{
"apiVersion": "2018-11-01",
"name": "[parameters('hostingPlanName')]",
"type": "Microsoft.Web/serverfarms",
"location": "[parameters('location')]",
"kind": "",
"tags": null,
"dependsOn": [],
"properties": {
"name": "[parameters('hostingPlanName')]",
"workerSize": "[parameters('workerSize')]",
"workerSizeId": "[parameters('workerSizeId')]",
"numberOfWorkers": "[parameters('numberOfWorkers')]",
"zoneRedundant": false
},
"sku": {
"Tier": "[parameters('sku')]",
"Name": "[parameters('skuCode')]"
}
},
{
"apiVersion": "2020-02-02-preview",
"name": "my-monitored-web-app",
"type": "microsoft.insights/components",
"location": "centralus",
"tags": null,
"dependsOn": [
"newWorkspaceTemplate"
],
"properties": {
"ApplicationId": "[parameters('name')]",
"Request_Source": "IbizaWebAppExtensionCreate",
"Flow_Type": "Redfield",
"Application_Type": "web",
"WorkspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DefaultResourceGroup-CUS/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS"
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "newWorkspaceTemplate",
"resourceGroup": "DefaultResourceGroup-CUS",
"subscriptionId": "[parameters('subscriptionId')]",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"apiVersion": "2020-08-01",
"name": "DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS",
"type": "Microsoft.OperationalInsights/workspaces",
"location": "centralus",
"properties": {}
}
]
}
}
}
]
}
Włączanie za pomocą programu PowerShell
Aby włączyć monitorowanie aplikacji za pomocą programu PowerShell, należy zmienić tylko podstawowe ustawienia aplikacji. Poniższy przykład umożliwia monitorowanie aplikacji dla witryny internetowej o nazwie my-monitored-web-app w grupie my-resource-groupzasobów . Konfiguruje dane, które mają być wysyłane do ciągu InstrumentationKey=012345678-abcd-ef01-2345-6789abcd połączenia.
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.
Uwaga
W przypadku systemu Windows ustaw wartość ApplicationInsightsAgent_EXTENSION_VERSION na ~2.
W przypadku systemu Linux ustaw wartość ApplicationInsightsAgent_EXTENSION_VERSION na ~3.
$app = Get-AzWebApp -ResourceGroupName "my-resource-group" -Name "my-monitored-web-app" -ErrorAction Stop
$newAppSettings = @{} # Case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # Preserve non-Application-Insights application settings.
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"; # Set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~3"; # Enable the ApplicationInsightsAgent.
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop
Rozwiązywanie problemów
Zobacz dedykowany artykuł dotyczący rozwiązywania problemów.
Następne kroki
- Zapoznaj się z często zadawanymi pytaniami: Monitorowanie w usłudze Azure App Service dla platformy .NET, Node.js, Python i Aplikacje Java — często zadawane pytania.
- Włącz program .NET Profiler dla aplikacji usługi Azure App Service na żywo.
- Włącz diagnostykę platformy Azure, która ma być wysyłana do usługi Application Insights.
- Monitoruj metryki kondycji usługi, aby upewnić się, że usługa jest dostępna i szybko reaguje.
- Odbieraj powiadomienia o alertach zawsze, gdy wystąpią zdarzenia operacyjne lub metryki przekroczą próg.
- Konfigurowanie testów dostępności dla aplikacji.