Usługa Application Insights integruje się z usługą Log Analytics i wysyła dane telemetryczne do wspólnego obszaru roboczego usługi Log Analytics. Ta konfiguracja zapewnia pełny dostęp do funkcji usługi Log Analytics, konsoliduje dzienniki w jednej lokalizacji i umożliwia ujednoliconą kontrolę dostępu opartą na rolach platformy Azure , która eliminuje potrzebę zapytań między aplikacjami/obszarami roboczymi.
Ulepszone możliwości obejmują:
W tym artykule przedstawiono sposób tworzenia i konfigurowania zasobów usługi Application Insights. Oprócz samego zasobu usługi Application Insights można dodawać różne konfiguracje, takie jak ustawianie dziennego limitu i planu cenowego. Można również tworzyć testy dostępności, konfigurować alerty metryk i automatyzować proces przy użyciu usługi Azure Resource Manager.
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ń, zobacz Szczegóły cennika dzienników usługi Azure Monitor.
Wymagania wstępne
- Aktywna subskrypcja platformy Azure.
- Niezbędne uprawnienia do tworzenia zasobów.
Wymagania dodatkowe
Brak dodatkowych wymagań.
Aby uzyskać dostęp do poleceń Azure CLI usługi Application Insights, najpierw należy uruchomić:
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'
.
Szablony Bicep można wdrażać za pośrednictwem interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell i witryny Azure Portal. Sprawdź odpowiednie karty, aby uzyskać dodatkowe wymagania.
Szablony usługi ARM można wdrażać za pośrednictwem interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell i witryny Azure Portal. Sprawdź odpowiednie karty, aby uzyskać dodatkowe wymagania.
Utwórz zasób Application Insights
- Zaloguj się do witryny Azure Portal.
- Wybierz pozycję Utwórz zasób.
- Otwórz kategorię Monitorowanie i diagnostyka, a następnie wybierz pozycję Application Insights.
- Wprowadź wszystkie istotne informacje, a następnie przejrzyj i utwórz zasób usługi Application Insights.
Uwaga
Jeśli nie połączysz się z istniejącym obszarem roboczym usługi Log Analytics podczas tworzenia zasobu, zostanie utworzony automatycznie nowy zasób usługi Log Analytics wraz z zasobem usługi Application Insights.
Po utworzeniu zasobu możesz znaleźć odpowiednie informacje o obszarze roboczym w okienku Przegląd usługi Application Insights.
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.
Aby utworzyć zasób usługi Application Insights oparty na obszarze roboczym, wymagany jest obszar roboczy usługi Log Analytics. Jeśli jeszcze go nie masz, możesz użyć następującego polecenia interfejsu wiersza polecenia platformy Azure, aby go utworzyć.
Symbole zastępcze: <resource-group-name>
, <log-analytics-workspace-name>
, <azure-region-name>
az monitor log-analytics workspace create --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --location <azure-region-name>
Aby utworzyć zasób usługi Application Insights, uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure w terminalu.
Symbole zastępcze: <application-insights-resource-name>
, <azure-region-name>
, <resource-group-name>
, <log-analytics-workspace-name>
az monitor app-insights component create --app <application-insights-resource-name> --location <azure-region-name> --resource-group <resource-group-name> --workspace <log-analytics-workspace-name>
Aby uzyskać więcej informacji na temat tworzenia zasobów usługi Application Insights i obszarów roboczych usługi Log Analytics przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz dokumentację interfejsu wiersza polecenia platformy Azure dotyczącą usługi Application Insights i usługi Log Analytics.
Aby utworzyć zasób usługi Application Insights oparty na obszarze roboczym, wymagany jest obszar roboczy usługi Log Analytics. Jeśli jeszcze go nie masz, możesz użyć następującego polecenia programu Azure PowerShell, aby je utworzyć.
Symbole zastępcze: <resource-group-name>
, <log-analytics-workspace-name>
, <azure-region-name>
New-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Location <azure-region-name>
Aby utworzyć zasób usługi Application Insights, uruchom następujące polecenie programu Azure PowerShell w terminalu.
Symbole zastępcze: <resource-group-name>
, , <application-insights-resource-name>
, <azure-region-name>
,<subscription-id>
<log-analytics-workspace-name>
New-AzApplicationInsights -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> -Location <azure-region-name> -WorkspaceResourceId /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>
Aby uzyskać więcej informacji na temat tworzenia zasobów usługi Application Insights i obszarów roboczych usługi Log Analytics przy użyciu programu Azure PowerShell, zobacz dokumentację programu Azure PowerShell dotyczącą usługi Application Insights i usługi Log Analytics.
Aby utworzyć zasób usługi Application Insights oparty na obszarze roboczym, wymagany jest obszar roboczy usługi Log Analytics. Jeśli jeszcze go nie masz, możesz użyć następującego wywołania interfejsu API REST, aby go utworzyć.
Symbole zastępcze: <subscription-id>
, <resource-group-name>
, <log-analytics-workspace-name>
, <access-token>
, <azure-region-name>
PUT https://management.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>?api-version=2023-09-01
Authorization: Bearer <access-token>
Content-Type: application/json
{
"location": "<azure-region-name>"
}
Aby utworzyć zasób usługi Application Insights przy użyciu interfejsu API REST, użyj następującego żądania.
Symbole zastępcze: <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <access-token>
, <application-type>
, <azure-region-name>
, <log-analytics-workspace-name>
PUT https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Insights/components/<application-insights-resource-name>?api-version=2020-02-02
Authorization: Bearer <access-token>
Content-Type: application/json
{
"kind": "<application-type>",
"location": "<azure-region-name>",
"properties": {
"Application_Type": "<application-type>",
"WorkspaceResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>"
}
}
Aby uzyskać więcej informacji na temat tworzenia zasobów usługi Application Insights i obszarów roboczych usługi Log Analytics przy użyciu interfejsu API REST, zobacz dokumentację interfejsu API REST dotyczącą usługi Application Insights i usługi Log Analytics.
Poniżej przedstawiono sposób tworzenia nowego zasobu usługi Application Insights przy użyciu szablonu Bicep.
Tworzenie szablonu
Utwórz nowy plik bicep (na przykład my-template.bicep), skopiuj do niego następującą zawartość:
param name string
param type string
param regionId string
param requestSource string
param workspaceResourceId string
resource appInsights 'Microsoft.Insights/components@2020-02-02' = {
name: name
location: regionId
tags: tagsArray
kind: 'other'
properties: {
Application_Type: type
Request_Source: requestSource
WorkspaceResourceId: workspaceResourceId
}
}
Tworzenie pliku parametrów
Utwórz nowy plik .bicepparam (na przykład my-parameters.bicepparam), skopiuj do niego następującą zawartość i zastąp symbole zastępcze <application-insights-resource-name>
, <application-type>
, <azure-region-name>
, <subscription-id>
, <resource-group-name>
, i <log-analytics-workspace-name>
określonymi wartościami:
using 'my-template.bicep'
param name string = '<application-insights-resource-name>'
param type string = '<application-type>'
param regionId string = '<azure-region-name>'
param requestSource string = 'CustomDeployment'
param workspaceResourceId string = '/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<log-analytics-workspace-name>'
Użyj szablonu, aby utworzyć nowy zasób usługi Application Insights
W programie PowerShell zaloguj się do platformy Azure przy użyciu polecenia $Connect-AzAccount
.
Ustaw kontekst na subskrypcję z wartością Set-AzContext "<subscription ID>"
.
Uruchom nowe wdrożenie, aby utworzyć nowy zasób usługi Application Insights:
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.bicep -TemplateParameterFile my-parameters.bicepparam
-
-ResourceGroupName
to grupa, w której chcesz utworzyć nowe zasoby.
-
-TemplateFile
musi wystąpić przed parametrami niestandardowymi.
-
-TemplateParameterFile
to nazwa pliku parametrów.
Możesz dodać inne parametry. Ich opisy można znaleźć w sekcji parameters szablonu.
Poniżej przedstawiono sposób tworzenia nowego zasobu usługi Application Insights przy użyciu szablonu usługi ARM.
Tworzenie szablonu
Utwórz nowy plik .json (na przykład my-template.json) i skopiuj do niego następującą zawartość:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"type": "string",
"metadata": {
"description": "Name of Application Insights resource."
}
},
"type": {
"type": "string",
"metadata": {
"description": "Type of app you are deploying. This field is for legacy reasons and will not impact the type of Application Insights resource you deploy."
}
},
"regionId": {
"type": "string",
"metadata": {
"description": "Which Azure region to deploy the resource to. This must be a valid Azure regionId."
}
},
"tagsArray": {
"type": "object",
"metadata": {
"description": "See documentation on tags: https://learn.microsoft.com/azure/azure-resource-manager/management/tag-resources."
}
},
"requestSource": {
"type": "string",
"metadata": {
"description": "Source of Azure Resource Manager deployment"
}
},
"workspaceResourceId": {
"type": "string",
"metadata": {
"description": "Log Analytics workspace ID to associate with your Application Insights resource."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/components",
"apiVersion": "2020-02-02",
"name": "[parameters('name')]",
"location": "[parameters('regionId')]",
"tags": "[parameters('tagsArray')]",
"kind": "other",
"properties": {
"Application_Type": "[parameters('type')]",
"Request_Source": "[parameters('requestSource')]",
"WorkspaceResourceId": "[parameters('workspaceResourceId')]"
}
}
]
}
Uwaga
Aby uzyskać więcej informacji na temat właściwości zasobu, zobacz Wartości właściwości.
Flow_Type
i Request_Source
nie są używane, ale są uwzględnione w tym przykładzie w celu ukończenia.
Tworzenie pliku parametrów
Utwórz nowy plik .json (na przykład my-parameters.json), skopiuj do niego następującą zawartość i zastąp symbole <application-insights-resource-name>
zastępcze , , <application-type>
<azure-region-name>
, <subscription-id>
<resource-group-name>
, i <log-analytics-workspace-name>
określonymi wartościami:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "<application-insights-resource-name>"
},
"type": {
"value": "<application-type>"
},
"regionId": {
"value": "<azure-region-name>"
},
"tagsArray": {
"value": {}
},
"requestSource": {
"value": "CustomDeployment"
},
"workspaceResourceId": {
"value": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<log-analytics-workspace-name>"
}
}
}
Użyj szablonu, aby utworzyć nowy zasób usługi Application Insights
W programie PowerShell zaloguj się do platformy Azure przy użyciu polecenia $Connect-AzAccount
.
Ustaw kontekst na subskrypcję z wartością Set-AzContext "<subscription ID>"
.
Uruchom nowe wdrożenie, aby utworzyć nowy zasób usługi Application Insights:
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.json -TemplateParameterFile my-parameters.json
-
-ResourceGroupName
to grupa, w której chcesz utworzyć nowe zasoby.
-
-TemplateFile
musi wystąpić przed parametrami niestandardowymi.
-
-TemplateParameterFile
to nazwa pliku parametrów.
Po utworzeniu zasobu usługi Application Insights należy skonfigurować monitorowanie.
Pobieranie parametrów połączenia
Parametry połączenia identyfikują 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.
Aby uzyskać parametry połączenia zasobu usługi Application Insights:
- Otwórz zasób usługi Application Insights w portalu Azure.
- W okienku Przegląd w sekcji Podstawowe elementy poszukaj parametrów połączenia.
- Po umieszczeniu wskaźnika myszy na parametrach połączenia zostanie wyświetlona ikona umożliwiająca skopiowanie jej do schowka.
Aby uzyskać ciąg połączenia, uruchom następujące polecenie Azure CLI w terminalu i zastąp symbole zastępcze <application-insights-resource-name>
i <resource-group-name>
swoimi wartościami.
az monitor app-insights component show --app <application-insights-resource-name> --resource-group <resource-group-name> --query connectionString --output tsv
Aby uzyskać więcej informacji na temat polecenia az monitor app-insights component show
, zapoznaj się z dokumentacją Azure CLI.
Aby uzyskać parametry połączenia, uruchom następujące polecenie programu Azure PowerShell w terminalu i zastąp symbole zastępcze <resource-group-name>
i <application-insights-resource-name>
określonymi wartościami.
Get-AzApplicationInsights -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> | Select-Object -ExpandProperty ConnectionString
Aby uzyskać więcej informacji na temat Get-AzApplicationInsights
polecenia, zobacz dokumentację programu Azure PowerShell.
Aby pobrać szczegóły zasobu usługi Application Insights, użyj następującego żądania i zastąp symbole zastępcze <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
i <access-token>
swoimi wartościami.
GET https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Insights/components/<application-insights-resource-name>?api-version=2015-05-01
Authorization: Bearer <access-token>
Szukaj pola properties.connectionString
w odpowiedzi JSON.
Aby uzyskać więcej informacji na temat pobierania informacji o zasobach usługi Application Insights przy użyciu interfejsu API REST, zobacz dokumentację interfejsu API REST.
Nie dotyczy szablonów Bicep.
Nie dotyczy szablonów ARM.
Monitorowanie aplikacji za pomocą usługi OpenTelemetry
W przypadku monitorowania aplikacji za pomocą OpenTelemetry należy zainstalować odpowiednią dystrybucję OpenTelemetry dla usługi Azure Monitor i skierować ciąg połączenia do nowo utworzonego zasobu.
Aby uzyskać informacje na temat konfigurowania monitorowania aplikacji za pomocą technologii OpenTelemetry, zobacz następującą dokumentację specyficzną dla języka:
Instrumentacja automatyczna
W przypadku usług monitorowania, takich jak Azure Functions i Azure App Service, możesz najpierw utworzyć zasób usługi Application Insights, a następnie wskazać go po włączeniu monitorowania. Alternatywnie możesz utworzyć nowy zasób usługi Application Insights podczas procesu włączania.
Modyfikowanie skojarzonego obszaru roboczego
Po utworzeniu zasobu usługi Application Insights można zmodyfikować skojarzony obszar roboczy usługi Log Analytics.
W zasobie usługi Application Insights wybierz pozycję Właściwości>Zmień obszary robocze>usługi Log Analytics.
Aby zmienić obszar roboczy usługi Log Analytics, uruchom następujące polecenie Azure CLI w terminalu i zastąp symbole zastępcze <application-insights-resource-name>
, <resource-group-name>
i <log-analytics-workspace-name>
określonymi wartościami:
az monitor app-insights component update --app <application-insights-resource-name> --resource-group <resource-group-name> --workspace <log-analytics-workspace-name>
Aby uzyskać więcej informacji na temat polecenia az monitor app-insights component update
, zapoznaj się z dokumentacją Azure CLI.
Aby zmienić obszar roboczy usługi Log Analytics, uruchom następujące polecenie programu Azure PowerShell w terminalu i zastąp symbole zastępcze <resource-group-name>
, <application-insights-resource-name>
, <subscription-id>
i <log-analytics-workspace-name>
określonymi wartościami:
Update-AzApplicationInsights -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> -WorkspaceResourceId /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>
Aby uzyskać więcej informacji na temat Update-AzApplicationInsights
polecenia, zobacz dokumentację programu Azure PowerShell.
Aby zmienić obszar roboczy usługi Log Analytics przy użyciu interfejsu API REST, użyj następującego żądania i zastąp symbole zastępcze <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <access-token>
, <azure-region-name>
i <log-analytics-workspace-name>
swoimi wartościami:
PATCH https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Insights/components/<application-insights-resource-name>?api-version=2020-02-02
Authorization: Bearer <access-token>
Content-Type: application/json
{
"location": "<azure-region-name>",
"properties": {
"WorkspaceResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>"
}
}
Aby uzyskać więcej informacji na temat modyfikowania skojarzonego obszaru roboczego przy użyciu interfejsu API REST, zobacz dokumentację interfejsu API REST.
Aby zmienić obszar roboczy usługi Log Analytics, wklej następujący kod do szablonu i zastąp symbole zastępcze <application-insights-resource-name>
, <azure-region-name>
, <application-type>
, oraz <log-analytics-workspace-name>
swoimi konkretnymi wartościami.
param workspaceResourceId string = '/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>'
resource appInsights 'Microsoft.Insights/components@2020-02-02-preview' = {
name: '<application-insights-resource-name>'
location: '<azure-region-name>'
properties: {
Application_Type: '<application-type>'
WorkspaceResourceId: workspaceResourceId
}
}
Aby zmienić obszar roboczy usługi Log Analytics, wklej następujący kod do szablonu i zastąp symbole zastępcze <application-insights-resource-name>
, <azure-region-name>
, <application-type>
, oraz <log-analytics-workspace-name>
swoimi konkretnymi wartościami.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Insights/components",
"apiVersion": "2020-02-02-preview",
"name": "<application-insights-resource-name>",
"location": "<azure-region-name>",
"properties": {
"Application_Type": "<application-type>",
"WorkspaceResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>"
}
}
]
}
Eksportowanie telemetrii
Starsza funkcja eksportu ciągłego nie jest obsługiwana w przypadku zasobów opartych na obszarze roboczym. Zamiast tego użyj ustawień diagnostycznych.
W zasobie usługi Application Insights wybierz pozycję Ustawienia>diagnostyczne Dodaj ustawienie diagnostyczne.
Możesz wybrać wszystkie tabele lub podzbiór tabel do archiwizacji na koncie magazynowym. Możesz również przesyłać strumieniowo do centrum zdarzeń.
Aby wyeksportować dane telemetryczne przy użyciu ustawień diagnostycznych, uruchom następujące polecenie Azure CLI w terminalu i zastąp symbole zastępcze <diagnostic-setting-name>
, <application-insights-resource-name>
, <resource-group-name>
i <storage-account-name>
określonymi wartościami:
az monitor diagnostic-settings create --name <diagnostic-setting-name> --resource <application-insights-resource-name> --resource-group <resource-group-name> --resource-type Microsoft.Insights/components --storage-account <storage-account-name>
Przykładowe polecenie włącza ustawienia diagnostyczne i wysyła wszystkie dzienniki zasobu Application Insights do określonego konta magazynowego. Aby również wysłać metryki, dodaj --metrics '[{"category": "AllMetrics", "enabled": true}]'
do polecenia .
Aby uzyskać więcej informacji na temat polecenia az monitor diagnostic-settings create
, zapoznaj się z dokumentacją Azure CLI.
Aby wyeksportować dane telemetryczne przy użyciu ustawień diagnostycznych, uruchom następujące polecenie programu Azure PowerShell w terminalu i zastąp symbole zastępcze , <application-insights-resource-id>
i <diagnostic-setting-name>
określonymi wartościami<storage-account-id>
:
Set-AzDiagnosticSetting -ResourceId <application-insights-resource-id> -Name <diagnostic-setting-name> -StorageAccountId <storage-account-id> -Enabled $True
To przykładowe polecenie włącza ustawienia diagnostyczne i wysyła wszystkie metryki i dzienniki zasobu Application Insights do określonego konta magazynu.
Aby uzyskać więcej informacji na temat Set-AzDiagnosticSetting
polecenia, zobacz dokumentację programu Azure PowerShell.
Aby wyeksportować dane telemetryczne do konta usługi Azure Storage przy użyciu ustawienia diagnostycznego, użyj następującego żądania i zastąp symbole zastępcze <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <diagnostic-setting-name>
, <access-token>
i <storage-account-name>
określonymi wartościami.
PUT https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>/providers/Microsoft.Insights/diagnosticSettings/<diagnostic-setting-name>?api-version=2021-05-01-preview
Authorization: Bearer <access-token>
Content-Type: application/json
{
"properties": {
"storageAccountId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>",
"logs": [
{
"category": "AppRequests",
"enabled": true
}
],
"metrics": [
{
"category": "AllMetrics",
"enabled": true
}
]
}
}
Przykładowe wywołanie włącza ustawienia diagnostyczne i wysyła wszystkie metryki i dzienniki zasobu Application Insights do określonego konta magazynowego.
Aby uzyskać więcej informacji na temat tworzenia ustawienia diagnostycznego przy użyciu interfejsu API REST, zobacz dokumentację interfejsu API REST.
Aby wyeksportować dane telemetryczne przy użyciu ustawień diagnostycznych, wklej następujący kod do szablonu i zastąp symbole zastępcze <application-insights-resource-name>
, <azure-region-name>
, <application-type>
, <diagnostic-setting-name>
, <subscription-id>
, <resource-group>
, i <storage-account-name>
określonymi wartościami.
param appInsightsName string = '<application-insights-resource-name>'
param location string = '<azure-region-name>'
param applicationType string = '<application-type>'
param diagnosticSettingName string = '<diagnostic-setting-name>'
param storageAccountId string = '/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>'
resource appInsights 'Microsoft.Insights/components@2020-02-02' = {
name: appInsightsName
location: location
kind: applicationType
properties: {
Application_Type: applicationType
}
}
resource diagnosticSetting 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview' = {
name: diagnosticSettingName
scope: appInsights
properties: {
storageAccountId: storageAccountId
logs: [
{
category: 'AppRequests'
enabled: true
}
]
metrics: [
{
category: 'AllMetrics'
enabled: true
}
]
}
}
Aby wyeksportować dane telemetryczne przy użyciu ustawień diagnostycznych, wklej następujący kod do szablonu i zastąp symbole zastępcze <application-insights-resource-name>
, <azure-region-name>
, <application-type>
, <diagnostic-setting-name>
, <subscription-id>
, <resource-group>
, i <storage-account-name>
określonymi wartościami.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"appInsightsName": {
"type": "string",
"defaultValue": "<application-insights-resource-name>"
},
"location": {
"type": "string",
"defaultValue": "<azure-region-name>"
},
"applicationType": {
"type": "string",
"defaultValue": "<application-type>"
},
"diagnosticSettingName": {
"type": "string",
"defaultValue": "<diagnostic-setting-name>"
},
"storageAccountId": {
"type": "string",
"defaultValue": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>"
}
},
"resources": [
{
"type": "Microsoft.Insights/components",
"apiVersion": "2020-02-02",
"name": "[parameters('appInsightsName')]",
"location": "[parameters('location')]",
"kind": "[parameters('applicationType')]",
"properties": {
"Application_Type": "[parameters('applicationType')]"
}
},
{
"type": "Microsoft.Insights/diagnosticSettings",
"apiVersion": "2021-05-01-preview",
"name": "[parameters('diagnosticSettingName')]",
"scope": "[resourceId('Microsoft.Insights/components', parameters('appInsightsName'))]",
"properties": {
"storageAccountId": "[parameters('storageAccountId')]",
"logs": [
{
"category": "AppRequests",
"enabled": true
}
],
"metrics": [
{
"category": "AllMetrics",
"enabled": true
}
]
}
}
]
}
Ustawianie przechowywania danych
Aby ustawić przechowywanie danych dla skojarzonego obszaru roboczego Log Analytics, wklej następujący kod do szablonu i zastąp symbole zastępcze <log-analytics-workspace-name>
, <azure-region-name>
, <retention-period-in-days>
swoimi wartościami:
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: '<log-analytics-workspace-name>'
location: '<azure-region-name>'
properties: {
retentionInDays: <retention-period-in-days>
}
}
Aby ustawić przechowywanie danych dla skojarzonego obszaru roboczego Log Analytics, wklej następujący kod do szablonu i zastąp symbole zastępcze <log-analytics-workspace-name>
, <azure-region-name>
, <retention-period-in-days>
swoimi wartościami:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2020-08-01",
"name": "<log-analytics-workspace-name>",
"location": "<azure-region-name>",
"properties": {
"retentionInDays": <retention-period-in-days>
}
}
]
}
Ustawianie dziennego limitu
Dzienny limit należy ustawić niezależnie zarówno dla usługi Application Insights, jak i bazowego obszaru roboczego usługi Log Analytics. Obowiązujący dzienny limit to minimum z dwóch ustawień.
Uwaga
Obecnie platforma Azure nie zapewnia sposobu ustawiania dziennego limitu dla usługi Application Insights za pośrednictwem interfejsu wiersza polecenia platformy Azure.
Aby zmienić dzienny limit dla usługi Log Analytics, uruchom następujące polecenie Azure CLI w terminalu i zastąp symbole zastępcze <resource-group-name>
, <log-analytics-workspace-name>
, i <daily-cap-in-gb>
swoimi konkretnymi wartościami.
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set workspaceCapping.dailyQuotaGb=<daily-cap-in-gb>
Aby uzyskać więcej informacji na temat polecenia az monitor log-analytics workspace update
, zapoznaj się z dokumentacją Azure CLI.
Aby zmienić dzienny limit dla usług Application Insights i Log Analytics, uruchom następujące polecenia programu Azure PowerShell w terminalu i zastąp symbole zastępcze określonymi wartościami.
Application Insights
Symbole zastępcze: <resource-group-name>
, <application-insights-resource-name>
, <daily-cap-in-gb>
Set-AzApplicationInsightsDailyCap -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> -DailyCapGB <daily-cap-in-gb>
Aby uzyskać więcej informacji na temat Set-AzApplicationInsightsDailyCap
polecenia, zobacz dokumentację programu Azure PowerShell.
Log Analytics
Symbole zastępcze: <resource-group-name>
, <log-analytics-workspace-name>
, <daily-cap-in-gb>
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -DailyQuotaGb <daily-cap-in-gb>
Aby uzyskać więcej informacji na temat Set-AzOperationalInsightsWorkspace
polecenia, zobacz dokumentację programu Azure PowerShell.
Uwaga
Obecnie platforma Azure nie zapewnia sposobu ustawiania dziennego limitu dla usługi Application Insights za pomocą interfejsu wiersza polecenia platformy Azure.
Aby zmienić dzienny limit dla usługi Log Analytics, użyj następującego żądania i zastąp symbole zastępcze <subscription-id>
, <resource-group-name>
, <log-analytics-workspace-name>
, <access-token>
, <azure-region-name>
i <daily-cap-in-gb>
określonymi wartościami.
Symbole zastępcze:
PATCH https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>?api-version=2023-09-01
Authorization: Bearer <access-token>
Content-Type: application/json
{
"location": '<azure-region-name>',
"properties": {
"workspaceCapping": {
"dailyQuotaGb": <daily-cap-in-gb>,
},
}
}
Aby uzyskać więcej informacji na temat ustawiania dziennego limitu usługi Log Analytics, zobacz dokumentację interfejsu API REST
Uwaga
Obecnie platforma Azure nie zapewnia sposobu ustawiania dziennego limitu dla usługi Application Insights za pomocą szablonu Bicep.
Aby ustawić dzienny limit dla usługi Log Analytics, wklej następujący kod do szablonu i zastąp symbole zastępcze <log-analytics-workspace-name>
, <azure-region-name>
i <daily-cap-in-gb>
określonymi wartościami:
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: '<log-analytics-workspace-name>'
location: '<azure-region-name>'
properties: {
dailyQuotaGb: <daily-cap-in-gb>
}
}
Uwaga
Obecnie platforma Azure nie zapewnia sposobu ustawiania dziennego limitu dla usługi Application Insights przy użyciu szablonu usługi ARM.
Aby ustawić dzienny limit dla usługi Log Analytics, wklej następujący kod do szablonu i zastąp symbole zastępcze <log-analytics-workspace-name>
, <azure-region-name>
i <daily-cap-in-gb>
określonymi wartościami:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2023-09-01",
"name": "<log-analytics-workspace-name>",
"location": "<azure-region-name>",
"properties": {
"workspaceCapping": {
"dailyQuotaGb": <daily-cap-in-gb>
}
}
}
]
}
Ustawianie planu cenowego
Plan cenowy zasobów usługi Application Insights można ustawić w skojarzonym obszarze roboczym usługi Log Analytics. Aby uzyskać więcej informacji na temat dostępnych planów cenowych, zobacz Azure Monitor Logs cost calculations and options (Obliczenia i opcje kosztów dzienników usługi Azure Monitor).
Uwaga
Jeśli widzisz nieoczekiwane opłaty lub wysokie koszty w usłudze Application Insights, ten przewodnik może pomóc. Obejmuje ona typowe przyczyny, takie jak duża ilość danych telemetrycznych, skoki pozyskiwania danych i błędnie skonfigurowane próbkowanie. Jest to szczególnie przydatne, jeśli rozwiązujesz problemy związane ze wzrostem kosztów, ilością danych telemetrycznych, niedziałającym próbkowaniem, limitami danych, wysokim pozyskiwaniem lub nieoczekiwanymi rozliczeniami. Aby rozpocząć, zobacz Rozwiązywanie problemów z wysokim poziomem pobierania danych w usłudze Application Insights.
Aby ustawić plan cenowy, uruchom jedno z następujących poleceń CLI platformy Azure w terminalu i zastąp symbole zastępcze <log-analytics-workspace-name>
, <azure-region-name>
i (jeśli dotyczy) <capacity-reservation-in-gb>
określonymi wartościami.
Pay-as-you-go
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set PerGB2018
Warstwa zobowiązania
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set CapacityReservation --level <capacity-reservation-in-gb>
Aby uzyskać więcej informacji na temat polecenia az monitor log-analytics workspace update
, zapoznaj się z dokumentacją Azure CLI.
Aby ustawić plan cenowy, uruchom jedno z następujących poleceń programu Azure PowerShell w terminalu i zastąp symbole <log-analytics-workspace-name>
zastępcze , <azure-region-name>
i (jeśli dotyczy) <capacity-reservation-in-gb>
określonymi wartościami:
Pay-as-you-go
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku perb2018
Warstwa zobowiązania
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku capacityreservation -SkuCapacity <capacity-reservation-in-gb>
Aby uzyskać więcej informacji na temat Set-AzOperationalInsightsWorkspace
polecenia, zobacz dokumentację programu Azure PowerShell.
Aby ustawić plan cenowy przy użyciu interfejsu API REST, użyj jednego z następujących zapytań i zastąp symbole zastępcze <subscription-id>
, <resource-group-name>
, <log-analytics-workspace-name>
, <access-token>
i (jeśli dotyczy) <capacity-reservation-in-gb>
określonymi wartościami:
Pay-as-you-go
PUT https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>/pricingPlans/current?api-version=2017-10-01
Content-Type: application/json
Authorization: Bearer <access-token>
{
"properties": {
"sku": {
"name": "pergb2018"
}
}
}
Warstwa zobowiązania
PUT https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>/pricingPlans/current?api-version=2017-10-01
Content-Type: application/json
Authorization: Bearer <access-token>
{
"properties": {
"sku": {
"name": "capacityreservation",
"capacityReservationLevel": <capacity-reservation-in-gb>
}
}
}
Aby uzyskać więcej informacji na temat ustawiania planu cenowego przy użyciu interfejsu API REST, zobacz dokumentację interfejsu API REST.
Aby ustawić plan cenowy przy użyciu Bicep, wklej następujący kod do szablonu i zastąp symbole zastępcze <log-analytics-workspace-name>
, <azure-region-name>
, a dla warstwy zobowiązania także <capacity-reservation-in-gb>
swoimi wartościami.
Pay-as-you-go
param workspaceName string = '<log-analytics-workspace-name>'
param workspaceRegion string = '<azure-region-name>'
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: workspaceName
location: workspaceRegion
properties: {
sku: {
name: 'pergb2018'
}
}
}
Warstwa zobowiązania
param workspaceName string = '<log-analytics-workspace-name>'
param workspaceRegion string = '<azure-region-name>'
param capacityReservationLevel int = '<capacity-reservation-in-gb>'
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: workspaceName
location: workspaceRegion
properties: {
sku: {
name: 'capacityreservation'
capacityReservationLevel: capacityReservationLevel
}
}
}
Aby uzyskać więcej informacji na temat aktualizowania Microsoft.OperationalInsights/workspaces
zasobu przy użyciu Bicep, zobacz dokumentację szablonów.
Aby ustawić plan cenowy przy użyciu szablonu ARM, wklej poniższy kod do swojego szablonu i zastąp symbole zastępcze <log-analytics-workspace-name>
, <azure-region-name>
oraz dla poziomu zaangażowania także <capacity-reservation-in-gb>
swoimi konkretnymi wartościami.
Pay-as-you-go
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
"defaultValue": "<log-analytics-workspace-name>"
},
"workspaceRegion": {
"type": "string",
"defaultValue": "<azure-region-name>"
}
},
"resources": [
{
"name": "[parameters('workspaceName')]",
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2020-08-01",
"location": "[parameters('workspaceRegion')]",
"properties": {
"sku": {
"name": "pergb2018"
}
}
}
]
}
Warstwa zobowiązania
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
"defaultValue": "<log-analytics-workspace-name>"
},
"workspaceRegion": {
"type": "string",
"defaultValue": "<azure-region-name>"
},
"capacityReservationLevel": {
"type": "int",
"defaultValue": <capacity-reservation-in-gb>
}
},
"resources": [
{
"name": "[parameters('workspaceName')]",
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2020-08-01",
"location": "[parameters('workspaceRegion')]",
"properties": {
"sku": {
"name": "capacityreservation",
"capacityReservationLevel": "[parameters('capacityReservationLevel')]"
}
}
}
]
}
Aby uzyskać więcej informacji na temat aktualizowania Microsoft.OperationalInsights/workspaces
zasobu przy użyciu szablonu usługi ARM, zobacz dokumentację szablonów.
Wyłączanie maskowania adresów IP
Domyślnie usługa Application Insights nie przechowuje adresów IP. Aby dowiedzieć się, jak wyłączyć maskowanie adresów IP, zobacz Geolokalizacja i obsługa adresów IP.
Tworzenie dodatkowych zasobów
Tworzenie testu dostępności
Aby utworzyć standardowy test dostępności z ustawieniami domyślnymi, uruchom następujące polecenie Azure CLI w terminalu i zastąp symbole zastępcze <resource-group-name>
, <azure-region-name>
, <web-test-name>
, <url>
, <subscription-id>
i <application-insights-resource-name>
swoimi wartościami.
az monitor app-insights web-test create --resource-group <resource-group-name> \
--location <azure-region-name> \
--web-test-kind standard \
--name <web-test-name> \
--defined-web-test-name <web-test-name> \
--request-url <url> \
--retry-enabled true \
--ssl-check true \
--ssl-lifetime-check 7 \
--frequency 300 \
--locations Id="us-ca-sjc-azr" \
--locations Id="apac-sg-sin-azr" \
--locations Id="us-il-ch1-azr" \
--locations Id="us-va-ash-azr" \
--locations Id="emea-au-syd-edge" \
--http-verb GET \
--timeout 120 \
--expected-status-code 200 \
--enabled true \
--tags hidden-link:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>=Resource
Aby uzyskać więcej informacji na temat polecenia az monitor app-insights web-test create
, zapoznaj się z dokumentacją Azure CLI.
Uwaga
Region testu sieci Web (-location
) różni się od lokalizacji geograficznej (-locations
), z których można wybrać wiele, zwróć uwagę na liczbę mnogą. Termin -location
odnosi się do regionu Azure, gdzie test internetowy jest tworzony i hostowany, natomiast -locations
dotyczy lokalizacji geograficznych, z których test internetowy jest wykonywany. Aby uzyskać pełną listę wszystkich lokalizacji geograficznych, zobacz Testy dostępności usługi Application Insights.
Aby utworzyć standardowy test dostępności z ustawieniami domyślnymi, uruchom następujące polecenie Azure PowerShell w terminalu i zastąp symbole zastępcze <resource-group-name>
, <azure-region-name>
, <web-test-name>
, <url>
, <subscription-id>
i <application-insights-resource-name>
określonymi wartościami.
$geoLocation = @()
$geoLocation += New-AzApplicationInsightsWebTestGeolocationObject -Location "us-ca-sjc-azr"
$geoLocation += New-AzApplicationInsightsWebTestGeolocationObject -Location "apac-sg-sin-azr"
$geoLocation += New-AzApplicationInsightsWebTestGeolocationObject -Location "us-il-ch1-azr"
$geoLocation += New-AzApplicationInsightsWebTestGeolocationObject -Location "us-va-ash-azr"
$geoLocation += New-AzApplicationInsightsWebTestGeolocationObject -Location "emea-au-syd-edge"
New-AzApplicationInsightsWebTest -ResourceGroupName <resource-group-name> `
-Location <azure-region-name> `
-Name <web-test-name> `
-TestName <web-test-name> `
-Kind standard `
-RequestUrl <url> `
-RetryEnabled `
-RuleSslCheck `
-RuleSslCertRemainingLifetimeCheck 7 `
-Frequency 300 `
-GeoLocation $geoLocation `
-RequestHttpVerb GET `
-Timeout 120 `
-RuleExpectedHttpStatusCode 200 `
-Enabled `
-Tag @{"hidden-link:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>" = "Resource"}
Aby uzyskać więcej informacji na temat New-AzApplicationInsightsWebTest
polecenia, zobacz dokumentację programu Azure PowerShell.
Uwaga
Region testu sieci Web (-Location
) różni się od lokalizacji geograficznej (-GeoLocation
), z której można wybrać wiele.
-Location
odwołuje się do regionu świadczenia usługi Azure, w którym jest tworzony i hostowany test internetowy, natomiast -GeoLocation
odwołuje się do lokalizacji geograficznej lub lokalizacji, z której jest wykonywany test internetowy. Aby uzyskać pełną listę wszystkich lokalizacji geograficznych, zobacz Testy dostępności usługi Application Insights.
Aby utworzyć standardowy test dostępności z ustawieniami domyślnymi przy użyciu interfejsu API REST, użyj następującego żądania i zastąp symbole zastępcze <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <web-test-name>
, <access-token>
, <azure-region-name>
i <url>
określonymi wartościami.
PUT https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>/webtests/<web-test-name>?api-version=2021-08-01
Content-Type: application/json
Authorization: Bearer <access-token>
{
"location": "<azure-region-name>",
"properties": {
"Name": "<web-test-name>",
"SyntheticMonitorId": "<web-test-name>",
"Enabled": true,
"Frequency": 300,
"Timeout": 120,
"Kind": "standard",
"RetryEnabled": true,
"Request": {
"RequestUrl": "<url>",
"HttpVerb": "GET"
},
"ValidationRules": {
"ExpectedHttpStatusCode": 200,
"SslCheck": true,
"SslCertRemainingLifetimeCheck": 7
},
"Locations": [
{
"Id": "us-ca-sjc-azr"
},
{
"Id": "apac-sg-sin-azr"
},
{
"Id": "us-il-ch1-azr"
},
{
"Id": "us-va-ash-azr"
},
{
"Id": "emea-au-syd-edge"
}
]
},
"Tags": {
"hidden-link:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>": "Resource"
}
}
Uwaga
Region testu sieci Web (-location
) różni się od lokalizacji geograficznej (-Locations
zwróć uwagę na postać mnogią), z której można wybrać wiele.
-location
odwołuje się do regionu świadczenia usługi Azure, w którym jest tworzony i hostowany test internetowy, natomiast -Locations
odwołuje się do lokalizacji geograficznej lub lokalizacji, z której jest wykonywany test internetowy. Aby uzyskać pełną listę wszystkich lokalizacji geograficznych, zobacz Testy dostępności usługi Application Insights.
Aby dowiedzieć się więcej na temat tworzenia i konfigurowania testów internetowych przy użyciu interfejsu API REST, zobacz naszą dokumentację interfejsu API REST.
Aby utworzyć test dostępności o standardowych ustawieniach za pomocą Bicep, dodaj następujący kod do szablonu i zastąp symbole zastępcze <web-test-name>
, <azure-region-name>
, <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, i <url>
swoimi konkretnymi wartościami:
resource webTest 'microsoft.insights/webtests@2022-06-15' = {
name: '<web-test-name>'
location: '<azure-region-name>'
tags: {
'hidden-link:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>': 'Resource'
}
properties: {
SyntheticMonitorId: '<web-test-name>'
Name: '<web-test-name>'
Enabled: true
Frequency: 300
Timeout: 120
Kind: 'standard'
RetryEnabled: true
Locations: [
{
Id: 'us-ca-sjc-azr'
}
{
Id: 'apac-sg-sin-azr'
}
{
Id: 'us-il-ch1-azr'
}
{
Id: 'us-va-ash-azr'
}
{
Id: 'emea-au-syd-edge'
}
]
Request: {
RequestUrl: '<url>'
HttpVerb: 'GET'
}
ValidationRules: {
ExpectedHttpStatusCode: 200
SSLCheck: true
SSLCertRemainingLifetimeCheck: 7
}
}
}
Uwaga
Region testu sieci Web (location
) różni się od lokalizacji geograficznej (Locations
), z której można wybrać wiele.
location
odwołuje się do regionu świadczenia usługi Azure, w którym jest tworzony i hostowany test internetowy, natomiast Locations
odwołuje się do lokalizacji geograficznej lub lokalizacji, z której jest wykonywany test internetowy. Aby uzyskać pełną listę wszystkich lokalizacji geograficznych, zobacz Testy dostępności usługi Application Insights.
Aby uzyskać więcej informacji na temat tworzenia testów dostępności przy użyciu aplikacji Bicep, zobacz Microsoft.Insights webtests (Testy sieci Web Microsoft.Insights).
Aby utworzyć standardowy test dostępności z ustawieniami domyślnymi przy użyciu szablonu ARM, dodaj następujący kod do szablonu i zastąp symbole zastępcze <web-test-name>
, <azure-region-name>
, <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
i <url>
określonymi wartościami:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "microsoft.insights/webtests",
"apiVersion": "2022-06-15",
"name": "<web-test-name>",
"location": "<azure-region-name>",
"tags": {
"hidden-link:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>": "Resource"
},
"properties": {
"SyntheticMonitorId": "<web-test-name>",
"Name": "<web-test-name>",
"Enabled": true,
"Frequency": 300,
"Timeout": 120,
"Kind": "standard",
"RetryEnabled": true,
"Locations": [
{
"Id": "us-ca-sjc-azr"
},
{
"Id": "apac-sg-sin-azr"
},
{
"Id": "us-il-ch1-azr"
},
{
"Id": "us-va-ash-azr"
},
{
"Id": "emea-au-syd-edge"
}
],
"Request": {
"RequestUrl": "<url>",
"HttpVerb": "GET"
},
"ValidationRules": {
"ExpectedHttpStatusCode": 200,
"SSLCheck": true,
"SSLCertRemainingLifetimeCheck": 7
}
}
}
]
}
Uwaga
Region testu sieci Web (location
) różni się od lokalizacji geograficznej (Locations
), z której można wybrać wiele.
location
odwołuje się do regionu świadczenia usługi Azure, w którym jest tworzony i hostowany test internetowy, natomiast Locations
odwołuje się do lokalizacji geograficznej lub lokalizacji, z której jest wykonywany test internetowy. Aby uzyskać pełną listę wszystkich lokalizacji geograficznych, zobacz Testy dostępności usługi Application Insights.
Aby uzyskać więcej informacji na temat tworzenia testów dostępności przy użyciu szablonu usługi ARM, zobacz Microsoft.Insights webtests (Testy internetowe usługi Microsoft.Insights).
Dodawanie alertu dotyczącego metryki
Wskazówka
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.
Aby zautomatyzować tworzenie alertów dotyczących metryk, zobacz artykuł Szablon alertów dotyczących metryk .
Tworzenie większej liczby zasobów usługi Application Insights
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 parametrów połączenia.
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 są przenoszone 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.
Śledzenie wersji i wydania
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 .
Opcja 1: Ustawianie wersji bezpośrednio
Dodaj wiersz telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;
do kodu inicjowania aplikacji.
Aby upewnić się, że wszystkie TelemetryClient
wystąpienia są ustawione spójnie, opakuj ten wiersz w inicjatorze telemetrii.
Opcja 2: Ustaw wersję w programie BuildInfo.config
(tylko ASP.NET)
Moduł internetowy usługi Application Insights pobiera wersję z węzła BuildLabel
. Dołącz ten plik do projektu i pamiętaj, aby ustawić właściwość Kopiuj zawsze w Eksploratorze 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>
Wygeneruj BuildInfo.config
automatycznie w środowisku Microsoft Build Engine. Dodaj następujące wiersze 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. Podczas kompilowania przy użyciu silnika Microsoft Build Engine symbol zastępczy jest wypełniany odpowiednim numerem wersji.
Aby zezwolić aparatowi Microsoft Build Engine na generowanie numerów wersji, ustaw wersję podobną 1.0.*
do w pliku AssemblyReference.cs
.
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.
Automatyzowanie procesu tworzenia zasobów
Proces tworzenia zasobów można zautomatyzować przy użyciu szablonów Bicep lub JSON w usłudze Azure Resource Manager. Możesz spakować kilka zasobów razem, aby utworzyć je w jednym wdrożeniu. Można na przykład utworzyć zasób usługi Application Insights z testami dostępności, alertami metryk i ustawieniem diagnostycznym w celu wysyłania danych telemetrycznych na konto usługi Azure Storage.
Generowanie szablonu w witrynie Azure Portal
Szablon można wygenerować na podstawie istniejących zasobów.
Tylko usługa Application Insights
- Przejdź do zasobu usługi Application Insights w witrynie Azure Portal.
- Otwórz szablon eksportu pod Automatyzacja na pasku nawigacyjnym po lewej stronie.
- (Opcjonalnie): Aby użyć własnych parametrów, usuń zaznaczenie pola wyboru Uwzględnij parametry.
-
Pobierz plik szablonu lub wdróż go bezpośrednio w witrynie Azure Portal.
Wiele zasobów
- Przejdź do grupy zasobów zasobu usługi Application Insights.
- W okienku Przegląd zaznacz wszystkie zasoby, które chcesz uwzględnić w szablonie, a następnie wybierz pozycję Eksportuj szablon na górnym pasku nawigacyjnym.
- (Opcjonalnie): Aby użyć własnych parametrów, usuń zaznaczenie pola wyboru Uwzględnij parametry.
-
Pobierz plik szablonu lub wdróż go bezpośrednio w witrynie Azure Portal.
Tworzenie szablonu od podstaw
Aby dowiedzieć się, jak utworzyć szablon usługi ARM od podstaw, odwiedź naszą dokumentację szablonu usługi ARM , która zawiera samouczki dotyczące tworzenia szablonu, dodawania zasobów, dodawania parametrów i nie tylko.
Dostępne właściwości usługi Application Insights, testów dostępności, alertów metryk, ustawień diagnostycznych i innych zasobów można znaleźć w naszej dokumentacji referencyjnej zasobów platformy Azure w węźle Reference>Monitor>Insights .
Następne kroki