Application Insights si integra con Log Analytics e invia dati di telemetria a un'area di lavoro Log Analytics comune. Questa configurazione consente l'accesso completo alle funzionalità di Log Analytics, consolida i log in un'unica posizione e consente il controllo unificato degli accessi in base al ruolo di Azure che elimina la necessità di query tra app e aree di lavoro.
Le funzionalità avanzate includono:
-
Chiavi - Crittografare i dati inattivi con chiavi accessibili solo all'utente.
-
Collegamento - Connettere in modo sicuro i servizi PaaS di Azure alla rete virtuale usando endpoint privati.
-
Bring Your Own Storage (BYOS) - Gestire i dati da .NET Profiler e Snapshot Debugger con criteri per la crittografia, la durata e l'accesso alla rete.
-
-
Risparmiare fino a 30% sui prezzi con pagamento in base al consumo.
Questo articolo illustra come creare e configurare le risorse di Application Insights. Insieme alla risorsa di Application Insights stessa, è possibile aggiungere diverse configurazioni, ad esempio l'impostazione del limite giornaliero e il piano tariffario. È anche possibile creare test di disponibilità, configurare gli avvisi delle metriche e automatizzare il processo usando Azure Resource Manager.
Nota
L'inserimento e la conservazione di dati per le risorse di Application Insights basate sull'area di lavoro vengono fatturate tramite l'area di lavoro Log Analytics in cui si trovano i dati. Per altre informazioni sulla fatturazione, vedere Dettagli sui prezzi dei log di Monitoraggio di Azure.
Prerequisiti
- Una sottoscrizione di Azure attiva.
- Autorizzazioni necessarie per creare risorse.
Requisiti aggiuntivi
Nessun requisito aggiuntivo.
Per accedere ai comandi dell'interfaccia della riga di comando di Azure di Application Insights, è prima necessario eseguire:
az extension add -n application-insights
Se non si esegue il comando az extension add
, viene visualizzato un messaggio di errore che indica az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'
.
È possibile distribuire modelli Bicep tramite l'interfaccia della riga di comando di Azure, Azure PowerShell e nel portale di Azure. Controllare le rispettive schede per i requisiti aggiuntivi.
È possibile distribuire modelli ARM tramite l'Azure CLI, Azure PowerShell e nel portale di Azure. Controllare le rispettive schede per i requisiti aggiuntivi.
Crea una risorsa Application Insights
- Accedi al portale di Azure.
- Selezionare Crea una risorsa.
- Aprire la categoria Monitoraggio e diagnostica, quindi selezionare Application Insights.
- Immettere tutte le informazioni pertinenti, quindi Rivedi e crea la risorsa di Application Insights.
Nota
Se non ci si connette a un'area di lavoro Log Analytics esistente durante la creazione di risorse, viene creata automaticamente una nuova risorsa di Log Analytics insieme alla risorsa di Application Insights.
Dopo aver creato la risorsa, è possibile trovare le informazioni corrispondenti sull'area di lavoro nel riquadro Panoramica di Application Insights.
Selezionare il testo del collegamento blu per passare all'area di lavoro Log Analytics associata in cui è possibile sfruttare il nuovo ambiente di query dell'area di lavoro unificata.
Nota
Microsoft offre comunque la piena compatibilità con le versioni precedenti per le query di risorse classiche, le cartelle di lavoro e gli avvisi basati su log di Application Insights. Per eseguire query o visualizzare la nuova struttura o schema di tabella basati sull'area di lavoro, è necessario passare prima all'area di lavoro Log Analytics. Selezionare Log (Analisi) nei riquadri di Application Insights per accedere all'esperienza di query classica di Application Insights.
Per creare una risorsa di Application Insights basata sull'area di lavoro, è necessaria un'area di lavoro Log Analytics. Se non è già disponibile, è possibile usare il comando seguente dell'interfaccia della riga di comando di Azure per crearne uno.
Segnaposto: <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>
Per creare una risorsa di Application Insights, eseguire il comando seguente dell'interfaccia della riga di comando di Azure nel terminale.
Segnaposto: <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>
Per altre informazioni sulla creazione di risorse di Application Insights e aree di lavoro Log Analytics tramite l'interfaccia della riga di comando di Azure, vedere la documentazione dell'interfaccia della riga di comando di Azure per Application Insights e Log Analytics.
Per creare una risorsa di Application Insights basata sull'area di lavoro, è necessaria un'area di lavoro Log Analytics. Se non ne è già disponibile uno, è possibile usare il comando di Azure PowerShell seguente per crearne uno.
Segnaposto: <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>
Per creare una risorsa di Application Insights, eseguire il comando di Azure PowerShell seguente nel terminale.
Segnaposto: <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>
Per altre informazioni sulla creazione di risorse di Application Insights e aree di lavoro Log Analytics con Azure PowerShell, vedere la documentazione di Azure PowerShell per Application Insights e Log Analytics.
Per creare una risorsa di Application Insights basata sull'area di lavoro, è necessaria un'area di lavoro Log Analytics. Se non è già disponibile, è possibile usare la chiamata API REST seguente per crearne una.
Segnaposto: <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>"
}
Per creare una risorsa di Application Insights usando l'API REST, usare la richiesta seguente.
Segnaposto: <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>"
}
}
Per altre informazioni sulla creazione di risorse di Application Insights e aree di lavoro Log Analytics tramite l'API REST, vedere la documentazione dell'API REST per Application Insights e Log Analytics.
Ecco come creare una nuova risorsa di Application Insights usando un modello Bicep.
Creare un modello
Creare un nuovo file .bicep (ad esempio my-template.bicep), copiarne il contenuto seguente:
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
}
}
Creare un file di parametri
Creare un nuovo file con estensione bicepparam (ad esempio my-parameters.bicepparam), copiarne il contenuto seguente e sostituire i segnaposto <application-insights-resource-name>
, <application-type>
, <azure-region-name>
<subscription-id>
, , <resource-group-name>
e <log-analytics-workspace-name>
con i valori specifici:
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>'
Usare il modello per creare una nuova risorsa di Application Insights
In PowerShell accedere ad Azure usando $Connect-AzAccount
.
Impostare il contesto su una sottoscrizione con Set-AzContext "<subscription ID>"
.
Eseguire una nuova distribuzione per creare una nuova risorsa di Application Insights:
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.bicep -TemplateParameterFile my-parameters.bicepparam
-
-ResourceGroupName
è il gruppo in cui si vogliono creare le nuove risorse.
-
-TemplateFile
deve precedere i parametri personalizzati.
-
-TemplateParameterFile
è il nome del file di parametri.
È possibile aggiungere altri parametri. Le descrizioni sono disponibili nella sezione parametri del modello.
Ecco come creare una nuova risorsa di Application Insights usando un modello ARM.
Creare un modello
Creare un nuovo file .json (ad esempio ,my-template.json) e copiarne il contenuto seguente:
{
"$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')]"
}
}
]
}
Nota
Per altre informazioni sulle proprietà delle risorse, vedere Valori delle proprietà.
Flow_Type
e Request_Source
non vengono usati, ma sono inclusi in questo esempio per completezza.
Creare un file di parametri
Creare un nuovo file .json (ad esempio ,my-parameters.json), copiarne il contenuto seguente e sostituire i segnaposto <application-insights-resource-name>
, <application-type>
, <azure-region-name>
, <subscription-id>
, <resource-group-name>
e <log-analytics-workspace-name>
con i valori specifici:
{
"$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>"
}
}
}
Usare il modello per creare una nuova risorsa di Application Insights
In PowerShell accedere ad Azure usando $Connect-AzAccount
.
Impostare il contesto su una sottoscrizione con Set-AzContext "<subscription ID>"
.
Eseguire una nuova distribuzione per creare una nuova risorsa di Application Insights:
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.json -TemplateParameterFile my-parameters.json
-
-ResourceGroupName
è il gruppo in cui si vogliono creare le nuove risorse.
-
-TemplateFile
deve precedere i parametri personalizzati.
-
-TemplateParameterFile
è il nome del file di parametri.
Dopo aver creato una risorsa di Application Insights, configurare il monitoraggio.
Ottenere la stringa di connessione
La stringa di connessione identifica la risorsa a cui si vuole associare i dati di telemetria. È anche possibile usarlo per modificare gli endpoint che la risorsa utilizza come destinazione per i dati di telemetria. È necessario copiare la stringa di connessione e aggiungerla al codice dell'applicazione o a una variabile di ambiente.
Per ottenere la stringa di connessione della risorsa di Application Insights:
- Aprire la risorsa Application Insights nel portale di Azure.
- Nel riquadro Panoramica della sezione Essenziali, cercare Stringa di connessione.
- Se si passa il puntatore del mouse sulla stringa di connessione, viene visualizzata un'icona che consente di copiarla negli Appunti.
Per ottenere la stringa di connessione, eseguire il comando seguente dell'interfaccia della riga di comando di Azure nel terminale e sostituire i segnaposto <application-insights-resource-name>
e <resource-group-name>
con i valori specifici:
az monitor app-insights component show --app <application-insights-resource-name> --resource-group <resource-group-name> --query connectionString --output tsv
Per altre informazioni sul az monitor app-insights component show
comando, vedere la documentazione dell'interfaccia della riga di comando di Azure.
Per ottenere la stringa di connessione, eseguire il comando di Azure PowerShell seguente nel terminale e sostituire i segnaposto <resource-group-name>
e <application-insights-resource-name>
con i valori specifici:
Get-AzApplicationInsights -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> | Select-Object -ExpandProperty ConnectionString
Per altre informazioni sul Get-AzApplicationInsights
comando, vedere la documentazione di Azure PowerShell.
Per recuperare i dettagli della risorsa di Application Insights, usare la richiesta seguente e sostituire i segnaposto <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
e <access-token>
con i valori specifici:
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>
Cercare il properties.connectionString
campo nella risposta JSON.
Per altre informazioni sul recupero di informazioni sulle risorse di Application Insights tramite l'API REST, vedere la documentazione dell'API REST.
Non applicabile ai modelli Bicep.
Non applicabile ai modelli ARM.
Monitoraggio delle applicazioni con OpenTelemetry
Per il monitoraggio delle applicazioni con OpenTelemetry, installa la Distro OpenTelemetry di Azure Monitor appropriata e indirizza la stringa di connessione alla risorsa appena creata.
Per informazioni su come configurare il monitoraggio delle applicazioni con OpenTelemetry, vedere la documentazione seguente specifica del linguaggio:
Strumentazione automatica
Per i servizi di monitoraggio come Funzioni di Azure e Servizio app di Azure, è prima possibile creare la risorsa di Application Insights, quindi puntare a tale risorsa quando si abilita il monitoraggio. In alternativa, è possibile creare una nuova risorsa di Application Insights durante il processo di abilitazione.
Modificare l'area di lavoro associata
Dopo aver creato una risorsa di Application Insights, è possibile modificare l'area di lavoro Log Analytics associata.
Nella risorsa di Application Insights selezionare Proprietà>Modifica area di lavoro>Aree di lavoro di Log Analytics.
Per modificare l'area di lavoro Log Analytics, eseguire il comando seguente dell'interfaccia della riga di comando di Azure nel terminale e sostituire i segnaposto <application-insights-resource-name>
, <resource-group-name>
e <log-analytics-workspace-name>
con i valori specifici:
az monitor app-insights component update --app <application-insights-resource-name> --resource-group <resource-group-name> --workspace <log-analytics-workspace-name>
Per altre informazioni sul az monitor app-insights component update
comando, vedere la documentazione dell'interfaccia della riga di comando di Azure.
Per modificare l'area di lavoro Log Analytics, eseguire il comando di Azure PowerShell seguente nel terminale e sostituire i segnaposto <resource-group-name>
, <application-insights-resource-name>
, <subscription-id>
e <log-analytics-workspace-name>
con i valori specifici:
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>
Per altre informazioni sul Update-AzApplicationInsights
comando, vedere la documentazione di Azure PowerShell.
Per modificare l'area di lavoro Log Analytics usando l'API REST, usare la richiesta seguente e sostituire i segnaposto <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
<access-token>
, , <azure-region-name>
e <log-analytics-workspace-name>
con i valori specifici:
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>"
}
}
Per altre informazioni sulla modifica dell'area di lavoro associata tramite l'API REST, vedere la documentazione dell'API REST.
Per modificare l'area di lavoro Log Analytics, incollare il codice seguente nel modello e sostituire i segnaposto <application-insights-resource-name>
, <azure-region-name>
, <application-type>
e <log-analytics-workspace-name>
con i valori specifici:
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
}
}
Per modificare l'area di lavoro Log Analytics, incollare il codice seguente nel modello e sostituire i segnaposto <application-insights-resource-name>
, <azure-region-name>
, <application-type>
e <log-analytics-workspace-name>
con i valori specifici:
{
"$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>"
}
}
]
}
Esportare i dati di telemetria
La funzionalità di esportazione continua legacy non è supportata per le risorse basate sull'area di lavoro. Usare invece le impostazioni di diagnostica.
Nota
L'esportazione delle impostazioni di diagnostica potrebbe aumentare i costi. Per altre informazioni, vedere Esportare la telemetria da Application Insights.
Per informazioni sui prezzi per questa funzionalità, vedere la pagina dei prezzi di Monitoraggio di Azure. Prima dell'inizio della fatturazione, le notifiche vengono inviate. Se si continua a usare l'esportazione dei dati di telemetria dopo il periodo di preavviso, la fattura verrà addebitata alla tariffa applicabile.
Nella risorsa di Application Insights selezionare Impostazioni> didiagnostica Aggiungi impostazione di diagnostica.
È possibile selezionare tutte le tabelle o un subset di tabelle da archiviare in un account di archiviazione. È anche possibile eseguire lo streaming in un hub eventi.
Per esportare i dati di telemetria usando le impostazioni di diagnostica, eseguire il comando dell'interfaccia della riga di comando di Azure seguente nel terminale e sostituire i segnaposto <diagnostic-setting-name>
, <application-insights-resource-name>
, <resource-group-name>
e <storage-account-name>
con i valori specifici:
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>
Questo comando di esempio abilita le impostazioni di diagnostica e invia tutti i log della risorsa di Application Insights all'account di archiviazione specificato. Per inviare anche le metriche, aggiungere --metrics '[{"category": "AllMetrics", "enabled": true}]'
al comando .
Per altre informazioni sul az monitor diagnostic-settings create
comando, vedere la documentazione dell'interfaccia della riga di comando di Azure.
Per esportare i dati di telemetria usando le impostazioni di diagnostica, eseguire il comando di Azure PowerShell seguente nel terminale e sostituire i segnaposto <application-insights-resource-id>
, <diagnostic-setting-name>
e <storage-account-id>
con i valori specifici:
Set-AzDiagnosticSetting -ResourceId <application-insights-resource-id> -Name <diagnostic-setting-name> -StorageAccountId <storage-account-id> -Enabled $True
Questo comando di esempio abilita le impostazioni di diagnostica e invia tutte le metriche e i log della risorsa di Application Insights all'account di archiviazione specificato.
Per altre informazioni sul Set-AzDiagnosticSetting
comando, vedere la documentazione di Azure PowerShell.
Per esportare i dati di telemetria in un account di archiviazione di Azure usando un'impostazione di diagnostica, usare la richiesta seguente e sostituire i segnaposto <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
<diagnostic-setting-name>
, <access-token>
, e <storage-account-name>
con i valori specifici:
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
}
]
}
}
Questa chiamata di esempio abilita le impostazioni di diagnostica e invia tutte le metriche e i log della risorsa di Application Insights all'account di archiviazione specificato.
Per altre informazioni sulla creazione di un'impostazione di diagnostica tramite l'API REST, vedere la documentazione dell'API REST.
Per esportare i dati di telemetria usando le impostazioni di diagnostica, incollare il codice seguente nel modello e sostituire i segnaposto <application-insights-resource-name>
, , <azure-region-name>
<application-type>
<diagnostic-setting-name>
<subscription-id>
<resource-group>
e <storage-account-name>
con i valori specifici:
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
}
]
}
}
Per esportare i dati di telemetria usando le impostazioni di diagnostica, incollare il codice seguente nel modello e sostituire i segnaposto <application-insights-resource-name>
, , <azure-region-name>
<application-type>
<diagnostic-setting-name>
<subscription-id>
<resource-group>
e <storage-account-name>
con i valori specifici:
{
"$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
}
]
}
}
]
}
Impostare la conservazione dei dati
Per impostare la conservazione dei dati per l'area di lavoro Log Analytics associata, incollare il codice seguente nel modello e sostituire i segnaposto <log-analytics-workspace-name>
, <azure-region-name>
, <retention-period-in-days>
con i valori specifici:
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: '<log-analytics-workspace-name>'
location: '<azure-region-name>'
properties: {
retentionInDays: <retention-period-in-days>
}
}
Per impostare la conservazione dei dati per l'area di lavoro Log Analytics associata, incollare il codice seguente nel modello e sostituire i segnaposto <log-analytics-workspace-name>
, <azure-region-name>
, <retention-period-in-days>
con i valori specifici:
{
"$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>
}
}
]
}
Impostare il limite giornaliero
Il limite giornaliero deve essere impostato in modo indipendente sia per Application Insights che per l'area di lavoro Log Analytics sottostante. Il limite giornaliero effettivo è il minimo delle due impostazioni.
Nota
Attualmente, Azure non offre un modo per impostare il limite giornaliero per Application Insights tramite l'interfaccia della riga di comando di Azure.
Per modificare il limite giornaliero per Log Analytics, eseguire il comando seguente dell'interfaccia della riga di comando di Azure nel terminale e sostituire i segnaposto <resource-group-name>
, <log-analytics-workspace-name>
e <daily-cap-in-gb>
con i valori specifici.
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set workspaceCapping.dailyQuotaGb=<daily-cap-in-gb>
Per altre informazioni sul az monitor log-analytics workspace update
comando, vedere la documentazione dell'interfaccia della riga di comando di Azure.
Per modificare il limite giornaliero per Application Insights e Log Analytics, eseguire i comandi di Azure PowerShell seguenti nel terminale e sostituire i segnaposto con i valori specifici.
Application Insights
Segnaposto: <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>
Per altre informazioni sul Set-AzApplicationInsightsDailyCap
comando, vedere la documentazione di Azure PowerShell.
Log Analytics
Segnaposto: <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>
Per altre informazioni sul Set-AzOperationalInsightsWorkspace
comando, vedere la documentazione di Azure PowerShell.
Nota
Attualmente, Azure non offre un modo per impostare il limite giornaliero per Application Insights con l'interfaccia della riga di comando di Azure.
Per modificare il limite giornaliero per Log Analytics, usare la richiesta seguente e sostituire i segnaposto <subscription-id>
, <resource-group-name>
, <log-analytics-workspace-name>
<access-token>
, , <azure-region-name>
e <daily-cap-in-gb>
con i valori specifici:
Segnaposto:
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>,
},
}
}
Per altre informazioni sull'impostazione del limite giornaliero di Log Analytics, vedere la documentazione dell'API REST
Nota
Attualmente, Azure non offre un modo per impostare il limite giornaliero per Application Insights con un modello Bicep.
Per impostare il limite giornaliero per Log Analytics, incollare il codice seguente nel modello e sostituire i segnaposto <log-analytics-workspace-name>
, <azure-region-name>
e <daily-cap-in-gb>
con i valori specifici:
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: '<log-analytics-workspace-name>'
location: '<azure-region-name>'
properties: {
dailyQuotaGb: <daily-cap-in-gb>
}
}
Nota
Attualmente, Azure non offre un modo per impostare il limite giornaliero per Application Insights usando un modello ARM.
Per impostare il limite giornaliero per Log Analytics, incollare il codice seguente nel modello e sostituire i segnaposto <log-analytics-workspace-name>
, <azure-region-name>
e <daily-cap-in-gb>
con i valori specifici:
{
"$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>
}
}
}
]
}
Impostare il piano tariffario
Il piano tariffario per le risorse di Application Insights può essere impostato nell'area di lavoro Log Analytics associata. Per altre informazioni sui piani tariffari disponibili, vedere Calcoli e opzioni dei costi dei log di Monitoraggio di Azure.
Nota
Se vengono visualizzati addebiti imprevisti o costi elevati in Application Insights, questa guida può essere utile. Vengono illustrate le cause comuni, ad esempio volumi di telemetria elevati, picchi di inserimento dati e campionamento non configurato correttamente. È particolarmente utile se si stanno risolvendo problemi relativi a picchi di costo, volume di telemetria, campionamento non funzionante, limiti di dati, inserimento elevato o fatturazione imprevista. Per iniziare, vedere Risolvere i problemi relativi all'inserimento dati elevato in Application Insights.
Per impostare il piano tariffario, eseguire uno dei comandi seguenti dell'interfaccia della riga di comando di Azure nel terminale e sostituire i segnaposto <log-analytics-workspace-name>
, <azure-region-name>
e (se applicabile) <capacity-reservation-in-gb>
con i valori specifici:
Pagamento in base al consumo
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set PerGB2018
Livello di impegno
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set CapacityReservation --level <capacity-reservation-in-gb>
Per altre informazioni sul az monitor log-analytics workspace update
comando, vedere la documentazione dell'interfaccia della riga di comando di Azure.
Per impostare il piano tariffario, eseguire uno dei comandi di Azure PowerShell seguenti nel terminale e sostituire i segnaposto <log-analytics-workspace-name>
, <azure-region-name>
e (se applicabile) <capacity-reservation-in-gb>
con i valori specifici:
Pagamento in base al consumo
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku perb2018
Livello di impegno
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku capacityreservation -SkuCapacity <capacity-reservation-in-gb>
Per altre informazioni sul Set-AzOperationalInsightsWorkspace
comando, vedere la documentazione di Azure PowerShell.
Per impostare il piano tariffario usando l'API REST, usare una delle richieste seguenti e sostituire i segnaposto <subscription-id>
, <resource-group-name>
, <log-analytics-workspace-name>
, <access-token>
, e (se applicabile) <capacity-reservation-in-gb>
con i valori specifici:
Pagamento in base al consumo
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"
}
}
}
Livello di impegno
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>
}
}
}
Per altre informazioni sull'impostazione del piano tariffario tramite l'API REST, vedere la documentazione dell'API REST.
Per impostare il piano tariffario usando Bicep, incollare il codice seguente nel modello e sostituire i segnaposto <log-analytics-workspace-name>
, <azure-region-name>
e per il livello di impegno anche <capacity-reservation-in-gb>
con i valori specifici:
Pagamento in base al consumo
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'
}
}
}
Livello di impegno
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
}
}
}
Per altre informazioni sull'aggiornamento della Microsoft.OperationalInsights/workspaces
risorsa con Bicep, vedere la documentazione dei modelli.
Per impostare il piano tariffario usando un modello ARM, incollare il codice seguente nel modello e sostituire i segnaposto <log-analytics-workspace-name>
, <azure-region-name>
e anche <capacity-reservation-in-gb>
per il livello di impegno con i vostri valori specifici.
Pagamento in base al consumo
{
"$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"
}
}
}
]
}
Livello di impegno
{
"$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')]"
}
}
}
]
}
Per ulteriori informazioni sull'aggiornamento della Microsoft.OperationalInsights/workspaces
risorsa utilizzando un modello ARM di Resource Manager, consultare la documentazione sui modelli.
Disabilitare la maschera IP
Per impostazione predefinita, Application Insights non archivia gli indirizzi IP. Per informazioni su come disabilitare la maschera IP, vedere Georilevazione e gestione degli indirizzi IP.
Creare risorse aggiuntive
Crea test di disponibilità
Per creare un test di disponibilità standard con le impostazioni predefinite, eseguire il comando seguente dell'interfaccia della riga di comando di Azure nel terminale e sostituire i segnaposto <resource-group-name>
, <azure-region-name>
, <web-test-name>
<url>
, <subscription-id>
, e <application-insights-resource-name>
con i valori specifici:
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
Per altre informazioni sul az monitor app-insights web-test create
comando, vedere la documentazione dell'interfaccia della riga di comando di Azure.
Nota
L'area di test Web (-location
) è diversa dalla posizione geografica (-locations
, si noti il formato plurale) di cui è possibile selezionare più. Fa -location
riferimento all'area di Azure in cui viene creato e ospitato il test Web, mentre -locations
fa riferimento alla posizione geografica o alle posizioni da cui viene eseguito il test Web. Per un elenco completo di tutte le posizioni geografiche, vedere Test di disponibilità di Application Insights.
Per creare un test di disponibilità standard con le impostazioni predefinite, eseguire il comando di Azure PowerShell seguente nel terminale e sostituire i segnaposto <resource-group-name>
, <azure-region-name>
, <web-test-name>
<url>
, , <subscription-id>
e <application-insights-resource-name>
con i valori specifici:
$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"}
Per altre informazioni sul New-AzApplicationInsightsWebTest
comando, vedere la documentazione di Azure PowerShell.
Nota
L'area di test Web (-Location
) è diversa dalla posizione geografica (-GeoLocation
) di cui è possibile selezionare più.
-Location
fa riferimento all'area di Azure in cui viene creato e ospitato il test Web, mentre -GeoLocation
fa riferimento alla posizione geografica o alle posizioni da cui viene eseguito il test Web. Per un elenco completo di tutte le posizioni geografiche, vedere Test di disponibilità di Application Insights.
Per creare un test di disponibilità standard con le impostazioni predefinite usando l'API REST, usare la richiesta seguente e sostituire i segnaposto <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
<web-test-name>
<access-token>
, <azure-region-name>
e <url>
con i valori specifici:
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"
}
}
Nota
L'area di test Web (-location
) è diversa dalla posizione geografica (-Locations
, si noti il formato plurale) di cui è possibile selezionare più.
-location
fa riferimento all'area di Azure in cui viene creato e ospitato il test Web, mentre -Locations
fa riferimento alla posizione geografica o alle posizioni da cui viene eseguito il test Web. Per un elenco completo di tutte le posizioni geografiche, vedere Test di disponibilità di Application Insights.
Per altre informazioni sulla creazione e la configurazione di test Web tramite l'API REST, vedere la documentazione dell'API REST.
Per creare un test di disponibilità standard con le impostazioni predefinite usando Bicep, aggiungere il codice seguente al modello e sostituire i segnaposto <web-test-name>
, <azure-region-name>
, <subscription-id>
<resource-group-name>
, , <application-insights-resource-name>
e <url>
con i valori specifici:
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
}
}
}
Nota
L'area di test Web (location
) è diversa dalla posizione geografica (Locations
) di cui è possibile selezionare più.
location
fa riferimento all'area di Azure in cui viene creato e ospitato il test Web, mentre Locations
fa riferimento alla posizione geografica o alle posizioni da cui viene eseguito il test Web. Per un elenco completo di tutte le posizioni geografiche, vedere Test di disponibilità di Application Insights.
Per altre informazioni sulla creazione di test di disponibilità con Bicep, vedere Microsoft.Insights webtests.
Per creare un test di disponibilità standard con le impostazioni predefinite utilizzando un modello di Resource Manager, aggiungi il seguente codice al tuo modello e sostituisci i segnaposto <web-test-name>
, <azure-region-name>
, <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
e <url>
con i valori specifici:
{
"$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
}
}
}
]
}
Nota
L'area di test Web (location
) è diversa dalla posizione geografica (Locations
) di cui è possibile selezionare più.
location
fa riferimento all'area di Azure in cui viene creato e ospitato il test Web, mentre Locations
fa riferimento alla posizione geografica o alle posizioni da cui viene eseguito il test Web. Per un elenco completo di tutte le posizioni geografiche, vedere Test di disponibilità di Application Insights.
Per ulteriori informazioni sulla creazione di test di disponibilità utilizzando un modello ARM, vedere webtest Microsoft.Insights.
Aggiungere un avviso per la metrica
Suggerimento
Ogni risorsa di Application Insights viene fornita con metriche disponibili per la configurazione predefinita. Se i componenti separati segnalano alla stessa risorsa di Application Insights, potrebbe non essere opportuno inviare avvisi su queste metriche.
Per automatizzare la creazione di avvisi delle metriche, vedere l'articolo Modello di avvisi delle metriche.
Creare più risorse di Application Insights
Quante risorse Application Insights è necessario distribuire?
Quando si sviluppa la versione successiva di un'applicazione Web, non è desiderabile combinare la telemetria di Application Insights della nuova versione con quella della versione già rilasciata.
Per evitare confusione, inviare i dati di telemetria da diverse fasi di sviluppo per separare le risorse di Application Insights, con stringhe di connessione separate.
Se il sistema è un'istanza di Servizi cloud di Azure, esiste un altro metodo per impostare stringhe di connessione separate.
Quando usare una singola risorsa di Application Insights
Usare una singola risorsa di Application Insights per:
- Semplificando la gestione di DevOps/ITOps per le applicazioni distribuite insieme, in genere sviluppate e gestite dallo stesso team.
- Centralizzazione degli indicatori di prestazioni chiave, ad esempio tempi di risposta e percentuali di errore, in un dashboard per impostazione predefinita. Segmentare in base al nome del ruolo in Esplora metriche, se necessario.
- Quando non è necessaria una gestione diversa del controllo degli accessi in base al ruolo di Azure tra i componenti dell'applicazione.
- Quando sono sufficienti criteri di avviso per le metriche identiche, esportazioni continue e gestione delle quote/fatturazione tra componenti.
- Quando è accettabile che una chiave API acceda ai dati da tutti i componenti in modo uniforme e 10 chiavi API soddisfino le esigenze in tutti i componenti.
- Quando le stesse impostazioni di rilevamento intelligente e integrazione degli elementi di lavoro sono adatte a tutti i ruoli.
Nota
Se si vogliono consolidare più risorse di Application Insights, è possibile puntare i componenti dell'applicazione esistenti a una nuova risorsa di Application Insights consolidata. I dati di telemetria archiviati nella risorsa precedente non vengono trasferiti alla nuova risorsa. Eliminare la risorsa precedente solo quando si dispone di dati di telemetria sufficienti nella nuova risorsa per la continuità aziendale.
Altre considerazioni
Per attivare le esperienze del portale, aggiungere codice personalizzato per assegnare valori significativi all'attributo Cloud_RoleName. Senza questi valori, le funzionalità del portale non funzionano.
Per le applicazioni di Azure Service Fabric e i servizi cloud classici, l'SDK configura automaticamente i servizi leggendo dall'ambiente del ruolo di Azure. Per altri tipi di app, in genere è necessario impostarlo in modo esplicito.
Le metriche attive non possono suddividere i dati in base al nome del ruolo.
Verifica della versione
Quando si pubblica una nuova versione dell'applicazione, si vuole essere in grado di separare i dati di telemetria da compilazioni diverse. È possibile impostare la proprietà Versione applicazione in modo da filtrare i risultati della ricerca e di Esplora metriche .
Esistono diversi metodi di impostazione della proprietà della versione dell'applicazione.
Opzione 1: Impostare direttamente la versione
Aggiungere la riga telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;
al codice di inizializzazione dell'applicazione.
Per assicurarsi che tutte le TelemetryClient
istanze siano impostate in modo coerente, inserire tale riga in un inizializzatore di telemetria.
Opzione 2: Impostare la versione in BuildInfo.config
(solo ASP.NET)
Il modulo Web di Application Insights seleziona la versione dal BuildLabel
nodo. Includere questo file nel progetto e ricordarsi di impostare la proprietà Copia sempre in Esplora soluzioni.
<?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>
Generare BuildInfo.config
automaticamente nel motore di compilazione Microsoft. Aggiungere la riga seguente al file .csproj
:
<PropertyGroup>
<GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
<IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>
Questo passaggio genera un file denominato yourProjectName.BuildInfo.config
. Il processo di pubblicazione lo rinomina in BuildInfo.config
.
L'etichetta di compilazione contiene un segnaposto (*AutoGen_...*)
se la compilazione viene eseguita in Visual Studio. Se compilato con Microsoft Build Engine, il segnaposto viene popolato con il numero di versione corretto.
Per consentire al motore di compilazione Microsoft di generare numeri di versione, impostare la versione come 1.0.*
in AssemblyReference.cs
.
Annotazioni sulle versioni
Se si usa Azure DevOps, è possibile visualizzare un marcatore di annotazione aggiunto ai grafici quando si rilascia una nuova versione.
Automatizzare il processo di creazione delle risorse
Il processo di creazione delle risorse può essere automatizzato usando modelli Bicep o JSON con Azure Resource Manager. È possibile raggruppare diverse risorse per crearle in un'unica distribuzione. Ad esempio, è possibile creare una risorsa di Application Insights con test di disponibilità, avvisi delle metriche e un'impostazione di diagnostica per inviare dati di telemetria a un account di archiviazione di Azure.
Generare un modello nel portale di Azure
È possibile generare un modello da risorse esistenti.
Solo Application Insights
- Passare alla risorsa di Application Insights nel portale di Azure.
- Aprire Esporta modello elencato in Automazione nella barra di navigazione a sinistra.
- (Facoltativo): per usare i propri parametri, deselezionare Includi parametri.
-
Scaricare il file modello o Distribuirlo direttamente nel portale di Azure.
Più risorse
- Passare al gruppo di risorse della risorsa di Application Insights.
- Nel riquadro Panoramica contrassegnare tutte le risorse che si desidera includere nel modello, quindi selezionare Esporta modello nella barra di spostamento superiore.
- (Facoltativo): per usare i propri parametri, deselezionare Includi parametri.
-
Scaricare il file modello o Distribuirlo direttamente nel portale di Azure.
Creare un modello da zero
Per informazioni su come creare un modello di Resource Manager da zero, visitare la documentazione del modello di Resource Manager che include esercitazioni per creare un modello, aggiungere risorse, aggiungere parametri e altro ancora.
Le proprietà disponibili per Application Insights, i test di disponibilità, gli avvisi delle metriche, le impostazioni di diagnostica e altre risorse possono essere trovate nella documentazione di riferimento delle risorse di Azure sotto il nodo Reference>Monitor>Insights.
Suggerimento
È anche possibile usare i modelli di avvio rapido, disponibili nella parte inferiore della pagina della documentazione di riferimento delle risorse di Azure collegata in questa sezione. Per informazioni su come usare i modelli, vedere Esercitazione: Usare modelli di avvio rapido di Azure.
Domande frequenti
Questa sezione fornisce le risposte alle domande comuni.
Come si sposta una risorsa Application Insights in una nuova area?
Il trasferimento di risorse di Application Insights esistenti tra aree non è supportato e non è possibile eseguire la migrazione dei dati cronologici a una nuova area. La soluzione alternativa prevede:
- Creazione di una nuova risorsa di Application Insights nell'area desiderata.
- Ricreando eventuali personalizzazioni univoche dalla risorsa originale nella nuova.
- Aggiornamento dell'applicazione con la stringa di connessione della nuova risorsa dell'area.
- Test per assicurarsi che tutto funzioni come previsto con la nuova risorsa di Application Insights.
- Decidere di mantenere o eliminare la risorsa originale di Application Insights. L'eliminazione di una risorsa classica significa perdere tutti i dati cronologici. Se la risorsa è basata sull'area di lavoro, i dati rimangono in Log Analytics, consentendo l'accesso ai dati cronologici fino alla scadenza del periodo di conservazione.
Le personalizzazioni univoche che in genere devono essere ricreate o aggiornate manualmente per la risorsa nella nuova area includono, ad esempio:
- Ricreare dashboard e cartelle di lavoro personalizzati.
- Ricreare o aggiornare l'ambito di tutti gli avvisi di log/metriche personalizzati.
- Ricreare gli avvisi di disponibilità.
- Ricreare le impostazioni personalizzate del controllo degli accessi in base al ruolo di Azure necessarie per consentire agli utenti di accedere alla nuova risorsa.
- Replicare le impostazioni che includono il campionamento per inserimento, la conservazione dei dati, il limite giornaliero e l'abilitazione delle metriche personalizzate. Queste impostazioni sono controllate tramite il riquadro Utilizzo e costi stimati.
- Qualsiasi integrazione basata su chiavi API, ad esempio annotazioni di rilascio e canale di controllo sicuro per le metriche in tempo reale. È necessario generare nuove chiavi API e aggiornare l'integrazione associata.
- L'esportazione continua nelle risorse classiche deve essere configurata di nuovo.
- Le impostazioni di diagnostica nelle risorse basate su area di lavoro devono essere configurate nuovamente.
È possibile usare provider('Microsoft.Insights', 'components').apiVersions[0] nelle distribuzioni di Azure Resource Manager?
Non è consigliabile usare questo metodo per popolare la versione dell'API. La versione più recente può rappresentare versioni di anteprima che potrebbero contenere modifiche di rilievo. Anche con le versioni non di anteprima più recenti, le versioni delle API non sono sempre retrocompatibili con i modelli esistenti. In alcuni casi, la versione dell'API potrebbe non essere disponibile per tutte le sottoscrizioni.
Passaggi successivi