Application Insights se integra con Log Analytics y envía telemetría a un área de trabajo común de Log Analytics. Esta configuración proporciona acceso completo a las características de Log Analytics, consolida los registros en una ubicación y permite un control de acceso unificado basado en roles de Azure que elimina la necesidad de consultas entre aplicaciones o áreas de trabajo.
Entre las funcionalidades mejoradas se incluyen:
En este artículo se muestra cómo crear y configurar recursos de Application Insights. Junto con el propio recurso de Application Insights, puede agregar varias configuraciones, como establecer el límite diario y el plan de precios. También puede crear pruebas de disponibilidad, configurar alertas de métricas y automatizar el proceso mediante Azure Resource Manager.
Nota
La ingesta de datos y la retención de recursos de Application Insights basados en área de trabajo se facturan por medio del área de trabajo de Log Analytics en la que se encuentran los datos. Para más información sobre la facturación, consulte Detalles de precios de los registros de Azure Monitor.
Prerrequisitos
- Una suscripción de Azure activa.
- Los permisos necesarios para crear recursos.
Requisitos adicionales
No hay requisitos adicionales.
Para acceder a los comandos de la CLI de Azure de Application Insights, primero debe ejecutar:
az extension add -n application-insights
Si no ejecuta el comando az extension add
, verá un mensaje de error que indica az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'
.
Puede implementar plantillas de Bicep a través de la CLI de Azure, Azure PowerShell y en Azure Portal. Compruebe las pestañas correspondientes para conocer los requisitos adicionales.
Puede implementar plantillas de ARM a través de la CLI de Azure, Azure PowerShell y en Azure Portal. Compruebe las pestañas correspondientes para conocer los requisitos adicionales.
Crea un recurso de Application Insights
- Inicie sesión en Azure Portal.
- Seleccione Crear un recurso.
- Abra la categoría Supervisión y diagnóstico y, a continuación, seleccione Application Insights.
- Escriba toda la información pertinente y, a continuación, Revise y cree el recurso de Application Insights.
Nota
Si no se conecta a un área de trabajo de Log Analytics existente durante la creación de recursos, se crea automáticamente un nuevo recurso de Log Analytics junto con el recurso de Application Insights.
Después de crear el recurso, puede encontrar la información del área de trabajo correspondiente en el panel Información general de Application Insights.
Seleccione el texto del vínculo azul para ir al área de trabajo de Log Analytics asociada, donde puede aprovechar el nuevo entorno de consultas unificado del área de trabajo.
Nota
Seguimos ofreciendo compatibilidad total con versiones anteriores para las consultas de recursos clásicos de Application Insights, cuadernos y alertas basadas en registros. Para consultar o ver la nueva estructura o esquema de tablas basada en áreas de trabajo, primero debe ir al área de trabajo de Log Analytics. Seleccione Registros (Analytics) en los paneles de Application Insights para acceder a la experiencia de consulta clásica de Application Insights.
Para crear un recurso de Application Insights basado en el área de trabajo, se requiere un área de trabajo de Log Analytics. Si aún no tiene una, puede usar el siguiente comando de la CLI de Azure para crear uno.
Marcadores de posición: <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>
Para crear un recurso de Application Insights, ejecute el siguiente comando de la CLI de Azure en el terminal.
Marcadores de posición: <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>
Para más información sobre cómo crear recursos de Application Insights y áreas de trabajo de Log Analytics mediante la CLI de Azure, consulte la documentación de la CLI de Azure para Application Insights y Log Analytics.
Para crear un recurso de Application Insights basado en el área de trabajo, se requiere un área de trabajo de Log Analytics. Si aún no tiene una, puede usar el siguiente comando de Azure PowerShell para crear uno.
Marcadores de posición: <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>
Para crear un recurso de Application Insights, ejecute el siguiente comando de Azure PowerShell en el terminal.
Marcadores de posición: <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>
Para más información sobre cómo crear recursos de Application Insights y áreas de trabajo de Log Analytics mediante Azure PowerShell, consulte la documentación de Azure PowerShell para Application Insights y Log Analytics.
Para crear un recurso de Application Insights basado en el área de trabajo, se requiere un área de trabajo de Log Analytics. Si aún no tiene una, puede usar la siguiente llamada a la API REST para crear una.
Marcadores de posición: <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>"
}
Para crear un recurso de Application Insights mediante la API REST, use la siguiente solicitud.
Marcadores de posición: <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>"
}
}
Para más información sobre cómo crear recursos de Application Insights y áreas de trabajo de Log Analytics mediante la API REST, consulte la documentación de la API REST para Application Insights y Log Analytics.
Aquí se muestra cómo crear un nuevo recurso de Application Insights mediante una plantilla de Bicep.
Creación de una plantilla
Cree un nuevo archivo .bicep (por ejemplo, my-template.bicep), copie el siguiente contenido en él:
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
}
}
Creación de un archivo de parámetros
Cree un nuevo archivo .bicepparam (por ejemplo, my-parameters.bicepparam), copie el siguiente contenido en él y reemplace los marcadores <application-insights-resource-name>
de posición , <application-type>
, <azure-region-name>
, <subscription-id>
, <resource-group-name>
y por <log-analytics-workspace-name>
sus valores específicos:
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>'
Uso de la plantilla para crear un nuevo recurso de Application Insights
En PowerShell, inicie sesión en Azure mediante $Connect-AzAccount
.
Establezca el contexto en una suscripción con Set-AzContext "<subscription ID>"
.
Ejecute una nueva implementación para crear un nuevo recurso de Application Insights:
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.bicep -TemplateParameterFile my-parameters.bicepparam
-ResourceGroupName
es el grupo donde desea crear los nuevos recursos.
-TemplateFile
debe aparecer antes que los parámetros personalizados.
-TemplateParameterFile
es el nombre del archivo de parámetros.
Puede agregar otros parámetros. Puede ver las descripciones en la sección de parámetros de la plantilla.
Aquí se muestra cómo crear un nuevo recurso de Application Insights mediante una plantilla de ARM.
Creación de una plantilla
Cree un nuevo archivo .json (por ejemplo, my-template.json) y copie el siguiente contenido en él:
{
"$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
Para más información sobre las propiedades de los recursos, consulte Valores de propiedad.
Flow_Type
y Request_Source
no se usan, pero se incluyen en este ejemplo por motivos de integridad.
Creación de un archivo de parámetros
Cree un nuevo archivo .json (por ejemplo, my-parameters.json), copie el siguiente contenido en él y reemplace los marcadores <application-insights-resource-name>
de posición , <application-type>
, <azure-region-name>
<subscription-id>
, , <resource-group-name>
y <log-analytics-workspace-name>
por sus valores específicos:
{
"$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>"
}
}
}
Uso de la plantilla para crear un nuevo recurso de Application Insights
En PowerShell, inicie sesión en Azure mediante $Connect-AzAccount
.
Establezca el contexto en una suscripción con Set-AzContext "<subscription ID>"
.
Ejecute una nueva implementación para crear un nuevo recurso de Application Insights:
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.json -TemplateParameterFile my-parameters.json
-ResourceGroupName
es el grupo donde desea crear los nuevos recursos.
-TemplateFile
debe aparecer antes que los parámetros personalizados.
-TemplateParameterFile
es el nombre del archivo de parámetros.
Después de crear un recurso de Application Insights, configure la supervisión.
Obtención de la cadena de conexión
La cadena de conexión identifica el recurso con el que se quieren asociar los datos de telemetría. También puede usarla para modificar los puntos de conexión que utiliza el recurso como destino de la telemetría. Debe copiar la cadena de conexión y agregarla al código de la aplicación o a una variable de entorno.
Para obtener la cadena de conexión del recurso de Application Insights:
- Abra su recurso de Application Insights en Azure Portal.
- En el panel Información general de la sección Essentials , busque Cadena de conexión.
- Si mantiene el puntero sobre la cadena de conexión, aparece un icono que le permite copiarla en el Portapapeles.
Para obtener la cadena de conexión, ejecute el siguiente comando de la CLI de Azure en el terminal y reemplace los marcadores <application-insights-resource-name>
de posición y <resource-group-name>
por los valores específicos:
az monitor app-insights component show --app <application-insights-resource-name> --resource-group <resource-group-name> --query connectionString --output tsv
Para más información sobre el az monitor app-insights component show
comando, consulte la documentación de la CLI de Azure.
Para obtener la cadena de conexión, ejecute el siguiente comando de Azure PowerShell en el terminal y reemplace los marcadores <resource-group-name>
de posición y <application-insights-resource-name>
por sus valores específicos:
Get-AzApplicationInsights -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> | Select-Object -ExpandProperty ConnectionString
Para más información sobre el Get-AzApplicationInsights
comando, consulte la documentación de Azure PowerShell.
Para recuperar los detalles del recurso de Application Insights, use la siguiente solicitud y reemplace los marcadores de posición <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
y <access-token>
por sus valores específicos.
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>
Busque el properties.connectionString
campo en la respuesta JSON.
Para más información sobre cómo recuperar información sobre los recursos de Application Insights mediante la API REST, consulte la documentación de la API REST.
No se aplica a las plantillas de Bicep.
No es aplicable a las plantillas de ARM.
Supervisión de aplicaciones con OpenTelemetry
Para la supervisión de aplicaciones con OpenTelemetry, instale la distribución de OpenTelemetry de Azure Monitor adecuada y apunte la cadena de conexión al recurso recién creado.
Para obtener información sobre cómo configurar la supervisión de aplicaciones con OpenTelemetry, consulte la siguiente documentación específica del lenguaje:
Instrumentación automática
En el caso de los servicios de supervisión como Azure Functions y Azure App Service, primero puede crear el recurso de Application Insights y, a continuación, apuntarlo al habilitar la supervisión. Como alternativa, puede crear un nuevo recurso de Application Insights durante el proceso de habilitación.
Modificación del área de trabajo asociada
Después de crear un recurso de Application Insights, puede modificar el área de trabajo de Log Analytics asociada.
En el recurso de Application Insights, seleccione Propiedades>Cambiar área de trabajoÁreas de trabajo >de Log Analytics.
Para cambiar el área de trabajo de Log Analytics, ejecute el siguiente comando de la CLI de Azure en el terminal y reemplace los marcadores <application-insights-resource-name>
de posición , <resource-group-name>
y <log-analytics-workspace-name>
por sus valores específicos:
az monitor app-insights component update --app <application-insights-resource-name> --resource-group <resource-group-name> --workspace <log-analytics-workspace-name>
Para más información sobre el az monitor app-insights component update
comando, consulte la documentación de la CLI de Azure.
Para cambiar el área de trabajo de Log Analytics, ejecute el siguiente comando de Azure PowerShell en el terminal y reemplace los marcadores <resource-group-name>
de posición , <application-insights-resource-name>
, <subscription-id>
y <log-analytics-workspace-name>
por sus valores específicos:
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>
Para más información sobre el Update-AzApplicationInsights
comando, consulte la documentación de Azure PowerShell.
Para cambiar el área de trabajo de Log Analytics mediante la API REST, use la siguiente solicitud y reemplace los marcadores <subscription-id>
de posición , <resource-group-name>
, <application-insights-resource-name>
, <access-token>
, <azure-region-name>
y <log-analytics-workspace-name>
por sus valores específicos:
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>"
}
}
Para obtener más información sobre cómo modificar el área de trabajo asociada mediante la API REST, consulte la documentación de la API REST.
Para cambiar el área de trabajo de Log Analytics, pegue el código siguiente en la plantilla y reemplace los marcadores <application-insights-resource-name>
de posición , <azure-region-name>
, <application-type>
y <log-analytics-workspace-name>
por sus valores específicos:
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
}
}
Para cambiar el área de trabajo de Log Analytics, pegue el código siguiente en la plantilla y reemplace los marcadores <application-insights-resource-name>
de posición , <azure-region-name>
, <application-type>
y <log-analytics-workspace-name>
por sus valores específicos:
{
"$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>"
}
}
]
}
Exportación de telemetría
La funcionalidad de exportación continua heredada no es compatible con los recursos basados en área de trabajo. En su lugar, use la configuración de diagnóstico.
Nota
La exportación de la configuración de diagnóstico puede aumentar los costos. Para más información, consulte Exportación de telemetría desde Application Insights.
Para más información sobre los precios de esta característica, consulte la página de precios de Azure Monitor. Antes del inicio de la facturación, se envían notificaciones. Si decide seguir usando la exportación de la telemetría después del período de aviso, se le facturará según la tarifa aplicable.
En el recurso de Application Insights, seleccione Configuración de diagnóstico>Agregar configuración de diagnóstico.
Puede seleccionar todas las tablas o un subconjunto de tablas para archivar en una cuenta de almacenamiento. También puede transmitir a un centro de eventos.
Para exportar la telemetría mediante la configuración de diagnóstico, ejecute el siguiente comando de la CLI de Azure en el terminal y reemplace los marcadores <diagnostic-setting-name>
de posición , <application-insights-resource-name>
, <resource-group-name>
y <storage-account-name>
por sus valores específicos:
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>
Este comando de ejemplo habilita la configuración de diagnóstico y envía todos los registros del recurso de Application Insights a la cuenta de almacenamiento especificada. Para enviar también métricas, agregue --metrics '[{"category": "AllMetrics", "enabled": true}]'
al comando .
Para más información sobre el az monitor diagnostic-settings create
comando, consulte la documentación de la CLI de Azure.
Para exportar la telemetría mediante la configuración de diagnóstico, ejecute el siguiente comando de Azure PowerShell en el terminal y reemplace los marcadores <application-insights-resource-id>
de posición , <diagnostic-setting-name>
y <storage-account-id>
por sus valores específicos:
Set-AzDiagnosticSetting -ResourceId <application-insights-resource-id> -Name <diagnostic-setting-name> -StorageAccountId <storage-account-id> -Enabled $True
Este comando de ejemplo habilita la configuración de diagnóstico y envía todas las métricas y registros del recurso de Application Insights a la cuenta de almacenamiento especificada.
Para más información sobre el Set-AzDiagnosticSetting
comando, consulte la documentación de Azure PowerShell.
Para exportar la telemetría a una cuenta de almacenamiento de Azure mediante una configuración de diagnóstico, use la siguiente solicitud y reemplace los marcadores de posición <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <diagnostic-setting-name>
, <access-token>
y <storage-account-name>
por sus valores específicos.
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
}
]
}
}
Esta llamada de ejemplo habilita la configuración de diagnóstico y envía todas las métricas y registros del recurso de Application Insights a la cuenta de almacenamiento especificada.
Para obtener más información sobre cómo crear una configuración de diagnóstico mediante la API REST, consulte la documentación de la API REST.
Para exportar la telemetría mediante la configuración de diagnóstico, pegue el código siguiente en la plantilla y reemplace los marcadores de posición <application-insights-resource-name>
, <azure-region-name>
, <application-type>
, <diagnostic-setting-name>
, <subscription-id>
, <resource-group>
, y <storage-account-name>
por sus valores específicos:
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
}
]
}
}
Para exportar la telemetría mediante la configuración de diagnóstico, pegue el código siguiente en la plantilla y reemplace los marcadores de posición <application-insights-resource-name>
, <azure-region-name>
, <application-type>
, <diagnostic-setting-name>
, <subscription-id>
, <resource-group>
, y <storage-account-name>
por sus valores específicos:
{
"$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
}
]
}
}
]
}
Establecimiento de la retención de datos
Para establecer la retención de datos para el área de trabajo de Log Analytics asociada, pegue el código siguiente en la plantilla y reemplace los marcadores de posición <log-analytics-workspace-name>
, <azure-region-name>
, <retention-period-in-days>
, por sus valores específicos:
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: '<log-analytics-workspace-name>'
location: '<azure-region-name>'
properties: {
retentionInDays: <retention-period-in-days>
}
}
Para establecer la retención de datos para el área de trabajo de Log Analytics asociada, pegue el código siguiente en la plantilla y reemplace los marcadores de posición <log-analytics-workspace-name>
, <azure-region-name>
, <retention-period-in-days>
, por sus valores específicos:
{
"$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>
}
}
]
}
Establecimiento del límite diario
El límite diario debe establecerse de forma independiente tanto para Application Insights como para el área de trabajo subyacente de Log Analytics. El límite diario efectivo es el mínimo de las dos configuraciones.
Nota
Actualmente, Azure no proporciona una manera de establecer el límite diario de Application Insights a través de la CLI de Azure.
Para cambiar el límite diario de Log Analytics, ejecute el siguiente comando de la CLI de Azure en su terminal y reemplace los marcadores de posición <resource-group-name>
, <log-analytics-workspace-name>
y <daily-cap-in-gb>
por sus valores específicos.
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set workspaceCapping.dailyQuotaGb=<daily-cap-in-gb>
Para más información sobre el az monitor log-analytics workspace update
comando, consulte la documentación de la CLI de Azure.
Para cambiar el límite diario de Application Insights y Log Analytics, ejecute los siguientes comandos de Azure PowerShell en el terminal y reemplace los marcadores de posición por sus valores específicos.
Application Insights
Marcadores de posición: <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>
Para más información sobre el Set-AzApplicationInsightsDailyCap
comando, consulte la documentación de Azure PowerShell.
Log Analytics
Marcadores de posición: <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>
Para más información sobre el Set-AzOperationalInsightsWorkspace
comando, consulte la documentación de Azure PowerShell.
Nota
Actualmente, Azure no proporciona una manera de establecer el límite diario para Application Insights con la CLI de Azure.
Para cambiar el límite diario de Log Analytics, utilice la siguiente solicitud y reemplace los marcadores de posición <subscription-id>
, <resource-group-name>
, <log-analytics-workspace-name>
, <access-token>
, <azure-region-name>
y <daily-cap-in-gb>
por sus valores específicos.
Marcadores de posición:
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>,
},
}
}
Para más información sobre la configuración del límite diario de Log Analytics, consulte la documentación de la API rest.
Nota
Actualmente, Azure no proporciona una manera de establecer el límite diario para Application Insights con una plantilla de Bicep.
Para establecer el límite diario de Log Analytics, pegue el código siguiente en la plantilla y reemplace los marcadores <log-analytics-workspace-name>
de posición , <azure-region-name>
y <daily-cap-in-gb>
por sus valores específicos:
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: '<log-analytics-workspace-name>'
location: '<azure-region-name>'
properties: {
dailyQuotaGb: <daily-cap-in-gb>
}
}
Nota
Actualmente, Azure no proporciona una manera de establecer el límite diario para Application Insights mediante una plantilla de ARM.
Para establecer el límite diario de Log Analytics, pegue el código siguiente en la plantilla y reemplace los marcadores <log-analytics-workspace-name>
de posición , <azure-region-name>
y <daily-cap-in-gb>
por sus valores específicos:
{
"$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>
}
}
}
]
}
Establecimiento del plan de precios
El plan de precios de los recursos de Application Insights se puede establecer en el área de trabajo de Log Analytics asociada. Para más información sobre los planes de precios disponibles, consulte Cálculos y opciones de costos de registros de Azure Monitor.
Nota
Si ve cargos inesperados o costos elevados en Application Insights, esta guía puede ayudarle. Abarca causas comunes, como un gran volumen de telemetría, picos de ingesta de datos y muestreo mal configurado. Es especialmente útil si está solucionando problemas relacionados con los picos de costos, el volumen de telemetría, el muestreo no funciona, los límites de datos, la ingesta alta o la facturación inesperada. Para empezar, consulte Solución de problemas de ingesta de datos elevados en Application Insights.
Para establecer el plan de precios, ejecute uno de los siguientes comandos de la CLI de Azure en el terminal y reemplace los marcadores <log-analytics-workspace-name>
de posición , <azure-region-name>
y (si procede) <capacity-reservation-in-gb>
por sus valores específicos:
Pago por uso
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set PerGB2018
Nivel de compromiso
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set CapacityReservation --level <capacity-reservation-in-gb>
Para más información sobre el az monitor log-analytics workspace update
comando, consulte la documentación de la CLI de Azure.
Para establecer el plan de precios, ejecute uno de los siguientes comandos de Azure PowerShell en el terminal y reemplace los marcadores <log-analytics-workspace-name>
de posición , <azure-region-name>
y (si procede) <capacity-reservation-in-gb>
por sus valores específicos:
Pago por uso
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku perb2018
Nivel de compromiso
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku capacityreservation -SkuCapacity <capacity-reservation-in-gb>
Para más información sobre el Set-AzOperationalInsightsWorkspace
comando, consulte la documentación de Azure PowerShell.
Para establecer el plan de precios mediante la API REST, use una de las siguientes solicitudes y reemplace los marcadores de posición <subscription-id>
, <resource-group-name>
, <log-analytics-workspace-name>
, <access-token>
y (si procede) <capacity-reservation-in-gb>
por sus valores específicos.
Pago por uso
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"
}
}
}
Nivel de compromiso
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>
}
}
}
Para obtener más información sobre cómo establecer el plan de precios mediante la API REST, consulte la documentación de la API REST.
Para establecer el plan de precios mediante Bicep, pega el siguiente código en tu plantilla y reemplaza los marcadores de posición <log-analytics-workspace-name>
, <azure-region-name>
, y también, para el nivel de compromiso, <capacity-reservation-in-gb>
por tus valores específicos.
Pago por uso
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'
}
}
}
Nivel de compromiso
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
}
}
}
Para obtener más información sobre cómo actualizar el Microsoft.OperationalInsights/workspaces
recurso mediante Bicep, consulte la documentación de plantillas.
Para establecer el plan de precios mediante una plantilla de ARM, pegue el siguiente código en su plantilla y reemplace los marcadores de posición <log-analytics-workspace-name>
, <azure-region-name>
y también <capacity-reservation-in-gb>
para el nivel de compromiso por sus valores específicos.
Pago por uso
{
"$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"
}
}
}
]
}
Nivel de compromiso
{
"$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')]"
}
}
}
]
}
Para obtener más información sobre cómo actualizar el Microsoft.OperationalInsights/workspaces
recurso mediante una plantilla de ARM, consulte la documentación de plantillas.
Deshabilitación del enmascaramiento IP
De forma predeterminada, Application Insights no almacena direcciones IP. Para obtener información sobre cómo deshabilitar el enmascaramiento IP, consulte Geolocalización y control de direcciones IP.
Creación de recursos adicionales
Creación de una prueba de disponibilidad
Para crear una prueba de disponibilidad estándar con la configuración predeterminada, ejecute el siguiente comando de la CLI de Azure en el terminal y reemplace los marcadores <resource-group-name>
de posición , <azure-region-name>
, <web-test-name>
, <url>
, <subscription-id>
y <application-insights-resource-name>
por sus valores específicos:
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
Para más información sobre el az monitor app-insights web-test create
comando, consulte la documentación de la CLI de Azure.
Nota
La región de prueba web (-location
) es diferente de la ubicación geográfica (-locations
, observe la forma plural) de la que se pueden seleccionar varios. -location
hace referencia a la región de Azure donde se crea y hospeda la prueba web, mientras -locations
que hace referencia a la ubicación geográfica o a las ubicaciones desde las que se ejecuta la prueba web. Para obtener una lista completa de todas las ubicaciones geográficas, consulte Pruebas de disponibilidad de Application Insights.
Para crear una prueba de disponibilidad estándar con la configuración predeterminada, ejecute el siguiente comando de Azure PowerShell en el terminal y reemplace los marcadores de posición <resource-group-name>
, <azure-region-name>
, <web-test-name>
, <url>
, <subscription-id>
, y <application-insights-resource-name>
con sus valores específicos.
$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"}
Para más información sobre el New-AzApplicationInsightsWebTest
comando, consulte la documentación de Azure PowerShell.
Nota
La región de prueba web (-Location
) es diferente de la ubicación geográfica (-GeoLocation
) de las que se pueden seleccionar varias. -Location
hace referencia a la región de Azure donde se crea y hospeda la prueba web, mientras -GeoLocation
que hace referencia a la ubicación geográfica o a las ubicaciones desde las que se ejecuta la prueba web. Para obtener una lista completa de todas las ubicaciones geográficas, consulte Pruebas de disponibilidad de Application Insights.
Para crear una prueba de disponibilidad estándar con la configuración predeterminada mediante la API REST, utilice la siguiente solicitud y reemplace los marcadores de posición <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <web-test-name>
, <access-token>
, <azure-region-name>
y <url>
por sus valores específicos.
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
El área de prueba web (-location
) es diferente de la ubicación geográfica (-Locations
, observe la forma plural) de la que se pueden seleccionar varios. -location
hace referencia a la región de Azure donde se crea y hospeda la prueba web, mientras -Locations
que hace referencia a la ubicación geográfica o a las ubicaciones desde las que se ejecuta la prueba web. Para obtener una lista completa de todas las ubicaciones geográficas, consulte Pruebas de disponibilidad de Application Insights.
Para más información sobre cómo crear y configurar pruebas web mediante la API REST, consulte nuestra documentación de la API REST.
Para crear una prueba de disponibilidad estándar con la configuración predeterminada mediante Bicep, agregue el siguiente código a su plantilla y reemplace los marcadores de posición <web-test-name>
, <azure-region-name>
, <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
y <url>
por sus valores específicos.
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
La región de prueba web (location
) es diferente de la ubicación geográfica (Locations
) de las que se pueden seleccionar varias. location
hace referencia a la región de Azure donde se crea y hospeda la prueba web, mientras Locations
que hace referencia a la ubicación geográfica o a las ubicaciones desde las que se ejecuta la prueba web. Para obtener una lista completa de todas las ubicaciones geográficas, consulte Pruebas de disponibilidad de Application Insights.
Para obtener más información sobre cómo crear pruebas de disponibilidad mediante Bicep, consulte Webtests de Microsoft.Insights.
Para crear una prueba de disponibilidad estándar con la configuración predeterminada mediante una plantilla de ARM, agregue el código siguiente a la plantilla y reemplace los marcadores <web-test-name>
de posición , <azure-region-name>
, <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
y <url>
por sus valores específicos:
{
"$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
La región de prueba web (location
) es diferente de la ubicación geográfica (Locations
) de las que se pueden seleccionar varias. location
hace referencia a la región de Azure donde se crea y hospeda la prueba web, mientras Locations
que hace referencia a la ubicación geográfica o a las ubicaciones desde las que se ejecuta la prueba web. Para obtener una lista completa de todas las ubicaciones geográficas, consulte Pruebas de disponibilidad de Application Insights.
Para obtener más información sobre cómo crear pruebas de disponibilidad mediante una plantilla de ARM, consulte Webtests de Microsoft.Insights.
Agregar una alerta de métrica
Sugerencia
Cada recurso de Application Insights incluye métricas disponibles de serie. En caso de que componentes independientes notifiquen al mismo recurso de Application Insights, puede que no tenga sentido alertar acerca de estas métricas.
Para obtener una lista de varios ejemplos de llamadas a la API REST para crear una alerta de métricas, consulte la documentación de la API REST.
Para automatizar la creación de las alertas de métricas, consulte el artículo sobre la plantilla de alertas de métricas.
Creación de más recursos de Application Insights
¿Cuántos recursos de Application Insights se deben implementar?
Cuando estés desarrollando la próxima versión de una aplicación web, no querrás mezclar la telemetría de Application Insights de la nueva versión con la versión ya publicada.
Para evitar confusiones, envíe la telemetría de las distintas fases de desarrollo a recursos de Application Insights distintos con cadenas de conexión independientes.
Si el sistema es una instancia de Azure Cloud Services, hay otro método para establecer cadenas de conexión independientes.
Cuándo usar un único recurso de Application Insights
Use un único recurso de Application Insights para:
- Secuenciar la administración de DevOps/ITOps para las aplicaciones implementadas en conjunto, normalmente desarrolladas y administradas por el mismo equipo.
- Centralizar indicadores clave de rendimiento, como los tiempos de respuesta y las tasas de error, en un panel de forma predeterminada. Segmente por nombre de rol en el explorador de métricas si fuera necesario.
- Cuando no sea necesario gestionar de manera diferenciada el control de acceso basado en roles de Azure entre los componentes de la aplicación.
- Cuando haya suficientes criterios de alerta de métricas idénticos, exportaciones continuas y administración de facturación/cuotas entre componentes.
- Cuando sea aceptable que una clave de API acceda a los datos de todos los componentes de forma equitativa y 10 claves de API satisfagan las necesidades de todos los componentes.
- Cuando la misma configuración de detección inteligente e integración de elementos de trabajo sea adecuada para todos los roles.
Nota
Si desea consolidar varios recursos de Application Insights, puede apuntar los componentes de aplicación existentes a un nuevo recurso de Application Insights consolidado. La telemetría almacenada en el recurso anterior no se transfiere al nuevo recurso. Únicamente elimine el recurso anterior cuando tenga suficientes datos de telemetría en el nuevo recurso para la continuidad empresarial.
Otras consideraciones
Para activar experiencias del portal, agregue código personalizado para asignar valores significativos al atributo Cloud_RoleName. Sin estos valores, las características del portal no funcionarán.
En el caso de las aplicaciones de Azure Service Fabric y los servicios en la nube clásicos, el SDK configura automáticamente los servicios mediante la lectura del entorno de roles de Azure. Para otros tipos de aplicaciones, normalmente es necesario establecerlo explícitamente.
Live Metrics no puede dividir los datos por nombre de rol.
Seguimiento de versiones y lanzamientos
Al publicar una nueva versión de su aplicación, quiere poder separar la telemetría de diferentes compilaciones. Puede establecer la propiedad Versión de la aplicación para que pueda filtrar los resultados del explorador de métricas y de búsqueda.
Hay diferentes métodos de establecer la propiedad de versión de la aplicación.
Opción 1: Establezca la versión directamente
Agregue la línea telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;
al código de inicialización de la aplicación.
Para asegurarse de que todas las instancias de TelemetryClient
se establecen de forma coherente, encapsula esa línea en un inicializador de telemetría.
Opción 2: Establecer la versión en BuildInfo.config
(solo ASP.NET)
El módulo web de Application Insights recoge la versión del BuildLabel
nodo. Incluya este archivo en el proyecto y recuerde que debe establecer la propiedad Copiar siempre en el Explorador de soluciones.
<?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>
Genere BuildInfo.config
automáticamente en el motor de compilación de Microsoft. Agregue las siguientes líneas al .csproj
archivo:
<PropertyGroup>
<GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
<IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>
Este paso genera un archivo denominado suNombreProyecto.BuildInfo.config
. El proceso de publicación cambia su nombre a BuildInfo.config
.
La etiqueta de compilación contiene un marcador de posición (*AutoGen_...*)
al compilar con Visual Studio. Cuando se compila con microsoft Build Engine, el marcador de posición se rellena con el número de versión correcto.
Para permitir que Microsoft Build Engine genere números de versión, establezca la versión como 1.0.*
en AssemblyReference.cs
.
Anotaciones de versión
Si usa Azure DevOps, puede obtener un marcador de anotación agregado a los gráficos, siempre que publique una nueva versión.
Automatización del proceso de creación de recursos
El proceso de creación de recursos se puede automatizar mediante plantillas de Bicep o JSON con Azure Resource Manager. Puede empaquetar varios recursos juntos para crearlos en una implementación. Por ejemplo, puede crear un recurso de Application Insights con pruebas de disponibilidad, alertas de métricas y una configuración de diagnóstico para enviar telemetría a una cuenta de Azure Storage.
Generación de una plantilla en Azure Portal
Puede generar una plantilla a partir de recursos existentes.
Solo Application Insights
- Vaya al recurso de Application Insights en Azure Portal.
- Abra Exportar plantilla que aparece en Automatización en la barra de navegación izquierda.
- (Opcional): para usar sus propios parámetros, desactive Incluir parámetros.
- Descargue el archivo de plantilla o impleméntelo directamente en Azure Portal.
Varios recursos
- Vaya al grupo de recursos del recurso de Application Insights.
- En el panel Información general , marque todos los recursos que desea incluir en la plantilla y, a continuación, seleccione Exportar plantilla en la barra de navegación superior.
- (Opcional): para usar sus propios parámetros, desactive Incluir parámetros.
- Descargue el archivo de plantilla o impleméntelo directamente en Azure Portal.
Creación de una plantilla desde cero
Para obtener información sobre cómo crear una plantilla de ARM desde cero, visite la documentación de la plantilla de ARM que incluye tutoriales para crear una plantilla, agregar recursos, agregar parámetros, etc.
Las propiedades disponibles para Application Insights, las pruebas de disponibilidad, las alertas de métricas, la configuración de diagnóstico y otros recursos se pueden encontrar en nuestra documentación de referencia de recursos de Azure bajo el nodo de Referencia>Monitor>Insights.
Sugerencia
También puede usar plantillas de inicio rápido, disponibles en la parte inferior de cada página de documentación de referencia de recursos de Azure vinculada en esta sección. Para aprender a usar plantillas, visite Tutorial: Uso de plantillas de inicio rápido de Azure.
Preguntas más frecuentes
Esta sección proporciona respuestas a preguntas comunes.
¿Cómo se mueven los recursos de Application Insights a una nueva región?
No se admite la transferencia de recursos existentes de Application Insights entre regiones y no se pueden migrar datos históricos a una nueva región. La solución alternativa implica:
- Creación de un nuevo recurso de Application Insights en la región deseada.
- Volver a crear las personalizaciones únicas del recurso original en el nuevo.
- Actualizar la aplicación con la cadena de conexión del recurso de la nueva región.
- Probar para asegurarse de que todo funcione según lo previsto con el nuevo recurso de Application Insights.
- Decida conservar o eliminar el recurso original de Application Insights. La eliminación de un recurso clásico significa perder todos los datos históricos. Si el recurso estuviera basado en el área de trabajo, los datos permanecerán en Log Analytics, permitiendo el acceso a datos históricos hasta que expire el período de retención.
Las personalizaciones únicas que normalmente deben volver a crearse o actualizarse manualmente para el recurso en la nueva región incluyen, entre otras, las siguientes:
- Vuelva a crear paneles y libros de trabajo personalizados.
- Vuelva a crear o actualizar el ámbito de cualquier alerta de registro/métrica personalizada.
- Vuelva a crear una alerta de disponibilidad.
- Vuelva a crear las opciones de configuración de control de acceso basado en rol de Azure personalizadas necesarias para que los usuarios puedan acceder al nuevo recurso.
- Replique la configuración que implique el muestreo de ingesta, la retención de datos, el límite diario y la habilitación de métricas personalizadas. Estas opciones de configuración se controlan mediante el panel Uso y costos estimados.
- Cualquier integración que se base en claves de API, como anotaciones de versión y canal de control seguro de métricas en tiempo real. Debe generar nuevas claves de API y actualizar la integración asociada.
- La exportación continua en los recursos clásicos ha de configurarse de nuevo.
- La configuración de diagnóstico en los recursos basados en el área de trabajo ha de volver a definirse.
¿Puedo usar providers('Microsoft.Insights', 'components').apiVersions[0] en mis implementaciones de Azure Resource Manager?
No recomendamos usar este método para rellenar la versión de la API. La versión más reciente puede representar versiones preliminares, que podrían contener cambios importantes. Incluso con versiones más recientes que no son de versión preliminar, las versiones de API no siempre son compatibles con versiones anteriores con las plantillas existentes. En algunos casos, es posible que la versión de la API no esté disponible para todas las suscripciones.
Pasos siguientes