Application Insights ist in Log Analytics integriert und sendet Telemetrie an einen gemeinsamen Log Analytics-Arbeitsbereich. Dieses Setup bietet vollzugriff auf Log Analytics-Features, konsolidiert Protokolle an einem Ort und ermöglicht eine einheitliche rollenbasierte Azure-Zugriffssteuerung , die die Notwendigkeit von App-/Arbeitsbereichsabfragen beseitigt.
Zu den erweiterten Funktionen gehören:
In diesem Artikel erfahren Sie, wie Sie Application Insights-Ressourcen erstellen und konfigurieren. Zusammen mit der Application Insights-Ressource selbst können Sie verschiedene Konfigurationen hinzufügen, z. B. das Festlegen des täglichen Cap- und Preisplans. Sie können auch Verfügbarkeitstests erstellen, Metrikwarnungen einrichten und den Prozess mithilfe von Azure Resource Manager automatisieren.
Hinweis
Die Abrechnung der Datenerfassung und -aufbewahrung für arbeitsbereichsbasierte Application Insights-Ressourcen erfolgt über den Log Analytics-Arbeitsbereich, in dem sich die Daten befinden. Weitere Informationen zur Abrechnung finden Sie unter Azure Monitor Logs Preisdetails.
Voraussetzungen
- Ein aktives Azure-Abonnement.
- Die erforderlichen Berechtigungen zum Erstellen von Ressourcen.
Zusätzliche Anforderungen
Keine zusätzlichen Anforderungen.
Um auf Application Insights Azure CLI-Befehle zuzugreifen, müssen Sie zuerst Folgendes ausführen:
az extension add -n application-insights
Wenn Sie den Befehl az extension add
nicht ausführen, wird eine Fehlermeldung mit dem folgenden Text angezeigt: az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'
.
Sie können Bicep-Vorlagen über die Azure CLI, Azure PowerShell und im Azure-Portal bereitstellen. Weitere Anforderungen finden Sie auf den entsprechenden Registerkarten.
Sie können ARM-Vorlagen über die Azure CLI, Azure PowerShell und im Azure-Portal bereitstellen. Weitere Anforderungen finden Sie auf den entsprechenden Registerkarten.
Eine Application Insights Ressource erstellen
- Melden Sie sich beim Azure-Portal an.
- Wählen Sie Ressource erstellen aus.
- Öffnen Sie die Kategorie Monitoring & Diagnostics, und wählen Sie dann Application Insights aus.
- Geben Sie alle relevanten Informationen ein, und klicken Sie dann auf Überprüfen + Erstellen, um Ihre Application Insights-Ressource zu erstellen.
Hinweis
Wenn Sie während der Ressourcenerstellung keine Verbindung mit einem vorhandenen Log Analytics-Arbeitsbereich herstellen, wird automatisch eine neue Log Analytics-Ressource zusammen mit Ihrer Application Insights-Ressource erstellt.
Nachdem Sie Ihre Ressource erstellt haben, finden Sie die entsprechenden Arbeitsbereichsinformationen im Bereich "Application Insights Overview ".
Wählen Sie den blauen Linktext aus, um zum zugeordneten Log Analytics-Arbeitsbereich zu gelangen, wo Sie die neue einheitliche Umgebung für Arbeitsbereichsabfragen nutzen können.
Hinweis
Wir bieten weiterhin vollständige Abwärtskompatibilität für Ihre klassischen Application Insights-Ressourcenabfragen, Arbeitsmappen und protokollbasierten Warnungen. Um die neue arbeitsbereichsbasierte Tabellenstruktur und das neue Tabellenschema anzuzeigen und abzufragen, müssen Sie zuerst zu Ihrem Log Analytics-Arbeitsbereich wechseln. Wählen Sie Protokolle (Analytics) in den Application Insights-Bereichen aus, um Zugriff auf die klassische Application Insights-Abfrageerfahrung zu erhalten.
Zum Erstellen einer arbeitsbereichbasierten Application Insights-Ressource ist ein Log Analytics-Arbeitsbereich erforderlich. Wenn Sie noch keins haben, können Sie den folgenden Azure CLI-Befehl verwenden, um einen zu erstellen.
Platzhalter: <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>
Führen Sie zum Erstellen einer Application Insights-Ressource den folgenden Azure CLI-Befehl in Ihrem Terminal aus.
Platzhalter: <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>
Weitere Informationen zum Erstellen von Application Insights-Ressourcen und Log Analytics-Arbeitsbereichen mithilfe der Azure CLI finden Sie in der Azure CLI-Dokumentation für Application Insights und Log Analytics.
Zum Erstellen einer arbeitsbereichbasierten Application Insights-Ressource ist ein Log Analytics-Arbeitsbereich erforderlich. Wenn Sie noch keins haben, können Sie den folgenden Azure PowerShell-Befehl verwenden, um einen zu erstellen.
Platzhalter: <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>
Führen Sie zum Erstellen einer Application Insights-Ressource den folgenden Azure PowerShell-Befehl in Ihrem Terminal aus.
Platzhalter: <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>
Weitere Informationen zum Erstellen von Application Insights-Ressourcen und Log Analytics-Arbeitsbereichen mit Azure PowerShell finden Sie in der Azure PowerShell-Dokumentation für Application Insights und Log Analytics.
Zum Erstellen einer arbeitsbereichbasierten Application Insights-Ressource ist ein Log Analytics-Arbeitsbereich erforderlich. Wenn Sie noch keins haben, können Sie den folgenden REST-API-Aufruf verwenden, um einen zu erstellen.
Platzhalter: <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>"
}
Verwenden Sie die folgende Anforderung, um eine Application Insights-Ressource mit der REST-API zu erstellen.
Platzhalter: <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>"
}
}
Weitere Informationen zum Erstellen von Application Insights-Ressourcen und Log Analytics-Arbeitsbereichen mithilfe der REST-API finden Sie in der REST-API-Dokumentation für Application Insights und Log Analytics.
Hier erfahren Sie, wie Sie eine neue Application Insights-Ressource mit einer Bicep-Vorlage erstellen.
Erstellen einer Vorlage
Erstellen Sie eine neue Bicep-Datei (z. B. my-template.bicep), kopieren Sie den folgenden Inhalt in die Datei:
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
}
}
Erstellen einer Parameterdatei
Erstellen Sie eine neue Bicepparam-Datei (z. B. my-parameters.bicepparam), kopieren Sie den folgenden Inhalt darin, und ersetzen Sie die Platzhalter <application-insights-resource-name>
, , <application-type>
<azure-region-name>
<subscription-id>
, <resource-group-name>
und <log-analytics-workspace-name>
durch Ihre spezifischen Werte:
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>'
Verwenden der Vorlage zum Erstellen einer neuen Application Insights-Ressource
Melden Sie sich in PowerShell mit $Connect-AzAccount
bei Azure an.
Legen Sie mit Set-AzContext "<subscription ID>"
den Kontext auf ein Abonnement fest.
Führen Sie eine neue Bereitstellung aus, um eine neue Application Insights-Ressource zu erstellen:
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.bicep -TemplateParameterFile my-parameters.bicepparam
-ResourceGroupName
ist die Gruppe, in der Sie die neuen Ressourcen erstellen möchten.
-TemplateFile
muss vor den benutzerdefinierten Parametern angegeben werden.
-TemplateParameterFile
ist der Name der Parameterdatei.
Sie können weitere Parameter hinzufügen. Die entsprechenden Beschreibungen finden Sie im Abschnitt „Parameter“ der Vorlage.
Hier erfahren Sie, wie Sie eine neue Application Insights-Ressource mit einer ARM-Vorlage erstellen.
Erstellen einer Vorlage
Erstellen Sie eine neue .json Datei (z. B. my-template.json), und kopieren Sie den folgenden Inhalt in die Datei:
{
"$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')]"
}
}
]
}
Hinweis
Weitere Informationen zu Ressourceneigenschaften finden Sie unter Eigenschaftswerte.
Flow_Type
und Request_Source
werden nicht verwendet, sind aber in diesem Beispiel der Vollständigkeit halber enthalten.
Erstellen einer Parameterdatei
Erstellen Sie eine neue .json Datei (z. B. my-parameters.json), kopieren Sie den folgenden Inhalt darin, und ersetzen Sie die Platzhalter <application-insights-resource-name>
, , <application-type>
<azure-region-name>
, <subscription-id>
<resource-group-name>
und <log-analytics-workspace-name>
ersetzen Sie durch Ihre spezifischen Werte:
{
"$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>"
}
}
}
Verwenden der Vorlage zum Erstellen einer neuen Application Insights-Ressource
Melden Sie sich in PowerShell mit $Connect-AzAccount
bei Azure an.
Legen Sie mit Set-AzContext "<subscription ID>"
den Kontext auf ein Abonnement fest.
Führen Sie eine neue Bereitstellung aus, um eine neue Application Insights-Ressource zu erstellen:
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.json -TemplateParameterFile my-parameters.json
-ResourceGroupName
ist die Gruppe, in der Sie die neuen Ressourcen erstellen möchten.
-TemplateFile
muss vor den benutzerdefinierten Parametern angegeben werden.
-TemplateParameterFile
ist der Name der Parameterdatei.
Nach dem Erstellen einer Application Insights-Ressource konfigurieren Sie die Überwachung.
Abrufen der Verbindungszeichenfolge
Die Verbindungszeichenfolge identifiziert die Ressource, der Sie Ihre Telemetriedaten zuordnen möchten. Sie können damit auch die Endpunkte ändern, die Ihre Ressource als Ziel für die Telemetrie verwendet. Sie müssen die Verbindungszeichenfolge kopieren und dem Code Ihrer Anwendung oder einer Umgebungsvariable hinzufügen.
So rufen Sie die Verbindungszeichenfolge Ihrer Application Insights-Ressource ab:
- Öffnen Sie die Application Insights-Ressource im Azure-Portal.
- Suchen Sie im Bereich "Übersicht" in der Essentials-Sektion nach der Verbindungszeichenfolge.
- Wenn Sie mit dem Mauszeiger auf die Verbindungszeichenfolge zeigen, wird ein Symbol angezeigt, mit dem Sie sie in die Zwischenablage kopieren können.
Führen Sie zum Abrufen der Verbindungszeichenfolge den folgenden Azure CLI-Befehl in Ihrem Terminal aus, und ersetzen Sie die Platzhalter <application-insights-resource-name>
und <resource-group-name>
mit Ihren spezifischen Werten.
az monitor app-insights component show --app <application-insights-resource-name> --resource-group <resource-group-name> --query connectionString --output tsv
Weitere Informationen zum az monitor app-insights component show
Befehl finden Sie in der Azure CLI-Dokumentation.
Um die Verbindungszeichenfolge abzurufen, führen Sie den folgenden Azure PowerShell-Befehl in Ihrem Terminal aus, und ersetzen Sie die Platzhalter <resource-group-name>
und <application-insights-resource-name>
durch Ihre spezifischen Werte:
Get-AzApplicationInsights -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> | Select-Object -ExpandProperty ConnectionString
Weitere Informationen zum Get-AzApplicationInsights
Befehl finden Sie in der Azure PowerShell-Dokumentation.
Um die Details Ihrer Application Insights-Ressource abzurufen, verwenden Sie die folgende Anforderung, und ersetzen Sie die Platzhalter <subscription-id>
, , <resource-group-name>
, <application-insights-resource-name>
und <access-token>
durch Ihre spezifischen Werte:
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>
Suchen Sie nach dem properties.connectionString
Feld in der JSON-Antwort.
Weitere Informationen zum Abrufen von Informationen zu Application Insights-Ressourcen mithilfe der REST-API finden Sie in der REST-API-Dokumentation.
Gilt nicht für Bicep-Vorlagen.
Gilt nicht für ARM-Vorlagen.
Anwendungsüberwachung mit OpenTelemetry
Für die Anwendungsüberwachung mit OpenTelemetry installieren Sie die entsprechende OpenTelemetry-Distribution für Azure Monitor und verweisen die Verbindungszeichenfolge auf Ihre neu erstellte Ressource.
Informationen zum Einrichten der Anwendungsüberwachung mit OpenTelemetry finden Sie in der folgenden Dokumentation speziell für die Sprache:
Automatische Instrumentierung
Für Überwachungsdienste wie Azure Functions und Azure App Service können Sie zuerst Ihre Application Insights-Ressource erstellen und dann darauf zeigen, wenn Sie die Überwachung aktivieren. Alternativ können Sie während des Aktivierungsprozesses eine neue Application Insights-Ressource erstellen.
Ändern des zugeordneten Arbeitsbereichs
Nachdem Sie eine Application Insights-Ressource erstellt haben, können Sie den zugeordneten Log Analytics-Arbeitsbereich ändern.
Wählen Sie in Ihrer "Application Insights"-Ressource die Option Eigenschaften>Arbeitsbereich ändern>Log Analytics-Arbeitsbereiche.
Um den Log Analytics-Arbeitsbereich zu ändern, führen Sie den folgenden Azure CLI-Befehl in Ihrem Terminal aus, und ersetzen Sie die Platzhalter <application-insights-resource-name>
, <resource-group-name>
und <log-analytics-workspace-name>
durch Ihre spezifischen Werte.
az monitor app-insights component update --app <application-insights-resource-name> --resource-group <resource-group-name> --workspace <log-analytics-workspace-name>
Weitere Informationen zum az monitor app-insights component update
Befehl finden Sie in der Azure CLI-Dokumentation.
Um den Log Analytics-Arbeitsbereich zu ändern, führen Sie den folgenden Azure PowerShell-Befehl in Ihrem Terminal aus und ersetzen Sie die Platzhalter <resource-group-name>
, <application-insights-resource-name>
, <subscription-id>
und <log-analytics-workspace-name>
durch Ihre spezifischen Werte.
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>
Weitere Informationen zum Update-AzApplicationInsights
Befehl finden Sie in der Azure PowerShell-Dokumentation.
Um den Log Analytics-Arbeitsbereich mithilfe der REST-API zu ändern, verwenden Sie die folgende Anforderung und ersetzen Sie die Platzhalter <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <access-token>
, <azure-region-name>
und <log-analytics-workspace-name>
durch Ihre spezifischen Werte.
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>"
}
}
Weitere Informationen zum Ändern des zugeordneten Arbeitsbereichs mithilfe der REST-API finden Sie in der REST-API-Dokumentation.
Um den Log Analytics-Arbeitsbereich zu ändern, fügen Sie den folgenden Code in Ihre Vorlage ein, und ersetzen Sie die Platzhalter <application-insights-resource-name>
, , <azure-region-name>
, <application-type>
und <log-analytics-workspace-name>
durch Ihre spezifischen Werte:
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
}
}
Um den Log Analytics-Arbeitsbereich zu ändern, fügen Sie den folgenden Code in Ihre Vorlage ein, und ersetzen Sie die Platzhalter <application-insights-resource-name>
, , <azure-region-name>
, <application-type>
und <log-analytics-workspace-name>
durch Ihre spezifischen Werte:
{
"$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>"
}
}
]
}
Exportieren von Telemetriedaten
Die Legacyfunktion für den fortlaufenden Export wird für arbeitsbereichsbasierte Ressourcen nicht unterstützt. Verwenden Sie stattdessen Diagnoseeinstellungen.
Hinweis
Der Export von Diagnoseeinstellungen kann die Kosten erhöhen. Weitere Informationen finden Sie unter Exportieren von Telemetrie aus Application Insights.
Preisinformationen für dieses Feature finden Sie auf der Seite Azure Monitor – Preise. Vor Beginn der Abrechnung werden Benachrichtigungen gesendet. Wenn Sie den Telemetrieexport über den Benachrichtigungszeitraum hinaus weiter verwenden, wird Ihnen dies mit dem entsprechenden Tarif in Rechnung gestellt.
Wählen Sie in Ihrer Ressource "Application Insights" die Option "Diagnoseeinstellungen>hinzufügen" aus.
Sie können alle Tabellen oder eine Teilmenge von Tabellen auswählen, die in einem Speicherkonto archiviert werden sollen. Sie können auch auf einen Event Hub streamen.
Um Telemetrie mithilfe von Diagnoseeinstellungen zu exportieren, führen Sie den folgenden Azure CLI-Befehl in Ihrem Terminal aus, und ersetzen Sie die Platzhalter <diagnostic-setting-name>
, <application-insights-resource-name>
, , <resource-group-name>
und <storage-account-name>
ersetzen Sie durch Ihre spezifischen Werte:
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>
Dieser Beispielbefehl aktiviert Diagnoseeinstellungen und sendet alle Protokolle Ihrer Application Insights-Ressource an das angegebene Speicherkonto. Um auch Metriken zu senden, fügen Sie --metrics '[{"category": "AllMetrics", "enabled": true}]'
zum Befehl hinzu.
Weitere Informationen zum az monitor diagnostic-settings create
Befehl finden Sie in der Azure CLI-Dokumentation.
Um Telemetrie mithilfe von Diagnoseeinstellungen zu exportieren, führen Sie den folgenden Azure PowerShell-Befehl in Ihrem Terminal aus und ersetzen Sie die Platzhalter <application-insights-resource-id>
, <diagnostic-setting-name>
und <storage-account-id>
durch Ihre spezifischen Werte.
Set-AzDiagnosticSetting -ResourceId <application-insights-resource-id> -Name <diagnostic-setting-name> -StorageAccountId <storage-account-id> -Enabled $True
Dieser Beispielbefehl aktiviert Diagnoseeinstellungen und sendet alle Metriken und Protokolle Ihrer Application Insights-Ressource an das angegebene Speicherkonto.
Weitere Informationen zum Set-AzDiagnosticSetting
Befehl finden Sie in der Azure PowerShell-Dokumentation.
Um Telemetrie mithilfe einer Diagnoseeinstellung in ein Azure-Speicherkonto zu exportieren, verwenden Sie die folgende Anforderung, und ersetzen Sie die Platzhalter <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <diagnostic-setting-name>
, <access-token>
und <storage-account-name>
durch Ihre spezifischen Werte.
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
}
]
}
}
In diesem Beispielaufruf werden Diagnoseeinstellungen aktiviert und alle Metriken und Protokolle Ihrer Application Insights-Ressource an das angegebene Speicherkonto gesendet.
Weitere Informationen zum Erstellen einer Diagnoseeinstellung mithilfe der REST-API finden Sie in der REST-API-Dokumentation.
Um Telemetrie mithilfe von Diagnoseeinstellungen zu exportieren, fügen Sie den folgenden Code in Ihre Vorlage ein, und ersetzen Sie die Platzhalter <application-insights-resource-name>
, , <azure-region-name>
<application-type>
, <diagnostic-setting-name>
<subscription-id>
und <resource-group>
<storage-account-name>
ersetzen Sie sie durch Ihre spezifischen Werte:
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
}
]
}
}
Um Telemetrie mithilfe von Diagnoseeinstellungen zu exportieren, fügen Sie den folgenden Code in Ihre Vorlage ein, und ersetzen Sie die Platzhalter <application-insights-resource-name>
, , <azure-region-name>
<application-type>
, <diagnostic-setting-name>
<subscription-id>
und <resource-group>
<storage-account-name>
ersetzen Sie sie durch Ihre spezifischen Werte:
{
"$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
}
]
}
}
]
}
Festlegen der Datenaufbewahrung
Um die Datenaufbewahrung für den zugeordneten <log-analytics-workspace-name>
Log Analytics-Arbeitsbereich festzulegen, fügen Sie den folgenden Code in Ihre Vorlage ein, und ersetzen Sie die Platzhalter , <azure-region-name>
<retention-period-in-days>
durch Ihre spezifischen Werte:
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: '<log-analytics-workspace-name>'
location: '<azure-region-name>'
properties: {
retentionInDays: <retention-period-in-days>
}
}
Um die Datenaufbewahrung für den zugeordneten <log-analytics-workspace-name>
Log Analytics-Arbeitsbereich festzulegen, fügen Sie den folgenden Code in Ihre Vorlage ein, und ersetzen Sie die Platzhalter , <azure-region-name>
<retention-period-in-days>
durch Ihre spezifischen Werte:
{
"$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>
}
}
]
}
Festlegen der täglichen Obergrenze
Die tägliche Obergrenze muss unabhängig für Application Insights und den zugrunde liegenden Log Analytics-Arbeitsbereich festgelegt werden. Die effektive Tagesgrenze ist das Minimum der beiden Einstellungen.
Hinweis
Derzeit bietet Azure keine Möglichkeit, die tägliche Obergrenze für Application Insights über die Azure CLI festzulegen.
Um die tägliche Obergrenze für Log Analytics zu ändern, führen Sie den folgenden Azure CLI-Befehl in Ihrem Terminal aus und ersetzen Sie die Platzhalter <resource-group-name>
, <log-analytics-workspace-name>
und <daily-cap-in-gb>
durch Ihre spezifischen Werte.
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set workspaceCapping.dailyQuotaGb=<daily-cap-in-gb>
Weitere Informationen zum az monitor log-analytics workspace update
Befehl finden Sie in der Azure CLI-Dokumentation.
Um die tägliche Obergrenze für Application Insights und Log Analytics zu ändern, führen Sie die folgenden Azure PowerShell-Befehle in Ihrem Terminal aus, und ersetzen Sie die Platzhalter durch Ihre spezifischen Werte.
Application Insights
Platzhalter: <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>
Weitere Informationen zum Set-AzApplicationInsightsDailyCap
Befehl finden Sie in der Azure PowerShell-Dokumentation.
Log Analytics
Platzhalter: <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>
Weitere Informationen zum Set-AzOperationalInsightsWorkspace
Befehl finden Sie in der Azure PowerShell-Dokumentation.
Hinweis
Derzeit bietet Azure keine Möglichkeit, die tägliche Obergrenze für Application Insights mit der Azure CLI festzulegen.
Um die tägliche Obergrenze für Log Analytics zu ändern, verwenden Sie die folgende Anforderung, und ersetzen Sie die Platzhalter <subscription-id>
, , <resource-group-name>
, , <log-analytics-workspace-name>
<access-token>
, <azure-region-name>
und <daily-cap-in-gb>
durch Ihre spezifischen Werte:
Platzhalter:
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>,
},
}
}
Weitere Informationen zur Einstellung der täglichen Log Analytics-Obergrenze finden Sie in der REST-API-Dokumentation
Hinweis
Derzeit bietet Azure keine Möglichkeit, die tägliche Obergrenze für Application Insights mit einer Bicep-Vorlage festzulegen.
Um die tägliche Obergrenze für Log Analytics festzulegen, fügen Sie den folgenden Code in Ihre Vorlage ein und ersetzen Sie die Platzhalter <log-analytics-workspace-name>
, <azure-region-name>
und <daily-cap-in-gb>
durch Ihre spezifischen Werte.
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: '<log-analytics-workspace-name>'
location: '<azure-region-name>'
properties: {
dailyQuotaGb: <daily-cap-in-gb>
}
}
Hinweis
Derzeit bietet Azure keine Möglichkeit, die tägliche Obergrenze für Application Insights mithilfe einer ARM-Vorlage festzulegen.
Um die tägliche Obergrenze für Log Analytics festzulegen, fügen Sie den folgenden Code in Ihre Vorlage ein und ersetzen Sie die Platzhalter <log-analytics-workspace-name>
, <azure-region-name>
und <daily-cap-in-gb>
durch Ihre spezifischen Werte.
{
"$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>
}
}
}
]
}
Festlegen des Tarifs
Der Preisplan für Application Insights-Ressourcen kann im zugeordneten Log Analytics-Arbeitsbereich festgelegt werden. Weitere Informationen zu verfügbaren Preisplänen finden Sie unter Azure Monitor Protokolliert Kostenberechnungen und -optionen.
Hinweis
Wenn unerwartete Gebühren oder hohe Kosten in Application Insights angezeigt werden, kann dieser Leitfaden hilfreich sein. Es deckt häufige Ursachen wie hohes Telemetrievolumen, Datenaufnahmespitzen und falsch konfiguriertes Sampling ab. Es ist besonders hilfreich, wenn Sie Probleme im Zusammenhang mit Kostenspitzen, Telemetrievolumen, nicht funktionierendem Sampling, Datenobergrenzen, hohem Dateninput oder unerwarteter Abrechnung beheben. Informationen zu den ersten Schritten finden Sie unter "Problembehandlung bei der Erfassung von hohen Daten in Application Insights".
Führen Sie zum Festlegen des Preisplans einen der folgenden Azure CLI-Befehle in Ihrem Terminal aus, und ersetzen Sie die Platzhalter <log-analytics-workspace-name>
, <azure-region-name>
und (falls zutreffend) <capacity-reservation-in-gb>
durch Ihre spezifischen Werte:
Pay-as-you-go
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set PerGB2018
Verpflichtungsstufe
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set CapacityReservation --level <capacity-reservation-in-gb>
Weitere Informationen zum az monitor log-analytics workspace update
Befehl finden Sie in der Azure CLI-Dokumentation.
Führen Sie zum Festlegen des Preisplans einen der folgenden Azure PowerShell-Befehle in Ihrem Terminal aus, und ersetzen Sie die Platzhalter <log-analytics-workspace-name>
, <azure-region-name>
und (falls zutreffend) <capacity-reservation-in-gb>
durch Ihre spezifischen Werte:
Pay-as-you-go
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku perb2018
Verpflichtungsstufe
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku capacityreservation -SkuCapacity <capacity-reservation-in-gb>
Weitere Informationen zum Set-AzOperationalInsightsWorkspace
Befehl finden Sie in der Azure PowerShell-Dokumentation.
Um den Preisplan mithilfe der REST-API festzulegen, verwenden Sie eine der folgenden Anforderungen, und ersetzen Sie die Platzhalter <subscription-id>
, <resource-group-name>
, , , <log-analytics-workspace-name>
<access-token>
und (falls zutreffend) <capacity-reservation-in-gb>
durch Ihre spezifischen Werte:
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"
}
}
}
Verpflichtungsstufe
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>
}
}
}
Weitere Informationen zum Festlegen des Preisplans mithilfe der REST-API finden Sie in der REST-API-Dokumentation.
Um den Preisplan mit Bicep festzulegen, fügen Sie den folgenden Code in Ihre Vorlage ein und ersetzen Sie die Platzhalter <log-analytics-workspace-name>
, <azure-region-name>
und für die Verpflichtungsstufe auch <capacity-reservation-in-gb>
durch Ihre spezifischen Werte.
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'
}
}
}
Verpflichtungsstufe
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
}
}
}
Weitere Informationen zum Aktualisieren der Microsoft.OperationalInsights/workspaces
Ressource mit Bicep finden Sie in der Vorlagendokumentation.
Um den Preisplan mithilfe einer ARM-Vorlage festzulegen, fügen Sie den folgenden Code in Ihre Vorlage ein und ersetzen Sie die Platzhalter <log-analytics-workspace-name>
, <azure-region-name>
und für die Verpflichtungsstufe auch <capacity-reservation-in-gb>
durch Ihre spezifischen Werte.
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"
}
}
}
]
}
Verpflichtungsstufe
{
"$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')]"
}
}
}
]
}
Weitere Informationen zum Aktualisieren der Microsoft.OperationalInsights/workspaces
Ressource mithilfe einer ARM-Vorlage finden Sie in der Vorlagendokumentation.
IP-Maskierung deaktivieren
Standardmäßig speichert Application Insights keine IP-Adressen. Informationen zum Deaktivieren der IP-Maskierung finden Sie unter Geolocation und IP-Adressbehandlung.
Erstellen zusätzlicher Ressourcen
Verfügbarkeitstest erstellen
Um einen Standardverfügbarkeitstest mit Standardeinstellungen zu erstellen, führen Sie den folgenden Azure CLI-Befehl in Ihrem Terminal aus, und ersetzen Sie die Platzhalter <resource-group-name>
, <azure-region-name>
, <web-test-name>
, <url>
, <subscription-id>
und <application-insights-resource-name>
mit Ihren spezifischen Werten.
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
Weitere Informationen zum az monitor app-insights web-test create
Befehl finden Sie in der Azure CLI-Dokumentation.
Hinweis
Die Webtestregion (-location
) unterscheidet sich vom geografischen Standort (-locations
beachten Sie die Pluralform), von der mehrere ausgewählt werden können. Dies -location
bezieht sich auf die Azure-Region, in der der Webtest erstellt und gehostet wird, während -locations
sie sich auf geografische Standorte oder Standorte bezieht, von denen der Webtest ausgeführt wird. Eine vollständige Liste aller geografischen Standorte finden Sie unter Application Insights-Verfügbarkeitstests.
Um einen Standardverfügbarkeitstest mit Standardeinstellungen zu erstellen, führen Sie den folgenden Azure PowerShell-Befehl in Ihrem Terminal aus, und ersetzen Sie die Platzhalter <resource-group-name>
, , <azure-region-name>
, , <web-test-name>
<url>
, <subscription-id>
und <application-insights-resource-name>
durch Ihre spezifischen Werte:
$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"}
Weitere Informationen zum New-AzApplicationInsightsWebTest
Befehl finden Sie in der Azure PowerShell-Dokumentation.
Hinweis
Die Webtestregion (-Location
) unterscheidet sich von dem geografischen Standort (-GeoLocation
), von dem mehrere ausgewählt werden können. -Location
bezieht sich auf die Azure-Region, in der der Webtest erstellt und gehostet wird, während -GeoLocation
es sich auf den geografischen Standort oder die Standorte bezieht, von denen der Webtest ausgeführt wird. Eine vollständige Liste aller geografischen Standorte finden Sie unter Application Insights-Verfügbarkeitstests.
Um einen Standardverfügbarkeitstest mit Standardeinstellungen mithilfe der REST-API zu erstellen, verwenden Sie die folgende Anforderung, und ersetzen Sie die Platzhalter <subscription-id>
, <resource-group-name>
, , , <application-insights-resource-name>
<web-test-name>
, <access-token>
, <azure-region-name>
und <url>
durch Ihre spezifischen Werte:
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"
}
}
Hinweis
Die Webtestregion (-location
) unterscheidet sich von dem geografischen Standort (-Locations
beachten Sie die Pluralform), von der mehrere ausgewählt werden können. -location
bezieht sich auf die Azure-Region, in der der Webtest erstellt und gehostet wird, während -Locations
es sich auf den geografischen Standort oder die Standorte bezieht, von denen der Webtest ausgeführt wird. Eine vollständige Liste aller geografischen Standorte finden Sie unter Application Insights-Verfügbarkeitstests.
Weitere Informationen zum Erstellen und Konfigurieren von Webtests mithilfe der REST-API finden Sie in unserer REST-API-Dokumentation.
Um einen Standardverfügbarkeitstest mit Standardeinstellungen mit Bicep zu erstellen, fügen Sie der Vorlage den folgenden Code hinzu, und ersetzen Sie die Platzhalter <web-test-name>
, , <azure-region-name>
<subscription-id>
, <resource-group-name>
<application-insights-resource-name>
und <url>
durch Ihre spezifischen Werte:
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
}
}
}
Hinweis
Die Webtestregion (location
) unterscheidet sich von dem geografischen Standort (Locations
), von dem mehrere ausgewählt werden können. location
bezieht sich auf die Azure-Region, in der der Webtest erstellt und gehostet wird, während Locations
es sich auf den geografischen Standort oder die Standorte bezieht, von denen der Webtest ausgeführt wird. Eine vollständige Liste aller geografischen Standorte finden Sie unter Application Insights-Verfügbarkeitstests.
Weitere Informationen zum Erstellen von Verfügbarkeitstests mit Bicep finden Sie unter Microsoft.Insights Webtests.
Um einen Standardverfügbarkeitstest mit Standardeinstellungen mithilfe einer ARM-Vorlage zu erstellen, fügen Sie der Vorlage den folgenden Code hinzu, und ersetzen Sie die Platzhalter <web-test-name>
, , <azure-region-name>
, , <subscription-id>
, <resource-group-name>
<application-insights-resource-name>
und <url>
durch Ihre spezifischen Werte:
{
"$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
}
}
}
]
}
Hinweis
Die Webtestregion (location
) unterscheidet sich von dem geografischen Standort (Locations
), von dem mehrere ausgewählt werden können. location
bezieht sich auf die Azure-Region, in der der Webtest erstellt und gehostet wird, während Locations
es sich auf den geografischen Standort oder die Standorte bezieht, von denen der Webtest ausgeführt wird. Eine vollständige Liste aller geografischen Standorte finden Sie unter Application Insights-Verfügbarkeitstests.
Weitere Informationen zum Erstellen von Verfügbarkeitstests mithilfe einer ARM-Vorlage finden Sie unter Microsoft.Insights-Webtests.
Hinzufügen einer Metrikwarnung
Tipp
Jede Application Insights-Ressource umfasst Metriken, die vordefiniert verfügbar sind. Wenn separate Komponenten an dieselbe Application Insights-Ressource berichten, ist es möglicherweise nicht sinnvoll, bei diesen Metriken Alarme auszulösen.
Eine Liste der verschiedenen REST-API-Aufrufbeispiele zum Erstellen einer metriken Warnung finden Sie in der REST-API-Dokumentation.
Informationen zum Automatisieren der Erstellung von Metrikwarnungen finden Sie im Artikel Vorlage für eine Metrikwarnung.
Erstellen weiterer Application Insights-Ressourcen
Wie viele Application Insights-Ressourcen sollte ich bereitstellen?
Wenn Sie die nächste Version einer Webanwendung entwickeln, sollten Sie die Application Insights-Telemetriedaten der neuen Version nicht mit denen der bereits veröffentlichten Version verwechseln.
Um Verwirrung zu vermeiden, senden Sie die Telemetriedaten aus verschiedenen Entwicklungsphasen mit separaten Verbindungszeichenfolgen an getrennte Application Insights-Ressourcen.
Wenn Ihr System eine Instanz von Azure Cloud Services ist, gibt es eine andere Methode zum Festlegen separater Verbindungszeichenfolgen.
Wann sollte eine einzelne Application Insights-Ressource verwendet werden?
Verwenden Sie eine einzelne Application Insights-Ressource für Folgendes:
- Optimieren der DevOps/ITOps-Verwaltung für gemeinsam bereitgestellte Anwendungen, die in der Regel vom selben Team entwickelt und verwaltet werden
- Standardmäßiges Zentralisieren von Key Performance Indicators (KPI), z. B. Antwortzeiten und Fehlerraten, auf einem Dashboard. Segmentieren Sie im Metrik-Explorer bei Bedarf nach Rollennamen.
- Wenn keine unterschiedliche Verwaltung der rollenbasierten Zugriffssteuerung in Azure zwischen den Anwendungskomponenten erforderlich ist
- Wenn identische Metrtikwarnungskriterien, fortlaufende Exporte und Abrechnungs-/Kontingentverwaltung komponentenübergreifend ausreichen
- Wenn es für einen API-Schlüssel akzeptabel ist, auf Daten aus allen Komponenten gleichermaßen zuzugreifen und 10 API-Schlüssel die Anforderungen für alle Komponenten erfüllen
- Wenn die gleichen Einstellungen für die intelligente Erkennung und Arbeitselementintegration für alle Rollen geeignet sind
Hinweis
Wenn Sie mehrere Application Insights-Ressourcen konsolidieren möchten, können Sie Ihre vorhandenen Anwendungskomponenten auf eine neue, konsolidierte Application Insights-Ressource verweisen. Die in Ihrer alten Ressource gespeicherte Telemetrie wird nicht an die neue Ressource übertragen. Löschen Sie die alte Ressource also erst, wenn Sie über genügend Telemetriedaten zur Geschäftskontinuität in der neuen Ressource verfügen.
Weitere Überlegungen
Um Portaloberflächen zu aktivieren, fügen Sie benutzerdefinierten Code hinzu, um dem Attribut Cloud_RoleName aussagekräftige Werte zuzuweisen. Ohne diese Werte funktionieren Portalfeatures nicht.
Bei Azure Service Fabric-Anwendungen und klassischen Clouddiensten konfiguriert das SDK automatisch Dienste, indem es aus der Azure-Rollenumgebung liest. Bei anderen App-Typen müssen Sie sie in der Regel festlegen.
Livemetriken können Daten nicht nach Rollenname teilen.
Versions- und Releasenachverfolgung
Wenn Sie eine neue Version Ihrer Anwendung veröffentlichen, möchten Sie die Telemetrie von verschiedenen Builds trennen können. Sie können die Eigenschaft "Anwendungsversion " festlegen, sodass Sie Die Ergebnisse des Such - und Metrik-Explorers filtern können.
Es gibt mehrere unterschiedliche Methoden, um die Eigenschaft Anwendungsversion festzulegen.
Option 1: Direktes Festlegen der Version
Fügen Sie die Zeile telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;
zum Initialisierungscode Ihrer Anwendung hinzu.
Um sicherzustellen, dass alle TelemetryClient
Instanzen konsistent festgelegt werden, schließen Sie diese Zeile in einem Telemetrieinitialisierer um.
Option 2: Festlegen der Version in BuildInfo.config
(nur ASP.NET)
Das Application Insights-Webmodul nimmt die Version vom BuildLabel
Knoten auf. Schließen Sie diese Datei in Ihr Projekt ein, und denken Sie daran, die Eigenschaft Immer kopieren im Projektmappen-Explorer festzulegen.
<?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>
Generieren Sie BuildInfo.config
automatisch im Microsoft Build Engine. Fügen Sie die folgenden Zeilen zu Ihrer .csproj
Datei hinzu:
<PropertyGroup>
<GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
<IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>
Durch diesen Schritt wird eine Datei namens NameIhresProjekts.BuildInfo.config
generiert. Der Veröffentlichungsprozess benennt diese Datei in BuildInfo.config
um.
Die Buildbezeichnung enthält einen Platzhalter (*AutoGen_...*)
, wenn Sie den Build mit Visual Studio erstellen. Bei der Erstellung mit dem Microsoft Build-Modul wird der Platzhalter mit der richtigen Versionsnummer aufgefüllt.
Damit die Microsoft-Build-Engine Versionsnummern generieren kann, legen Sie die Version wie 1.0.*
in AssemblyReference.cs
fest.
Veröffentlichungshinweise
Bei Verwendung von Azure DevOps können Sie Ihren Diagrammen einen Anmerkungsmarker hinzufügen lassen, wenn Sie eine neue Version veröffentlichen.
Automatisieren des Ressourcenerstellungsprozesses
Der Ressourcenerstellungsprozess kann mithilfe von Bicep- oder JSON-Vorlagen mit Azure Resource Manager automatisiert werden. Sie können mehrere Ressourcen zusammen packen, um sie in einer Bereitstellung zu erstellen. Sie können beispielsweise eine Application Insights-Ressource mit Verfügbarkeitstests, Metrikwarnungen und einer Diagnoseeinstellung erstellen, um Telemetrie an ein Azure Storage-Konto zu senden.
Generieren einer Vorlage im Azure-Portal
Sie können eine Vorlage aus vorhandenen Ressourcen generieren.
Nur Application Insights
- Wechseln Sie zur Ressource "Application Insights" im Azure-Portal.
- Öffnen Sie Exportvorlage, die unter Automatisierung in der linken Navigationsleiste aufgeführt ist.
- (Optional): Wenn Sie Ihre eigenen Parameter verwenden möchten, deaktivieren Sie "Parameter einschließen".
- Laden Sie die Vorlagendatei herunter, oder stellen Sie sie direkt im Azure-Portal bereit.
Mehrere Ressourcen
- Wechseln Sie zur Ressourcengruppe Ihrer Application Insights-Ressource.
- Markieren Sie im Bereich "Übersicht " alle Ressourcen, die sie in die Vorlage einbeziehen möchten, und wählen Sie dann in der oberen Navigationsleiste die Option "Vorlage exportieren" aus.
- (Optional): Wenn Sie Ihre eigenen Parameter verwenden möchten, deaktivieren Sie "Parameter einschließen".
- Laden Sie die Vorlagendatei herunter, oder stellen Sie sie direkt im Azure-Portal bereit.
Erstellen einer Vorlage von Grund auf
Wenn Sie erfahren möchten, wie Sie eine ARM-Vorlage von Grund auf neu erstellen können, besuchen Sie unsere ARM-Vorlagendokumentation , die Lernprogramme zum Erstellen einer Vorlage, zum Hinzufügen von Ressourcen, zum Hinzufügen von Parametern und vieles mehr.
Verfügbare Eigenschaften für Application Insights, Verfügbarkeitstests, Metrikwarnungen, Diagnoseeinstellungen und andere Ressourcen finden Sie in unserer Azure-Ressourcenreferenzdokumentation unter dem Knoten "Reference>Monitor>Insights ".
Tipp
Sie können auch Schnellstartvorlagen verwenden, die am Ende jeder Azure-Ressourcenreferenzdokumentationsseite verfügbar sind, die in diesem Abschnitt verknüpft ist. Informationen zum Verwenden von Vorlagen finden Sie im Lernprogramm: Verwenden von Azure-Schnellstartvorlagen.
Häufig gestellte Fragen
Dieser Abschnitt enthält Antworten auf häufig gestellte Fragen.
Wie kann ich eine Application Insights-Ressource in eine neue Region verschieben?
Das Übertragen vorhandener Application Insights-Ressourcen zwischen Regionen wird nicht unterstützt, und Sie können historische Daten nicht zu einer neuen Region migrieren. Die Problemumgehung umfasst Folgendes:
- Erstellen einer neuen Application Insights-Ressource in der gewünschten Region.
- Neuerstellen aller eindeutigen Anpassungen der ursprünglichen Ressource in der neuen Ressource
- Aktualisieren Ihrer Anwendung mit der Verbindungszeichenfolge der Ressource in der neuen Region
- Testen mit der neuen Application Insights-Ressource, um die erwartungsgemäße Funktionsweise sicherzustellen
- Festlegen, ob die ursprüngliche Application Insights-Ressource beibehalten oder gelöscht werden soll. Beim Löschen einer klassischen Ressource gehen alle historischen Daten verloren. Wenn die Ressource arbeitsbereichsbasiert ist, verbleiben die Daten in Log Analytics, sodass der Zugriff auf historische Daten bis zum Ablauf des Aufbewahrungszeitraums möglich ist.
Eindeutige Anpassungen, die für die Ressource in der neuen Region normalerweise manuell neu erstellt oder aktualisiert werden müssen, umfassen beispielsweise Folgendes:
- Neuerstellen von benutzerdefinierten Dashboards und Arbeitsmappen.
- Neuerstellen oder Aktualisieren des Umfangs von benutzerdefinierten Protokoll-/Metrikwarnungen.
- Neuerstellen von Verfügbarkeitswarnungen.
- Neuerstellen aller benutzerdefinierten Einstellungen für die rollenbasierte Zugriffssteuerung in Azure, die Ihre Benutzer für den Zugriff auf die neue Ressource benötigen.
- Einstellungen für Stichprobenentnahme von Daten, Datenaufbewahrung, tägliche Obergrenze und Aktivierung benutzerdefinierter Metriken replizieren. Diese Einstellungen werden über den Bereich Nutzungs- und geschätzte Kosten gesteuert.
- Jede Integration, die auf API-Schlüsseln basiert, wie z. B. Versionsanmerkungen und einem sicheren Steuerungskanal für Livemetriken. Sie müssen neue API-Schlüssel generieren und die zugeordnete Integration aktualisieren.
- Der fortlaufende Export in klassische Ressourcen muss erneut konfiguriert werden.
- Diagnoseeinstellungen in arbeitsbereichsbasierten Ressourcen müssen erneut konfiguriert werden.
Kann ich „providers('Microsoft.Insights', 'components').apiVersions[0]“ in meinen Azure Resource Manager-Bereitstellungen verwenden?
Es wird davon abgeraten, diese Methode zum Auffüllen der API-Version zu verwenden. Die neueste Version kann Vorschaureleases darstellen, die Breaking Changes enthalten können. Auch bei neueren Nichtvorschauversionen sind die API-Versionen nicht immer abwärtskompatibel mit vorhandenen Vorlagen. In einigen Fällen ist die API-Version möglicherweise nicht für alle Abonnements verfügbar.
Nächste Schritte