O Application Insights integra-se ao Log Analytics e envia telemetria para um espaço de trabalho comum do Log Analytics. Essa configuração fornece acesso total aos recursos do Log Analytics, consolida logs em um local e permite o controle de acesso unificado baseado em função do Azure , o que elimina a necessidade de consultas entre aplicativos/espaços de trabalho.
As capacidades melhoradas incluem:
Este artigo mostra como criar e configurar recursos do Application Insights. Junto com o recurso do Application Insights em si, 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étricas e automatizar o processo usando o Azure Resource Manager.
Nota
A ingestão e retenção de dados para recursos do Application Insights baseados no espaço de trabalho são cobradas por meio do Log Analytics workspace onde os dados estão localizados. Para saber mais sobre cobrança, consulte Detalhes de preços do Azure Monitor Logs.
Pré-requisitos
- Uma assinatura ativa do Azure.
- As permissões necessárias para criar recursos.
Requisitos adicionais
Sem requisitos adicionais.
Para acessar os comandos da CLI do Azure do Application Insights, primeiro você precisa executar:
az extension add -n application-insights
Se não executares o az extension add comando, vês 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 os respetivos separadores para requisitos adicionais.
Você pode implantar modelos ARM por meio da CLI do Azure, do Azure PowerShell e no portal do Azure. Verifique os respetivos separadores para requisitos adicionais.
Criar um recurso Application Insights
Nota
Se você não se conectar a um espaço de trabalho existente do Log Analytics durante a criação do recurso, um novo recurso do Log Analytics será criado automaticamente junto com o recurso do Application Insights.
Quando cria ou atualiza um recurso do Application Insights baseado numa área de trabalho e o associa a uma área de trabalho do Log Analytics numa subscrição diferente, a identidade que executa a operação tem de ter permissão na área de trabalho de destino para Microsoft.OperationalInsights/workspaces/sharedKeys/action. Este requisito aplica-se mesmo quando ambas as subscrições estão no mesmo tenant Microsoft Entra. Se a identidade não tiver essa permissão, a operação pode falhar com um 403 (Forbidden) erro. Conceder o papel de menor privilégio que inclua esta ação no espaço de trabalho alvo, ou usar um espaço de trabalho na mesma subscrição do recurso Application Insights.
- Inicie sessão no portal Azure.
- Selecione Criar um recurso.
- Abra a categoria Monitoramento & Diagnóstico e selecione Application Insights.
- Insira todas as informações relevantes e, em seguida, Revise + crie seu recurso do Application Insights.
Depois de criar seu recurso, você pode encontrar as informações correspondentes do espaço de trabalho 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 de consulta do espaço de trabalho unificado.
Nota
Ainda fornecemos total compatibilidade com versões anteriores para suas consultas de recursos clássicos, pastas de trabalho e alertas baseados em log do Application Insights. Para consultar ou exibir a nova estrutura ou o esquema de tabela baseadas em espaço de trabalho, deve primeiro ir para o espaço de trabalho do Log Analytics. Selecione Logs (Analytics) nos painéis do Application Insights para acessar a experiência de consulta clássica do Application Insights.
O exemplo seguinte da CLI do Azure utiliza o comando az monitor app-insights component create.
# Set variables
resourceGroupName="<ResourceGroupName>"
resourceName="<ResourceName>"
azureRegion="<AzureRegion>"
workspaceName="<WorkspaceName>"
# Get the subscription ID from the current Azure CLI context
subscriptionId=$(az account show --query id --output tsv)
# Build the full resource ID for the Log Analytics workspace
workspaceResourceId="/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/$workspaceName"
# Create a workspace-based Application Insights resource
az monitor app-insights component create \
--app "$resourceName" \
--location "$azureRegion" \
--resource-group "$resourceGroupName" \
--kind web \
--application-type web \
--workspace "$workspaceResourceId"
Nota
CLI do Azure comandos usam o endpoint Azure Resource Manager do contexto atual da CLI, por isso management.azure.com não precisa de ser especificado na sintaxe do comando.
O exemplo Azure PowerShell seguinte utiliza o cmdlet New-AzApplicationInsights.
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$resourceName = "<ResourceName>"
$azureRegion = "<AzureRegion>"
$workspaceName = "<WorkspaceName>"
# Get the subscription ID from the current Azure PowerShell context
$subscriptionId = (Get-AzContext).Subscription.Id
# Build the full resource ID for the Log Analytics workspace
$workspaceResourceId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/$workspaceName"
# Define the parameters for the Application Insights resource
$newAzApplicationInsightsParams = @{
ResourceGroupName = $resourceGroupName
Name = $resourceName
Location = $azureRegion
Kind = "web"
ApplicationType = "web"
WorkspaceResourceId = $workspaceResourceId
}
# Create a workspace-based Application Insights resource
New-AzApplicationInsights @newAzApplicationInsightsParams
Nota
Azure PowerShell cmdlets usam o endpoint Azure Resource Manager do contexto atual do Az, por isso management.azure.com não precisa de ser especificado na sintaxe do cmdlet.
O exemplo seguinte de REST utiliza a operação Components REST API.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
Content-Type: application/json
{
"kind": "web",
"location": "<AzureRegion>",
"properties": {
"Application_Type": "web",
"WorkspaceResourceId": "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<WorkspaceName>"
}
}
O exemplo Bicep seguinte utiliza o tipo de recurso Microsoft.Insights/components.
param subscriptionId string = '<SubscriptionId>'
param resourceGroupName string = '<ResourceGroupName>'
param resourceName string = '<ResourceName>'
param azureRegion string = '<AzureRegion>'
param workspaceName string = '<WorkspaceName>'
var workspaceResourceId = '/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/${workspaceName}'
resource applicationInsightsComponent 'Microsoft.Insights/components@<ApiVersion>' = {
name: resourceName
location: azureRegion
kind: 'web'
properties: {
Application_Type: 'web'
WorkspaceResourceId: workspaceResourceId
}
}
O seguinte exemplo de ARM (JSON) utiliza o Microsoft. Insights/components tipo de recurso.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"type": "string",
"defaultValue": "<SubscriptionId>"
},
"resourceGroupName": {
"type": "string",
"defaultValue": "<ResourceGroupName>"
},
"resourceName": {
"type": "string",
"defaultValue": "<ResourceName>"
},
"azureRegion": {
"type": "string",
"defaultValue": "<AzureRegion>"
},
"workspaceName": {
"type": "string",
"defaultValue": "<WorkspaceName>"
}
},
"variables": {
"workspaceResourceId": "[format('/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.OperationalInsights/workspaces/{2}', parameters('subscriptionId'), parameters('resourceGroupName'), parameters('workspaceName'))]"
},
"resources": [
{
"type": "Microsoft.Insights/components",
"apiVersion": "<ApiVersion>",
"name": "[parameters('resourceName')]",
"location": "[parameters('azureRegion')]",
"kind": "web",
"properties": {
"Application_Type": "web",
"WorkspaceResourceId": "[variables('workspaceResourceId')]"
}
}
]
}
Depois de criar um recurso do Application Insights, você configura o monitoramento.
Obter a string de conexão
A cadeia de conexão identifica o recurso ao qual você deseja associar seus dados de telemetria. Você também pode usá-lo para modificar os pontos finais que o seu recurso usa como destino para a 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 o string de ligação do recurso do Application Insights:
- Abra o recurso do Application Insights no portal do Azure.
- No painel Visão geral na seção Essenciais , procure Cadeia de conexão.
- Ao passar o rato sobre a string de conexão, aparece um ícone que permite copiá-la para a área de transferência.
O exemplo seguinte da CLI do Azure utiliza o comando az monitor app-insights component show.
# Set variables
resourceGroupName="<ResourceGroupName>"
resourceName="<ResourceName>"
# Retrieve the Application Insights component
az monitor app-insights component show \
--resource-group "$resourceGroupName" \
--app "$resourceName"
Procure o connectionString campo na resposta JSON.
O exemplo Azure PowerShell seguinte utiliza o cmdlet Get-AzApplicationInsights.
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$resourceName = "<ResourceName>"
# Define parameters for Get-AzApplicationInsights
$getAzApplicationInsightsParams = @{
ResourceGroupName = $resourceGroupName
Name = $resourceName
}
# Retrieve the Application Insights component
Get-AzApplicationInsights @getAzApplicationInsightsParams
Procure a propriedade ConnectionString na saída.
O exemplo seguinte de REST utiliza a operação Components REST API.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
Procure o properties.connectionString campo na resposta JSON.
Não aplicável a modelos Bicep.
Não aplicável a modelos ARM.
Monitoramento de aplicativos com OpenTelemetry
Para monitorização de aplicações com OpenTelemetry, instale a distribuição Azure Monitor OpenTelemetry apropriada e aponte a cadeia de ligação para o seu recurso recém-criado.
Para informações sobre como configurar a monitorização de aplicações com OpenTelemetry, consulte a seguinte documentação específica por linguagem:
Instrumentação automática
Para serviços de monitoramento, como o Funções do Azure e o Serviço de Aplicativo do Azure, você pode primeiro criar seu recurso do Application Insights e, em seguida, apontar para ele 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 espaço de trabalho associado do Log Analytics.
Importante
Chamadas REST, templates ARM e templates Bicep utilizam semântica de criação ou atualização (PUT). Ao atualizar um componente Application Insights utilizando estes métodos, inclua quaisquer propriedades necessárias que queira manter. Propriedades que não estão incluídas podem ser reiniciadas ou removidas.
No recurso do Application Insights, selecione Propriedades>Alterar espaço de trabalho>Log Analytics Workspaces.
O exemplo seguinte da CLI do Azure utiliza o comando az monitor app-insights component update.
# Set variables
resourceGroupName="<ResourceGroupName>"
resourceName="<ResourceName>"
workspaceName="<WorkspaceName>"
# Get the subscription ID from the current Azure CLI context
subscriptionId=$(az account show --query id --output tsv)
# Build the full resource ID for the Log Analytics workspace
workspaceResourceId="/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/$workspaceName"
# Update a workspace-based Application Insights resource
az monitor app-insights component update \
--resource-group "$resourceGroupName" \
--app "$resourceName" \
--workspace "$workspaceResourceId"
O exemplo Azure PowerShell seguinte utiliza o cmdlet Update-AzApplicationInsights.
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$resourceName = "<ResourceName>"
$workspaceName = "<WorkspaceName>"
# Get the subscription ID from the current Azure PowerShell context
$subscriptionId = (Get-AzContext).Subscription.Id
# Build the full resource ID for the Log Analytics workspace
$workspaceResourceId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/$workspaceName"
# Define the parameters for the Application Insights resource
$updateAzApplicationInsightsParams = @{
ResourceGroupName = $resourceGroupName
Name = $resourceName
WorkspaceResourceId = $workspaceResourceId
}
# Update a workspace-based Application Insights resource
Update-AzApplicationInsights @updateAzApplicationInsightsParams
O exemplo seguinte de REST utiliza a operação Components REST API.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
Content-Type: application/json
{
"location": "<AzureRegion>",
"kind": "web",
"properties": {
"Application_Type": "web",
"WorkspaceResourceId": "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<WorkspaceName>"
}
}
O exemplo de Bicep seguinte utiliza o tipo de recurso Microsoft.Insights components.
param subscriptionId string = '<SubscriptionId>'
param resourceGroupName string = '<ResourceGroupName>'
param resourceName string = '<ResourceName>'
param azureRegion string = '<AzureRegion>'
param workspaceName string = '<WorkspaceName>'
var workspaceResourceId = '/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/${workspaceName}'
resource applicationInsightsComponent 'Microsoft.Insights/components@<ApiVersion>' = {
name: resourceName
location: azureRegion
kind: 'web'
properties: {
Application_Type: 'web'
WorkspaceResourceId: workspaceResourceId
}
}
O exemplo seguinte de ARM (JSON) utiliza o tipo de recurso Microsoft.Insights components.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"type": "string",
"defaultValue": "<SubscriptionId>"
},
"resourceGroupName": {
"type": "string",
"defaultValue": "<ResourceGroupName>"
},
"resourceName": {
"type": "string",
"defaultValue": "<ResourceName>"
},
"azureRegion": {
"type": "string",
"defaultValue": "<AzureRegion>"
},
"workspaceName": {
"type": "string",
"defaultValue": "<WorkspaceName>"
}
},
"variables": {
"workspaceResourceId": "[format('/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.OperationalInsights/workspaces/{2}', parameters('subscriptionId'), parameters('resourceGroupName'), parameters('workspaceName'))]"
},
"resources": [
{
"type": "Microsoft.Insights/components",
"apiVersion": "<ApiVersion>",
"name": "[parameters('resourceName')]",
"location": "[parameters('azureRegion')]",
"kind": "web",
"properties": {
"Application_Type": "web",
"WorkspaceResourceId": "[variables('workspaceResourceId')]"
}
}
]
}
Exportar telemetria
A funcionalidade de exportação contínua herdada não é suportada para recursos baseados em espaço de trabalho. Em vez disso, use as configurações de diagnóstico.
Nota
A exportação de definições de diagnóstico pode aumentar os custos. Para obter mais informações, consulte Exportar telemetria do Application Insights.
Para obter informações sobre preços para esse recurso, consulte a página de preços do Azure Monitor. Antes do início da faturação, são enviadas notificações. Se continuar a utilizar a exportação de telemetria após o período de pré-aviso, ser-lhe-á cobrada a taxa aplicável.
No recurso do Application Insights, selecione Configurações de diagnó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.
O exemplo seguinte da CLI do Azure utiliza o comando az monitor diagnostic-settings create. Cria uma configuração de diagnóstico que envia registos e métricas de um recurso Application Insights para uma conta de armazenamento.
# Set variables
resourceGroupName="<ResourceGroupName>"
resourceName="<ResourceName>"
storageAccountName="<StorageAccountName>"
diagnosticSettingName="<DiagnosticSettingName>"
# Get the subscription ID from the current Azure CLI context
subscriptionId=$(az account show --query id --output tsv)
# Build the full resource ID for the Application Insights component
resourceId="/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Insights/components/$resourceName"
# Build the full resource ID for the storage account
storageAccountId="/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Storage/storageAccounts/$storageAccountName"
# Create the diagnostic setting
az monitor diagnostic-settings create \
--name "$diagnosticSettingName" \
--resource "$resourceId" \
--storage-account "$storageAccountId" \
--logs '[{"category":"AppRequests","enabled":true}]' \
--metrics '[{"category":"AllMetrics","enabled":true}]'
O exemplo Azure PowerShell seguinte utiliza o cmdlet New-AzDiagnosticSetting. Cria uma configuração de diagnóstico que envia registos e métricas de um recurso Application Insights para uma conta de armazenamento.
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$resourceName = "<ResourceName>"
$storageAccountName = "<StorageAccountName>"
$diagnosticSettingName = "<DiagnosticSettingName>"
# Get the subscription ID from the current Azure PowerShell context
$subscriptionId = (Get-AzContext).Subscription.Id
# Build the full resource ID for the Application Insights component
$resourceId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Insights/components/$resourceName"
# Build the full resource ID for the storage account
$storageAccountId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Storage/storageAccounts/$storageAccountName"
# Create log and metric settings objects
$log = New-AzDiagnosticSettingLogSettingsObject `
-Category 'AppRequests' `
-Enabled $true
$metric = New-AzDiagnosticSettingMetricSettingsObject `
-Category 'AllMetrics' `
-Enabled $true
# Define parameters for New-AzDiagnosticSetting
$newAzDiagnosticSettingParams = @{
Name = $diagnosticSettingName
ResourceId = $resourceId
StorageAccountId = $storageAccountId
Log = @($log)
Metric = @($metric)
}
# Create the diagnostic setting
New-AzDiagnosticSetting @newAzDiagnosticSettingParams
O exemplo seguinte de REST utiliza a operação REST API de definições de diagnóstico . Cria uma configuração de diagnóstico que envia registos e métricas de um recurso Application Insights para uma conta de armazenamento.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/providers/Microsoft.Insights/diagnosticSettings/{diagnosticSettingName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
Content-Type: application/json
{
"properties": {
"storageAccountId": "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<StorageAccountName>",
"logs": [
{
"category": "AppRequests",
"enabled": true
}
],
"metrics": [
{
"category": "AllMetrics",
"enabled": true
}
]
}
}
O exemplo Bicep seguinte utiliza o tipo de recurso Microsoft.Insights diagnosticSettings. Cria uma configuração de diagnóstico que envia registos e métricas de um recurso Application Insights para uma conta de armazenamento.
param subscriptionId string = '<SubscriptionId>'
param resourceGroupName string = '<ResourceGroupName>'
param resourceName string = '<ResourceName>'
param storageAccountName string = '<StorageAccountName>'
param diagnosticSettingName string = '<DiagnosticSettingName>'
resource applicationInsightsComponent 'Microsoft.Insights/components@<ApiVersion>' existing = {
name: resourceName
}
var storageAccountId = '/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.Storage/storageAccounts/${storageAccountName}'
resource diagnosticSetting 'Microsoft.Insights/diagnosticSettings@<ApiVersion>' = {
name: diagnosticSettingName
scope: applicationInsightsComponent
properties: {
storageAccountId: storageAccountId
logs: [
{
category: 'AppRequests'
enabled: true
}
]
metrics: [
{
category: 'AllMetrics'
enabled: true
}
]
}
}
O seguinte exemplo de modelo ARM utiliza o Microsoft. Insights diagnosticSettings tipo de recurso. Cria uma configuração de diagnóstico que envia registos e métricas de um recurso Application Insights para uma conta de armazenamento.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"type": "string",
"defaultValue": "<SubscriptionId>"
},
"resourceGroupName": {
"type": "string",
"defaultValue": "<ResourceGroupName>"
},
"resourceName": {
"type": "string",
"defaultValue": "<ResourceName>"
},
"storageAccountName": {
"type": "string",
"defaultValue": "<StorageAccountName>"
},
"diagnosticSettingName": {
"type": "string",
"defaultValue": "<DiagnosticSettingName>"
}
},
"variables": {
"storageAccountId": "[format('/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Storage/storageAccounts/{2}', parameters('subscriptionId'), parameters('resourceGroupName'), parameters('storageAccountName'))]"
},
"resources": [
{
"type": "Microsoft.Insights/components/providers/diagnosticSettings",
"apiVersion": "<ApiVersion>",
"name": "[format('{0}/Microsoft.Insights/{1}', parameters('resourceName'), parameters('diagnosticSettingName'))]",
"properties": {
"storageAccountId": "[variables('storageAccountId')]",
"logs": [
{
"category": "AppRequests",
"enabled": true
}
],
"metrics": [
{
"category": "AllMetrics",
"enabled": true
}
]
}
}
]
}
Definir a retenção de dados
O exemplo seguinte do Bicep utiliza o tipo de recurso Microsoft.OperationalInsights workspaces. Define o período de retenção de dados para o espaço de trabalho Log Analytics associado.
param workspaceName string = '<WorkspaceName>'
param azureRegion string = '<AzureRegion>'
param retentionInDays int = <RetentionInDays>
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@<ApiVersion>' = {
name: workspaceName
location: azureRegion
properties: {
retentionInDays: retentionInDays
}
}
O exemplo seguinte de ARM (JSON) utiliza o tipo de recurso Microsoft.OperationalInsights workspaces. Define o período de retenção de dados para o espaço de trabalho Log Analytics associado.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
"defaultValue": "<WorkspaceName>"
},
"azureRegion": {
"type": "string",
"defaultValue": "<AzureRegion>"
},
"retentionInDays": {
"type": "int",
"defaultValue": <RetentionInDays>
}
},
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "<ApiVersion>",
"name": "[parameters('workspaceName')]",
"location": "[parameters('azureRegion')]",
"properties": {
"retentionInDays": "[parameters('retentionInDays')]"
}
}
]
}
Definir o limite diário
O limite diário deve ser definido independentemente para o Application Insights e para o espaço de trabalho subjacente do Log Analytics. O limite diário efetivo é o mínimo das duas configurações.
Nota
Atualmente, o Azure não fornece uma maneira de definir o limite diário para o Application Insights por meio da CLI do Azure.
Log Analytics:
O exemplo seguinte do CLI do Azure utiliza o comando az monitor log-analytics workspace update.
# Set variables
resourceGroupName="<ResourceGroupName>"
workspaceName="<WorkspaceName>"
dailyCapInGb="<DailyCapInGb>"
# Update the daily cap for the Log Analytics workspace
az monitor log-analytics workspace update \
--resource-group "$resourceGroupName" \
--workspace-name "$workspaceName" \
--set workspaceCapping.dailyQuotaGb=$dailyCapInGb
Os seguintes exemplos Azure PowerShell utilizam os cmdlets Set-AzApplicationInsightsDailyCap e Set-AzOperationalInsightsWorkspace.
Informações da Aplicação:
Os seguintes exemplos Azure PowerShell utilizam o cmdlet Set-AzApplicationInsightsDailyCap.
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$resourceName = "<ResourceName>"
$dailyCapInGb = "<DailyCapInGb>"
# Define the parameters for the daily cap
$setAzApplicationInsightsDailyCapParams = @{
ResourceGroupName = $resourceGroupName
Name = $resourceName
DailyCapGB = $dailyCapInGb
}
# Set the daily cap for the Application Insights resource
Set-AzApplicationInsightsDailyCap @setAzApplicationInsightsDailyCapParams
Log Analytics:
Os seguintes exemplos Azure PowerShell utilizam o cmdlet Set-AzOperationalInsightsWorkspace.
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$workspaceName = "<WorkspaceName>"
$dailyCapInGb = "<DailyCapInGb>"
# Define the parameters for the daily cap
$setAzOperationalInsightsWorkspaceParams = @{
ResourceGroupName = $resourceGroupName
Name = $workspaceName
DailyQuotaGb = $dailyCapInGb
}
# Set the daily cap for the Log Analytics workspace
Set-AzOperationalInsightsWorkspace @setAzOperationalInsightsWorkspaceParams
Nota
Atualmente, o Azure não oferece uma forma de definir o limite diário para o Application Insights através da API REST.
Log Analytics:
O exemplo seguinte de REST utiliza a operação da API REST do Workspaces .
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
Content-Type: application/json
{
"properties": {
"workspaceCapping": {
"dailyQuotaGb": <DailyCapInGb>
}
}
}
Nota
Atualmente, o Azure não fornece uma forma de definir o limite diário para o Application Insights com um template Bicep.
Log Analytics:
O exemplo seguinte do Bicep utiliza o tipo de recurso Microsoft.OperationalInsights workspaces.
param workspaceName string = '<WorkspaceName>'
param azureRegion string = '<AzureRegion>'
param dailyCapInGb int
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@<ApiVersion>' = {
name: workspaceName
location: azureRegion
properties: {
workspaceCapping: {
dailyQuotaGb: dailyCapInGb
}
}
}
Nota
Atualmente, o Azure não fornece uma maneira de definir o limite diário para o Application Insights usando um modelo ARM.
Log Analytics:
O exemplo seguinte de ARM (JSON) utiliza o tipo de recurso Microsoft.OperationalInsights workspaces.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
"defaultValue": "<WorkspaceName>"
},
"azureRegion": {
"type": "string",
"defaultValue": "<AzureRegion>"
},
"dailyCapInGb": {
"type": "int"
}
},
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "<ApiVersion>",
"name": "[parameters('workspaceName')]",
"location": "[parameters('azureRegion')]",
"properties": {
"workspaceCapping": {
"dailyQuotaGb": "[parameters('dailyCapInGb')]"
}
}
}
]
}
Definir o plano de preços
O plano de preços para recursos do Application Insights pode ser definido no espaço de trabalho associado do Log Analytics. Para obter mais informações sobre os planos de preços disponíveis, consulte Azure Monitor Logs cálculos de custo e opções.
Nota
Se você estiver vendo cobranças inesperadas ou custos altos no Application Insights, este guia pode ajudar. Ele cobre causas comuns como alto volume de telemetria, picos de ingestão de dados e amostragem mal configurada. É especialmente útil se você estiver solucionando problemas relacionados a picos de custo, volume de telemetria, amostragem não funcionando, limites de dados, alta ingestão ou faturamento inesperado. Para começar, consulte Solucionar problemas de alta ingestão de dados no Application Insights.
Os exemplos seguintes da CLI do Azure utilizam o comando az monitor log-analytics workspace update.
Pagamento conforme utilização:
# Set variables
resourceGroupName="<ResourceGroupName>"
workspaceName="<WorkspaceName>"
# Set the pricing plan to pay-as-you-go
az monitor log-analytics workspace update \
--resource-group "$resourceGroupName" \
--workspace-name "$workspaceName" \
--set PerGB2018
Nível de compromisso:
# Set variables
resourceGroupName="<ResourceGroupName>"
workspaceName="<WorkspaceName>"
capacityReservationInGb="<CapacityReservationInGb>"
# Set the pricing plan to commitment tier
az monitor log-analytics workspace update \
--resource-group "$resourceGroupName" \
--workspace-name "$workspaceName" \
--set CapacityReservation \
--level "$capacityReservationInGb"
Os seguintes exemplos Azure PowerShell utilizam o cmdlet Set-AzOperationalInsightsWorkspace.
Pagamento conforme utilização:
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$workspaceName = "<WorkspaceName>"
# Define the parameters for the pricing plan
$setAzOperationalInsightsWorkspaceParams = @{
ResourceGroupName = $resourceGroupName
Name = $workspaceName
Sku = "PerGB2018"
}
# Set the pricing plan to pay-as-you-go
Set-AzOperationalInsightsWorkspace @setAzOperationalInsightsWorkspaceParams
Nível de compromisso:
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$workspaceName = "<WorkspaceName>"
$capacityReservationInGb = "<CapacityReservationInGb>"
# Define the parameters for the pricing plan
$setAzOperationalInsightsWorkspaceParams = @{
ResourceGroupName = $resourceGroupName
Name = $workspaceName
Sku = "CapacityReservation"
SkuCapacity = $capacityReservationInGb
}
# Set the pricing plan to commitment tier
Set-AzOperationalInsightsWorkspace @setAzOperationalInsightsWorkspaceParams
Os seguintes exemplos de REST utilizam a operação da API REST do Workspaces . O plano tarifário está armazenado na propriedade sku do próprio espaço de trabalho.
Pagamento conforme utilização:
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
Content-Type: application/json
{
"properties": {
"sku": {
"name": "pergb2018"
}
}
}
Nível de compromisso:
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
Content-Type: application/json
{
"properties": {
"sku": {
"name": "capacityreservation",
"capacityReservationLevel": <CapacityReservationInGb>
}
}
}
Os exemplos de Bicep seguintes utilizam o tipo de recurso Microsoft.OperationalInsights workspaces.
Pagamento conforme utilização:
param workspaceName string = '<WorkspaceName>'
param azureRegion string = '<AzureRegion>'
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@<ApiVersion>' = {
name: workspaceName
location: azureRegion
properties: {
sku: {
name: 'pergb2018'
}
}
}
Nível de compromisso:
param workspaceName string = '<WorkspaceName>'
param azureRegion string = '<AzureRegion>'
param capacityReservationInGb int
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@<ApiVersion>' = {
name: workspaceName
location: azureRegion
properties: {
sku: {
name: 'capacityreservation'
capacityReservationLevel: capacityReservationInGb
}
}
}
Os seguintes exemplos de ARM (JSON) utilizam o tipo de recurso Microsoft.OperationalInsights workspaces.
Pagamento conforme utilização:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
"defaultValue": "<WorkspaceName>"
},
"azureRegion": {
"type": "string",
"defaultValue": "<AzureRegion>"
}
},
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "<ApiVersion>",
"name": "[parameters('workspaceName')]",
"location": "[parameters('azureRegion')]",
"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": "<WorkspaceName>"
},
"azureRegion": {
"type": "string",
"defaultValue": "<AzureRegion>"
},
"capacityReservationInGb": {
"type": "int"
}
},
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "<ApiVersion>",
"name": "[parameters('workspaceName')]",
"location": "[parameters('azureRegion')]",
"properties": {
"sku": {
"name": "capacityreservation",
"capacityReservationLevel": "[parameters('capacityReservationInGb')]"
}
}
}
]
}
Desativar mascaramento de IP
Por padrão, o Application Insights não armazena endereços IP. Para saber como desativar o mascaramento de IP, consulte Geolocalização e manipulação de endereços IP.
Criar recursos adicionais
Criar um teste de disponibilidade
O seguinte exemplo CLI do Azure utiliza o comando az monitor app-insights web-test create. Cria um teste de disponibilidade padrão com definições predefinidas.
# Set variables
resourceGroupName="<ResourceGroupName>"
resourceName="<ResourceName>"
azureRegion="<AzureRegion>"
webTestName="<WebTestName>"
requestUrl="<RequestUrl>"
# Get the subscription ID from the current Azure CLI context
subscriptionId=$(az account show --query id --output tsv)
# Create a standard availability test
az monitor app-insights web-test create \
--resource-group "$resourceGroupName" \
--location "$azureRegion" \
--web-test-kind standard \
--name "$webTestName" \
--defined-web-test-name "$webTestName" \
--request-url "$requestUrl" \
--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/$subscriptionId/resourceGroups/$resourceGroupName/providers/microsoft.insights/components/$resourceName=Resource"
Nota
A região de teste da Web (--location) é diferente da localização geográfica (--locations, note a forma plural) a partir da qual podem ser selecionados vários.
--location refere-se à região do Azure onde o teste da Web é criado e hospedado, enquanto --locations se refere à localização geográfica ou locais a partir dos quais o teste da Web é executado. Para obter uma lista completa de todas as localizações geográficas, consulte Testes de disponibilidade do Application Insights.
O exemplo Azure PowerShell seguinte utiliza o cmdlet New-AzApplicationInsightsWebTest. Cria um teste de disponibilidade padrão com definições predefinidas.
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$resourceName = "<ResourceName>"
$azureRegion = "<AzureRegion>"
$webTestName = "<WebTestName>"
$requestUrl = "<RequestUrl>"
# Get the subscription ID from the current Azure PowerShell context
$subscriptionId = (Get-AzContext).Subscription.Id
# Define the geographic locations from which the web test is executed
$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"
# Define parameters for New-AzApplicationInsightsWebTest
$newAzApplicationInsightsWebTestParams = @{
ResourceGroupName = $resourceGroupName
Location = $azureRegion
Name = $webTestName
TestName = $webTestName
Kind = "standard"
RequestUrl = $requestUrl
RetryEnabled = $true
RuleSslCheck = $true
RuleSslCertRemainingLifetimeCheck = 7
Frequency = 300
GeoLocation = $geoLocation
RequestHttpVerb = "GET"
Timeout = 120
RuleExpectedHttpStatusCode = 200
Enabled = $true
Tag = @{
"hidden-link:/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/microsoft.insights/components/$resourceName" = "Resource"
}
}
# Create a standard availability test
New-AzApplicationInsightsWebTest @newAzApplicationInsightsWebTestParams
Nota
A região de teste da Web (-Location) é diferente da localização geográfica (-GeoLocation), podendo selecionar várias.
-Location refere-se à região do Azure onde o teste da Web é criado e hospedado, enquanto -GeoLocation se refere à localização geográfica ou locais a partir dos quais o teste da Web é executado. Para obter uma lista completa de todas as localizações geográficas, consulte Testes de disponibilidade do Application Insights.
O exemplo REST seguinte utiliza a operação da API REST Web Tests. Cria um teste de disponibilidade padrão com definições predefinidas.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
Content-Type: application/json
{
"location": "<AzureRegion>",
"tags": {
"hidden-link:/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/microsoft.insights/components/<ResourceName>": "Resource"
},
"properties": {
"Name": "<WebTestName>",
"SyntheticMonitorId": "<WebTestName>",
"Enabled": true,
"Frequency": 300,
"Timeout": 120,
"Kind": "standard",
"RetryEnabled": true,
"Request": {
"RequestUrl": "<RequestUrl>",
"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" }
]
}
}
Nota
A região de teste da Web (location) é diferente da localização geográfica (Locations, note a forma plural) a partir da qual podem ser selecionados vários.
location refere-se à região do Azure onde o teste da Web é criado e hospedado, enquanto Locations se refere à localização geográfica ou locais a partir dos quais o teste da Web é executado. Para obter uma lista completa de todas as localizações geográficas, consulte Testes de disponibilidade do Application Insights.
O exemplo Bicep seguinte utiliza o tipo de recurso Microsoft.Insights webtests. Cria um teste de disponibilidade padrão com definições predefinidas.
param subscriptionId string = '<SubscriptionId>'
param resourceGroupName string = '<ResourceGroupName>'
param resourceName string = '<ResourceName>'
param azureRegion string = '<AzureRegion>'
param webTestName string = '<WebTestName>'
param requestUrl string = '<RequestUrl>'
resource webTest 'Microsoft.Insights/webtests@<ApiVersion>' = {
name: webTestName
location: azureRegion
tags: {
'hidden-link:/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/microsoft.insights/components/${resourceName}': 'Resource'
}
properties: {
SyntheticMonitorId: webTestName
Name: webTestName
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: requestUrl
HttpVerb: 'GET'
}
ValidationRules: {
ExpectedHttpStatusCode: 200
SSLCheck: true
SSLCertRemainingLifetimeCheck: 7
}
}
}
Nota
A região de teste da Web (location) é diferente da localização geográfica (Locations), podendo selecionar várias.
location refere-se à região do Azure onde o teste da Web é criado e hospedado, enquanto Locations se refere à localização geográfica ou locais a partir dos quais o teste da Web é executado. Para obter uma lista completa de todas as localizações geográficas, consulte Testes de disponibilidade do Application Insights.
Para obter mais informações sobre como criar testes de disponibilidade usando o Bicep, consulte Microsoft.Insights webtests.
O seguinte exemplo de ARM (JSON) utiliza o Microsoft. Insights webtests tipo de recurso. Cria um teste de disponibilidade padrão com definições predefinidas.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"type": "string",
"defaultValue": "<SubscriptionId>"
},
"resourceGroupName": {
"type": "string",
"defaultValue": "<ResourceGroupName>"
},
"resourceName": {
"type": "string",
"defaultValue": "<ResourceName>"
},
"azureRegion": {
"type": "string",
"defaultValue": "<AzureRegion>"
},
"webTestName": {
"type": "string",
"defaultValue": "<WebTestName>"
},
"requestUrl": {
"type": "string",
"defaultValue": "<RequestUrl>"
}
},
"resources": [
{
"type": "Microsoft.Insights/webtests",
"apiVersion": "<ApiVersion>",
"name": "[parameters('webTestName')]",
"location": "[parameters('azureRegion')]",
"tags": {
"[format('hidden-link:/subscriptions/{0}/resourceGroups/{1}/providers/microsoft.insights/components/{2}', parameters('subscriptionId'), parameters('resourceGroupName'), parameters('resourceName'))]": "Resource"
},
"properties": {
"SyntheticMonitorId": "[parameters('webTestName')]",
"Name": "[parameters('webTestName')]",
"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": "[parameters('requestUrl')]",
"HttpVerb": "GET"
},
"ValidationRules": {
"ExpectedHttpStatusCode": 200,
"SSLCheck": true,
"SSLCertRemainingLifetimeCheck": 7
}
}
}
]
}
Nota
A região de teste da Web (location) é diferente da localização geográfica (Locations), podendo selecionar várias.
location refere-se à região do Azure onde o teste da Web é criado e hospedado, enquanto Locations se refere à localização geográfica ou locais a partir dos quais o teste da Web é executado. Para obter uma lista completa de todas as localizações geográficas, consulte Testes de disponibilidade do Application Insights.
Adicionar um alerta de métrica
Sugestão
Cada recurso do Application Insights vem com métricas que estão disponíveis prontamente. Se componentes separados relatarem para o mesmo recurso do Application Insights, talvez não faça sentido alertar sobre essas métricas.
Para obter uma lista de vários exemplos de chamada de API REST para criar um alerta de métrica, consulte a documentação da API REST.
Para automatizar a criação de alertas métricos, consulte o artigo Modelo de alertas métricos.
Crie mais recursos do Application Insights
Quantos recursos do Application Insights devo implantar?
Ao desenvolver a próxima versão de um aplicativo Web, você não deseja misturar a telemetria do Application Insights da nova versão com a versão já lançada.
Para evitar confusão, envie a telemetria de diferentes estágios de desenvolvimento para recursos separados do Application Insights com cadeias de conexão separadas.
Se o seu sistema for uma instância dos Serviços de Nuvem do Azure, há outro método de definir cadeias de conexão separadas.
Quando usar um único recurso do Application Insights
Use um único recurso do Application Insights para:
- Simplificando o gerenciamento de DevOps/ITOps para aplicativos implantados juntos, normalmente desenvolvidos e gerenciados pela mesma equipe.
- Centralização de 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 explorador de métricas, se necessário.
- Quando não há necessidade de gerenciamento de controle de acesso baseado em função diferente do Azure entre componentes do aplicativo.
- Quando métricas idênticas alertam critérios, exportações contínuas e gerenciamento de faturamento/cotas entre componentes são suficientes.
- Quando é aceitável que uma chave de API acesse dados de todos os componentes igualmente, e 10 chaves de API atendem às necessidades em todos os componentes.
- Quando as mesmas configurações inteligentes de deteção e integração de itens de trabalho são adequadas para todas as funções.
Nota
Se quiser consolidar vários recursos do Application Insights, você pode apontar seus componentes de aplicativo existentes para um novo recurso consolidado do Application Insights. A telemetria armazenada no recurso antigo não é transferida para o novo recurso. Somente exclua o recurso antigo quando tiver telemetria suficiente no novo recurso para continuidade de negócios.
Outras considerações
Para ativar experiências no 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 automaticamente os serviços lendo o Ambiente de Função do Azure. Para outros tipos de aplicativos, normalmente você precisa defini-lo explicitamente.
O Live Metrics não pode dividir dados por nome de função.
Versão e controlo de versões e lançamentos
Ao publicar uma nova versão do seu aplicativo, você deseja ser capaz de separar a telemetria de compilações diferentes. Você pode definir a propriedade Versão do Aplicativo para filtrar os resultados da pesquisa e do explorador de métricas .
Existem vários métodos diferentes de definir a propriedade Application Version.
Opção 1: Definir a versão diretamente
Para instrumentação baseada em OpenTelemetry, defina os metadados da aplicação de forma consistente usando atributos de recurso.
Opção 2: Definir a versão em BuildInfo.config (apenas ASP.NET)
O módulo web do Application Insights recolhe a versão a partir do nó BuildLabel. Inclua esse arquivo em seu projeto e lembre-se 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 Microsoft Build Engine. Adicione as seguintes linhas ao seu .csproj ficheiro:
<PropertyGroup>
<GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
<IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>
Esta etapa gera um arquivo chamado yourProjectName.BuildInfo.config. O processo Publicar renomeia-o para BuildInfo.config.
O rótulo de compilação 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 da versão
Se você usar o Azure DevOps, poderá obter um marcador de anotação adicionado aos seus gráficos sempre que lançar uma nova versão.
Automatize 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étricas 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 a partir de recursos existentes.
Apenas o Application Insights
- Vá para o recurso Application Insights no portal do Azure.
- Abra o modelo de exportação listado sob 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.
Vários recursos
- Vá para o grupo de recursos do seu recurso do Application Insights.
- No painel Visão geral , marque todos os recursos que 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 a partir do zero
Para saber como criar um modelo ARM do zero, visite nossa documentação de modelo 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 métricos, configurações de diagnóstico e outros recursos podem ser encontradas na documentação de referência de recursos do Azure no nó Monitor>Insights>de Referência.
Sugestão
Você também pode usar modelos de início rápido, disponíveis na parte inferior de cada página de documentação de referência de recursos do Azure vinculada nesta seção. Para saber como usar modelos, visite Tutorial: Usar modelos de início rápido do Azure.
Próximos passos