O Application Insights integra-se ao Log Analytics e envia telemetria para um workspace comum do Log Analytics. Essa configuração fornece acesso total aos recursos do Log Analytics, consolida os logs em um local e permite um controle de acesso unificado baseado em função do Azure , o que elimina a necessidade de consultas entre aplicativos/workspace.
Os recursos aprimorados incluem:
Este artigo mostra como criar e configurar recursos do Application Insights. Junto com o próprio recurso do Application Insights, você pode adicionar várias configurações, como definir o limite diário e o plano de preços. Você também pode criar testes de disponibilidade, configurar alertas de métrica e automatizar o processo usando o Azure Resource Manager.
Observação
A ingestão e a retenção de dados para recursos do Application Insights baseados em espaço de trabalho são cobradas por meio do workspace do Log Analytics onde os dados estão localizados. Para saber mais sobre cobrança, confira os detalhes de preços dos Logs do Azure Monitor.
Pré-requisitos
- Uma assinatura ativa do Azure.
- As permissões necessárias para criar recursos.
Requisitos adicionais
Não há requisitos adicionais.
Para acessar os comandos da CLI do Azure do Application Insights, primeiro você precisa executar:
az extension add -n application-insights
Se você não executar o comando az extension add
, verá uma mensagem de erro que diz az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'
.
Você pode implantar modelos Bicep por meio da CLI do Azure, do Azure PowerShell e no portal do Azure. Verifique as respectivas abas para obter requisitos adicionais.
Você pode implantar modelos do ARM por meio da CLI do Azure, do Azure PowerShell e no portal do Azure. Verifique as respectivas abas para obter requisitos adicionais.
Criar um recurso do Application Insights
- Entre no portal do Azure.
- Selecione Criar um recurso.
- Abra a categoria Monitoramento &Diagnóstico e selecione Application Insights.
- Insira todas as informações relevantes e, em seguida, examine + crie seu recurso do Application Insights.
Observação
Se você não se conectar a um workspace do Log Analytics existente durante a criação de recursos, um novo recurso do Log Analytics será criado automaticamente junto com o recurso do Application Insights.
Depois de criar seu recurso, você pode encontrar as informações de workspace correspondentes no painel Visão Geral do Application Insights.
Selecione o texto do link azul para ir para o espaço de trabalho associado do Log Analytics, onde você pode aproveitar o novo ambiente unificado de consulta de espaço de trabalho.
Observação
Ainda fornecemos compatibilidade total com versões anteriores para consultas de recursos clássicos, pastas de trabalho e alertas baseados em log do Application Insights. Para consultar ou exibir a nova estrutura/esquema de tabela baseada em workspace, você deverá primeiro acessar o seu workspace do Log Analytics. Selecionar Logs (análise) de dentro dos painéis do Application Insights para ter acesso à experiência clássica de consulta do Application Insights.
Para criar um recurso do Application Insights baseado em espaço de trabalho, é necessário um workspace do Log Analytics. Se você ainda não tiver um, poderá usar o seguinte comando da CLI do Azure para criar um.
Espaços reservados: <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 criar um recurso do Application Insights, execute o seguinte comando da CLI do Azure em seu terminal.
Espaços reservados: <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 obter mais informações sobre como criar recursos do Application Insights e workspaces do Log Analytics usando a CLI do Azure, consulte a documentação da CLI do Azure para Application Insights e Log Analytics.
Para criar um recurso do Application Insights baseado em espaço de trabalho, é necessário um workspace do Log Analytics. Se você ainda não tiver um, poderá usar o seguinte comando do Azure PowerShell para criar um.
Espaços reservados: <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 criar um recurso do Application Insights, execute o seguinte comando do Azure PowerShell em seu terminal.
Espaços reservados: <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 obter mais informações sobre como criar recursos do Application Insights e workspaces do Log Analytics usando o Azure PowerShell, consulte a documentação do Azure PowerShell para Application Insights e Log Analytics.
Para criar um recurso do Application Insights baseado em espaço de trabalho, é necessário um workspace do Log Analytics. Se você ainda não tiver uma, poderá usar a chamada à API REST a seguir para criar uma.
Espaços reservados: <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 criar um recurso do Application Insights usando a API REST, use a solicitação a seguir.
Espaços reservados: <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 obter mais informações sobre como criar recursos do Application Insights e workspaces do Log Analytics usando a API REST, consulte a documentação da API REST para Application Insights e Log Analytics.
Veja como criar um novo recurso do Application Insights usando um modelo Bicep.
Criar um modelo
Crie um novo arquivo .bicep (por exemplo, my-template.bicep), copie o seguinte conteúdo nele:
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
}
}
Criar um arquivo de parâmetro
Crie um novo arquivo .bicepparam (por exemplo, my-parameters.bicepparam), copie o seguinte conteúdo nele e substitua os espaços reservados<application-insights-resource-name>
, <application-type>
, , <azure-region-name>
, <subscription-id>
<resource-group-name>
e <log-analytics-workspace-name>
por seus 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>'
Usar o modelo para criar um novo recurso do Application Insights
No PowerShell, faça login no Azure usando $Connect-AzAccount
.
Defina um contexto de assinatura com Set-AzContext "<subscription ID>"
.
Executar uma nova implantação para criar um novo recurso do Application Insights:
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.bicep -TemplateParameterFile my-parameters.bicepparam
-ResourceGroupName
é o grupo em que você deseja criar novos recursos.
-TemplateFile
deve ocorrer antes dos parâmetros personalizados.
-TemplateParameterFile
é o nome do arquivo de parâmetro.
Você pode adicionar outros parâmetros. Você encontrará suas descrições na seção de parâmetros do modelo.
Veja como criar um novo recurso do Application Insights usando um modelo do ARM.
Criar um modelo
Crie um novo arquivo de.json (por exemplo, my-template.json) e copie o seguinte conteúdo para ele:
{
"$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')]"
}
}
]
}
Observação
Para obter mais informações sobre propriedades de recursos, confira Valores de propriedade.
Flow_Type
e Request_Source
não são usados, mas estão incluídos neste exemplo para que as informações fiquem completas.
Criar um arquivo de parâmetro
Crie um novo arquivo de.json (por exemplo, my-parameters.json), copie o seguinte conteúdo nele e substitua os espaços reservados<application-insights-resource-name>
, <application-type>
, , <azure-region-name>
e <subscription-id>
<resource-group-name>
<log-analytics-workspace-name>
por seus 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>"
}
}
}
Usar o modelo para criar um novo recurso do Application Insights
No PowerShell, faça login no Azure usando $Connect-AzAccount
.
Defina um contexto de assinatura com Set-AzContext "<subscription ID>"
.
Executar uma nova implantação para criar um novo recurso do Application Insights:
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.json -TemplateParameterFile my-parameters.json
-ResourceGroupName
é o grupo em que você deseja criar novos recursos.
-TemplateFile
deve ocorrer antes dos parâmetros personalizados.
-TemplateParameterFile
é o nome do arquivo de parâmetro.
Depois de criar um recurso do Application Insights, você configura o monitoramento.
Obter a cadeia de conexão
A cadeia de conexão identifica o recurso com o qual você deseja associar os dados de telemetria. Você também pode usá-la para modificar os endpoints que o recurso usa como destino para sua telemetria. Você deve copiar a cadeia de conexão e adicioná-la ao código do seu aplicativo ou a uma variável de ambiente.
Para obter a cadeia de conexão do seu recurso do Application Insights:
- Abra o seu recurso Application Insights no portal do Azure.
- No painel Visão geral na seção Essentials, procure por string de conexão.
- Se você passar o mouse sobre a cadeia de conexão, aparece um ícone que permite copiá-la.
Para obter a cadeia de conexão, execute o seguinte comando da CLI do Azure em seu terminal e substitua os espaços reservados <application-insights-resource-name>
e <resource-group-name>
por seus valores específicos:
az monitor app-insights component show --app <application-insights-resource-name> --resource-group <resource-group-name> --query connectionString --output tsv
Para obter mais informações sobre o az monitor app-insights component show
comando, consulte a documentação da CLI do Azure.
Para obter a cadeia de conexão, execute o seguinte comando do Azure PowerShell em seu terminal e substitua os espaços reservados <resource-group-name>
e <application-insights-resource-name>
por seus valores específicos:
Get-AzApplicationInsights -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> | Select-Object -ExpandProperty ConnectionString
Para obter mais informações sobre o Get-AzApplicationInsights
comando, consulte a documentação do Azure PowerShell.
Para recuperar os detalhes do recurso do Application Insights, use a seguinte solicitação e substitua os espaços reservados <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
e <access-token>
por seus 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>
Procure o properties.connectionString
campo na resposta JSON.
Para obter mais informações sobre como recuperar informações sobre recursos do Application Insights usando a API REST, consulte a documentação da API REST.
Não se aplica a modelos Bicep.
Não aplicável aos modelos do ARM.
Monitoramento de aplicativos com OpenTelemetry
Para monitoramento de aplicativos com OpenTelemetry, instale a Distribuição OpenTelemetry do Azure Monitor apropriada e aponte a cadeia de conexão para o recurso recém-criado.
Para obter informações sobre como configurar o monitoramento de aplicativos com o OpenTelemetry, consulte a seguinte documentação específica para o idioma:
Instrumentação automática
Para serviços de monitoramento como o Azure Functions e o Serviço de Aplicativo do Azure, primeiro você pode criar seu recurso do Application Insights e apontá-lo quando habilitar o monitoramento. Como alternativa, você pode criar um novo recurso do Application Insights durante o processo de habilitação.
Modificar o espaço de trabalho associado
Depois de criar um recurso do Application Insights, você pode modificar o workspace associado do Log Analytics.
Em seu recurso do Application Insights, selecione Propriedades>Alterar espaço de trabalho>Workspaces do Log Analytics.
Para alterar o workspace do Log Analytics, execute o seguinte comando da CLI do Azure em seu terminal e substitua os espaços reservados <application-insights-resource-name>
<resource-group-name>
e <log-analytics-workspace-name>
com seus 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 obter mais informações sobre o az monitor app-insights component update
comando, consulte a documentação da CLI do Azure.
Para alterar o workspace do Log Analytics, execute o seguinte comando do Azure PowerShell em seu terminal e substitua os espaços reservados<resource-group-name>
, <application-insights-resource-name>
<subscription-id>
e <log-analytics-workspace-name>
por seus 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 obter mais informações sobre o Update-AzApplicationInsights
comando, consulte a documentação do Azure PowerShell.
Para alterar o workspace do Log Analytics usando a API REST, use a seguinte solicitação e substitua os espaços reservados <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <access-token>
, <azure-region-name>
e <log-analytics-workspace-name>
por seus 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 obter mais informações sobre como modificar o workspace associado usando a API REST, consulte a documentação da API REST.
Para alterar o workspace do Log Analytics, cole o seguinte código em seu modelo e substitua os marcadores <application-insights-resource-name>
, <azure-region-name>
, <application-type>
, e <log-analytics-workspace-name>
por seus 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 alterar o workspace do Log Analytics, cole o seguinte código em seu modelo e substitua os marcadores <application-insights-resource-name>
, <azure-region-name>
, <application-type>
, e <log-analytics-workspace-name>
por seus 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>"
}
}
]
}
Exportar telemetria
A funcionalidade herdada de exportação contínua não tem suporte para recursos baseados em espaço de trabalho. Em vez disso, use as configurações de diagnóstico.
Observação
A exportação de configurações de diagnóstico pode aumentar os custos. Para obter mais informações, confira Exportar telemetria do Application Insights.
Para obter informações sobre preços para essa funcionalidade, confira a página de preços do Azure Monitor. Antes do início da cobrança, as notificações são enviadas. Se você continuar usando a exportação de telemetria após o período de aviso, será cobrada a taxa aplicável.
Em seu recurso do Application Insights, selecione Configurações> dediagnóstico Adicionar configuração de diagnóstico.
Você pode selecionar todas as tabelas ou um subconjunto de tabelas para arquivar em uma conta de armazenamento. Você também pode transmitir para um hub de eventos.
Para exportar a telemetria usando as configurações de diagnóstico, execute o seguinte comando da CLI do Azure em seu terminal e substitua os espaços reservados<diagnostic-setting-name>
, <application-insights-resource-name>
<resource-group-name>
e <storage-account-name>
por seus 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 exemplo habilita as configurações de diagnóstico e envia todos os logs do recurso do Application Insights para a conta de armazenamento especificada. Para também enviar métricas, adicione --metrics '[{"category": "AllMetrics", "enabled": true}]'
ao comando.
Para obter mais informações sobre o az monitor diagnostic-settings create
comando, consulte a documentação da CLI do Azure.
Para exportar a telemetria usando as configurações de diagnóstico, execute o seguinte comando do Azure PowerShell em seu terminal e substitua os espaços reservados <application-insights-resource-id>
, <diagnostic-setting-name>
e <storage-account-id>
pelos seus valores específicos.
Set-AzDiagnosticSetting -ResourceId <application-insights-resource-id> -Name <diagnostic-setting-name> -StorageAccountId <storage-account-id> -Enabled $True
Este comando de exemplo habilita as configurações de diagnóstico e envia todas as métricas e logs do recurso do Application Insights para a conta de armazenamento especificada.
Para obter mais informações sobre o Set-AzDiagnosticSetting
comando, consulte a documentação do Azure PowerShell.
Para exportar a telemetria para uma conta de armazenamento do Azure usando uma configuração de diagnóstico, use a seguinte solicitação e substitua os espaços reservados<subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <diagnostic-setting-name>
e <access-token>
<storage-account-name>
por seus 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 chamada de exemplo habilita as configurações de diagnóstico e envia todas as métricas e logs do recurso do Application Insights para a conta de armazenamento especificada.
Para obter mais informações sobre como criar uma configuração de diagnóstico usando a API REST, consulte a documentação da API REST.
Para exportar a telemetria usando as configurações de diagnóstico, cole o seguinte código em seu modelo e substitua os espaços reservados<application-insights-resource-name>
, <azure-region-name>
, , <application-type>
, <diagnostic-setting-name>
, <subscription-id>
e <resource-group>
<storage-account-name>
com seus 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 a telemetria usando as configurações de diagnóstico, cole o seguinte código em seu modelo e substitua os espaços reservados<application-insights-resource-name>
, <azure-region-name>
, , <application-type>
, <diagnostic-setting-name>
, <subscription-id>
e <resource-group>
<storage-account-name>
com seus 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
}
]
}
}
]
}
Definir a retenção de dados
Para definir a retenção de dados para o workspace do Log Analytics associado, cole o seguinte código em seu modelo e substitua os espaços reservados <log-analytics-workspace-name>
, <azure-region-name>
e <retention-period-in-days>
por seus 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 definir a retenção de dados para o workspace do Log Analytics associado, cole o seguinte código em seu modelo e substitua os espaços reservados <log-analytics-workspace-name>
, <azure-region-name>
e <retention-period-in-days>
por seus 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>
}
}
]
}
Definir o limite diário
O limite diário deve ser definido independentemente para o Application Insights e o workspace do Log Analytics subjacente. O limite diário efetivo é o mínimo das duas configurações.
Observação
Atualmente, o Azure não fornece uma maneira de definir o limite diário do Application Insights por meio da CLI do Azure.
Para alterar o limite diário do Log Analytics, execute o seguinte comando da CLI do Azure em seu terminal e substitua os espaços reservados <resource-group-name>
<log-analytics-workspace-name>
e <daily-cap-in-gb>
por seus 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 obter mais informações sobre o az monitor log-analytics workspace update
comando, consulte a documentação da CLI do Azure.
Para alterar o limite diário do Application Insights e do Log Analytics, execute os seguintes comandos do Azure PowerShell em seu terminal e substitua os espaços reservados por seus valores específicos.
Application Insights
Espaços reservados: <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 obter mais informações sobre o Set-AzApplicationInsightsDailyCap
comando, consulte a documentação do Azure PowerShell.
Log Analytics
Espaços reservados: <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 obter mais informações sobre o Set-AzOperationalInsightsWorkspace
comando, consulte a documentação do Azure PowerShell.
Observação
Atualmente, o Azure não fornece uma maneira de definir o limite diário do Application Insights com a CLI do Azure.
Para alterar o limite diário do Log Analytics, use a seguinte solicitação e substitua os espaços reservados <subscription-id>
, <resource-group-name>
, <log-analytics-workspace-name>
, <access-token>
, <azure-region-name>
e <daily-cap-in-gb>
por seus valores específicos.
Espaços reservados:
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 obter mais informações sobre a configuração do limite diário do Log Analytics, consulte a documentação da API REST
Observação
Atualmente, o Azure não fornece uma maneira de definir o limite diário do Application Insights com um modelo Bicep.
Para definir o limite diário do Log Analytics, cole o seguinte código em seu modelo e substitua os espaços reservados <log-analytics-workspace-name>
<azure-region-name>
e <daily-cap-in-gb>
por seus 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>
}
}
Observação
Atualmente, o Azure não fornece uma maneira de definir o limite diário do Application Insights usando um modelo do ARM.
Para definir o limite diário do Log Analytics, cole o seguinte código em seu modelo e substitua os espaços reservados <log-analytics-workspace-name>
<azure-region-name>
e <daily-cap-in-gb>
por seus 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>
}
}
}
]
}
Definir o plano de preços
O plano de preços para recursos do Application Insights pode ser definido no workspace do Log Analytics associado. Para obter mais informações sobre os planos de preços disponíveis, consulte as opções e cálculos de custo dos Logs do Azure Monitor.
Observação
Se você estiver vendo encargos inesperados ou custos altos no Application Insights, este guia poderá ajudar. Ele aborda causas comuns, como alto volume de telemetria, picos de ingestão de dados e amostragem configurada incorretamente. É especialmente útil se você estiver solucionando problemas relacionados a picos de custo, volume de telemetria, amostragem não funcionando, limites de dados, ingestão alta ou cobrança inesperada. Para começar, veja Solucionar problemas de alta ingestão de dados no Application Insights.
Para definir o plano de preços, execute um dos seguintes comandos da CLI do Azure em seu terminal e substitua os espaços reservados <log-analytics-workspace-name>
<azure-region-name>
e (se aplicável) <capacity-reservation-in-gb>
por seus valores específicos:
Pague-conforme-o-uso
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set PerGB2018
Nível de compromisso
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 obter mais informações sobre o az monitor log-analytics workspace update
comando, consulte a documentação da CLI do Azure.
Para definir o plano de preços, execute um dos seguintes comandos do Azure PowerShell em seu terminal e substitua os espaços reservados <log-analytics-workspace-name>
<azure-region-name>
e (se aplicável) <capacity-reservation-in-gb>
por seus valores específicos:
Pague-conforme-o-uso
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku perb2018
Nível de compromisso
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku capacityreservation -SkuCapacity <capacity-reservation-in-gb>
Para obter mais informações sobre o Set-AzOperationalInsightsWorkspace
comando, consulte a documentação do Azure PowerShell.
Para definir o plano de preços usando a API REST, use uma das seguintes solicitações e substitua os espaços reservados <subscription-id>
, <resource-group-name>
, <log-analytics-workspace-name>
e <access-token>
(se aplicável) <capacity-reservation-in-gb>
por seus valores específicos:
Pague-conforme-o-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"
}
}
}
Nível de compromisso
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 obter mais informações sobre como definir o plano de preços usando a API REST, consulte a documentação da API REST.
Para definir o plano de preços usando o Bicep, cole o seguinte código no seu modelo e substitua os espaços reservados <log-analytics-workspace-name>
, <azure-region-name>
e, para o nível de compromisso, também <capacity-reservation-in-gb>
pelos seus valores específicos:
Pague-conforme-o-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'
}
}
}
Nível de compromisso
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 obter mais informações sobre como atualizar o recurso usando o Microsoft.OperationalInsights/workspaces
Bicep, consulte a documentação de modelos.
Para definir o plano de preços usando um modelo do ARM, copie e cole o seguinte código em seu modelo. Substitua os espaços reservados <log-analytics-workspace-name>
, <azure-region-name>
e também <capacity-reservation-in-gb>
para o nível de compromisso, com seus valores específicos.
Pague-conforme-o-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"
}
}
}
]
}
Nível de compromisso
{
"$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 obter mais informações sobre como atualizar o Microsoft.OperationalInsights/workspaces
recurso usando um modelo do ARM, consulte a documentação de modelos.
Desabilitar o mascaramento de IP
Por padrão, o Application Insights não armazena endereços IP. Para saber como desabilitar o mascaramento de IP, consulte a localização geográfica e o tratamento de endereço IP.
Criar recursos adicionais
Criar um teste de disponibilidade
Para criar um teste de disponibilidade padrão com configurações padrão, execute o seguinte comando da CLI do Azure em seu terminal e substitua os espaços reservados<resource-group-name>
, <azure-region-name>
, <web-test-name>
, <url>
e <subscription-id>
<application-insights-resource-name>
por seus 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 obter mais informações sobre o az monitor app-insights web-test create
comando, consulte a documentação da CLI do Azure.
Observação
A região de teste da Web (-location
) é diferente da localização geográfica (-locations
, observe o uso do plural), a partir da qual é possível selecionar vários. -location
refere-se à região do Azure em que o teste da web é criado e hospedado, enquanto -locations
refere-se à localização ou localizações geográficas das quais o teste da web é executado. Para obter uma lista completa de todas as localizações geográficas, consulte os testes de disponibilidade do Application Insights.
Para criar um teste de disponibilidade padrão com configurações padrão, execute o seguinte comando do Azure PowerShell em seu terminal e substitua os espaços reservados<resource-group-name>
, <azure-region-name>
, <web-test-name>
, <url>
e <subscription-id>
<application-insights-resource-name>
por seus 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 obter mais informações sobre o New-AzApplicationInsightsWebTest
comando, consulte a documentação do Azure PowerShell.
Observação
A região de teste da web (-Location
) é diferente da localização geográfica (-GeoLocation
), das quais várias podem ser selecionadas. -Location
refere-se à região do Azure em que o teste web é criado e hospedado, enquanto -GeoLocation
se refere à localização geográfica ou aos locais dos quais o teste da Web é executado. Para obter uma lista completa de todas as localizações geográficas, consulte os testes de disponibilidade do Application Insights.
Para criar um teste de disponibilidade padrão com configurações padrão usando a API REST, use a seguinte solicitação e substitua os espaços reservados <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
, <web-test-name>
, <access-token>
, <azure-region-name>
e <url>
com seus 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"
}
}
Observação
A região de teste da Web (-location
) é diferente da localização geográfica (-Locations
, observe a forma plural), das quais várias podem ser selecionadas. -location
refere-se à região do Azure em que o teste web é criado e hospedado, enquanto -Locations
se refere à localização geográfica ou aos locais dos quais o teste da Web é executado. Para obter uma lista completa de todas as localizações geográficas, consulte os testes de disponibilidade do Application Insights.
Para saber mais sobre como criar e configurar testes Web usando a API REST, consulte nossa documentação da API REST.
Para criar um teste de disponibilidade padrão com configurações padrão usando o Bicep, adicione o seguinte código ao seu modelo e substitua os espaços reservados <web-test-name>
, <azure-region-name>
, <subscription-id>
, <resource-group-name>
, <application-insights-resource-name>
e <url>
por seus 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
}
}
}
Observação
A região de teste da web (location
) é diferente da localização geográfica (Locations
), das quais várias podem ser selecionadas. location
refere-se à região do Azure em que o teste web é criado e hospedado, enquanto Locations
se refere à localização geográfica ou aos locais dos quais o teste da Web é executado. Para obter uma lista completa de todas as localizações geográficas, consulte os testes de disponibilidade do Application Insights.
Para obter mais informações sobre como criar testes de disponibilidade usando o Bicep, consulte webtests do Microsoft.Insights.
Para criar um teste de disponibilidade padrão com configurações padrão usando um modelo do ARM, adicione o seguinte código ao modelo e substitua os espaços reservados<web-test-name>
, <azure-region-name>
, <subscription-id>
, <resource-group-name>
e <application-insights-resource-name>
<url>
por seus 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
}
}
}
]
}
Observação
A região de teste da web (location
) é diferente da localização geográfica (Locations
), das quais várias podem ser selecionadas. location
refere-se à região do Azure em que o teste web é criado e hospedado, enquanto Locations
se refere à localização geográfica ou aos locais dos quais o teste da Web é executado. Para obter uma lista completa de todas as localizações geográficas, consulte os testes de disponibilidade do Application Insights.
Para obter mais informações sobre como criar testes de disponibilidade usando um modelo do ARM, consulte webtests do Microsoft.Insights.
Adicionar um alerta de métrica
Dica
Cada recurso do Application Insights vem com métricas que estão disponíveis prontas para uso. Se componentes separados reportarem ao mesmo recurso do Application Insights, talvez não faça sentido programar um alerta relativo a essas métricas.
Para obter uma lista de vários exemplos de chamadas à API REST para criar um alerta de métrica, consulte a documentação da API REST.
Para automatizar a criação de alertas de métrica, consulte o artigo do Modelo de alertas de métrica.
Criar mais recursos do Application Insights
Quantos recursos do Application Insights devo implantar?
Ao desenvolver a próxima versão de um aplicativo Web, não é bom misturar as telemetrias da nova versão e da versão já lançada do Application Insights.
Para evitar confusão, envie a telemetria de diferentes estágios de desenvolvimento para separar os recursos do Application Insights com cadeias de conexão separadas.
Se seu sistema for uma instância dos Serviços de Nuvem do Azure, haverá outro método de definição de cadeias de conexão separadas.
Quando usar um único recurso do Application Insights
Use um único recurso do Application Insights:
- Para simplificar o gerenciamento de DevOps/ITOps para aplicativos implantados juntos, normalmente desenvolvidos e gerenciados pela mesma equipe.
- Para centralizar os indicadores chave de desempenho, como tempos de resposta e taxas de falha, em um painel por padrão. Segmente por nome de função no Metrics Explorer se necessário.
- Quando não é necessário um gerenciamento diferente de controle de acesso baseado em função do Azure entre componentes do aplicativo.
- Quando critérios de alerta de métricas, exportações contínuas e gerenciamento de cobrança/cotas idênticos entre componentes forem suficientes.
- Quando é aceitável para uma chave de API acessar dados de todos os componentes igualmente, e 10 chaves de API atendem às necessidades em todos os componentes.
- Quando as mesmas configurações de detecção inteligente e de integração de itens de trabalho são adequadas em todas as funções.
Observação
Se deseja consolidar vários recursos de Application Insights, poderá apontar seus componentes de aplicativo existentes para um novo recurso de Application Insights consolidado. A telemetria armazenada em seu recurso antigo não é transferida para o novo recurso. Exclua o recurso antigo somente quando você tiver telemetria suficiente no novo recurso para continuidade de negócios.
Outras considerações
Para ativar as experiências do portal, adicione código personalizado para atribuir valores significativos ao atributo Cloud_RoleName. Sem esses valores, os recursos do portal não funcionam.
Para aplicativos do Azure Service Fabric e serviços de nuvem clássicos, o SDK configura os serviços automaticamente ao ler do Ambiente de Função do Azure. Para outros tipos de aplicativo, normalmente você precisa defini-lo explicitamente.
As métricas dinâmicas não podem dividir dados por nome de função.
Rastreamento de versões e lançamentos
Ao publicar uma nova versão do aplicativo, você deseja poder separar a telemetria de diferentes builds. Você pode definir a propriedade Versão do Aplicativo para filtrar os resultados da pesquisa e do gerenciador de métricas .
Há vários métodos diferentes de definir a propriedade de Versão do Aplicativo.
Opção 1: Definir a versão diretamente
Adicione a linha telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;
ao código de inicialização do aplicativo.
Para garantir que todas as TelemetryClient
instâncias sejam definidas de forma consistente, embrulhe essa linha em um inicializador de telemetria.
Opção 2: Definir a versão em BuildInfo.config
(somente ASP.NET)
O módulo Web do Application Insights obtém a versão do nó BuildLabel
. Inclua esse arquivo no seu projeto e não se esqueça de definir a propriedade Copy Always no Gerenciador de Soluções.
<?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>
Gere BuildInfo.config
automaticamente no Mecanismo de Build da Microsoft. Adicione as seguintes linhas ao arquivo .csproj
:
<PropertyGroup>
<GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
<IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>
Isso gera um arquivo chamado nomedoSeuProjeto.BuildInfo.config
. O processo de Publicação renomeia o arquivo como BuildInfo.config
.
O rótulo de build contém um espaço reservado (*AutoGen_...*)
quando você cria com o Visual Studio. Quando criado com o Microsoft Build Engine, o espaço reservado é preenchido com o número de versão correto.
Para permitir que o Microsoft Build Engine gere números de versão, defina a versão como 1.0.*
em AssemblyReference.cs
.
Notas de lançamento
Se usar o Azure DevOps, você poderá obter um marcador de anotação adicionado a seus gráficos sempre que lançar uma nova versão.
Automatizar o processo de criação de recursos
O processo de criação de recursos pode ser automatizado usando modelos Bicep ou JSON com o Azure Resource Manager. Você pode empacotar vários recursos juntos para criá-los em uma implantação. Por exemplo, você pode criar um recurso do Application Insights com testes de disponibilidade, alertas de métrica e uma configuração de diagnóstico para enviar telemetria para uma conta de Armazenamento do Azure.
Gerar um modelo no portal do Azure
Você pode gerar um modelo de recursos existentes.
Somente Application Insights
- Acesse o recurso application insights no portal do Azure.
- Abra o modelo de Exportação listado em Automação na barra de navegação à esquerda.
- (Opcional): para usar seus próprios parâmetros, desmarque Incluir parâmetros.
- Baixe o arquivo de modelo ou implante-o diretamente no portal do Azure.
Recursos múltiplos
- Vá para o grupo de recursos do seu recurso do Application Insights.
- No painel Visão geral , marque todos os recursos que você deseja incluir no modelo e selecione Exportar modelo na barra de navegação superior.
- (Opcional): para usar seus próprios parâmetros, desmarque Incluir parâmetros.
- Baixe o arquivo de modelo ou implante-o diretamente no portal do Azure.
Criar um modelo do zero
Para saber como criar um modelo do ARM do zero, visite nossa documentação de modelo do ARM que inclui tutoriais para criar um modelo, adicionar recursos, adicionar parâmetros e muito mais.
As propriedades disponíveis para Application Insights, testes de disponibilidade, alertas de métrica, configurações de diagnóstico e outros recursos podem ser encontradas na nossa documentação de referência de recursos do Azure, sob o nó Referência>Insights.
Dica
Você também pode usar os modelos de início rápido, disponíveis na parte inferior de cada página da documentação de referência dos recursos do Azure mencionada nesta seção. Para saber como usar modelos, visite Tutorial: Usar modelos de início rápido do Azure.
Próximas etapas