Usar a Análise de Alterações de Aplicativo (versão prévia) no Azure MonitorUse Application Change Analysis (preview) in Azure Monitor

Quando ocorre um problema ou uma interrupção do site ativo, determinar rapidamente a causa raiz é fundamental.When a live site issue or outage occurs, quickly determining the root cause is critical. As soluções de monitoramento padrão podem alertá-lo sobre um problema.Standard monitoring solutions might alert you to a problem. Eles podem até mesmo indicar qual componente está falhando.They might even indicate which component is failing. Mas esse alerta nem sempre explicará imediatamente a causa da falha.But this alert won't always immediately explain the failure's cause. Você sabe que seu site funcionou cinco minutos atrás e agora ele está interrompido.You know your site worked five minutes ago, and now it's broken. O que mudou nos últimos cinco minutos?What changed in the last five minutes? Essa é a pergunta que a análise de alterações do aplicativo foi projetada para responder em Azure Monitor.This is the question that Application Change Analysis is designed to answer in Azure Monitor.

Aproveitando o poder do grafo de recursos do Azure, a análise de alterações fornece informações sobre as alterações do aplicativo do Azure para aumentar a capacidade de observação e reduzir o MTTR (tempo médio de reparo).Building on the power of Azure Resource Graph, Change Analysis provides insights into your Azure application changes to increase observability and reduce MTTR (mean time to repair).

Importante

A análise de alterações está atualmente em visualização.Change Analysis is currently in preview. Esta versão de visualização é fornecida sem um contrato de nível de serviço.This preview version is provided without a service-level agreement. Esta versão não é recomendada para cargas de trabalho de produção.This version is not recommended for production workloads. Alguns recursos podem não ter suporte ou podem ter recursos restritos.Some features might not be supported or might have constrained capabilities. Para obter mais informações, consulte os Termos de uso complementares de versões prévias do Microsoft Azure.For more information, see Supplemental terms of use for Microsoft Azure previews.

Visão geralOverview

A análise de alterações detecta vários tipos de alterações, da camada de infraestrutura até a implantação do aplicativo.Change Analysis detects various types of changes, from the infrastructure layer all the way to application deployment. É um provedor de recursos do Azure de nível de assinatura que verifica as alterações de recursos na assinatura.It's a subscription-level Azure resource provider that checks resource changes in the subscription. A análise de alterações fornece dados para várias ferramentas de diagnóstico para ajudar os usuários a entender quais alterações podem ter causado problemas.Change Analysis provides data for various diagnostic tools to help users understand what changes might have caused issues.

O diagrama a seguir ilustra a arquitetura da análise de alterações:The following diagram illustrates the architecture of Change Analysis:

Diagrama de arquitetura de como a análise de alterações obtém dados de alteração e fornece a ele ferramentas de cliente

Tipos de recurso compatíveisSupported resource types

O serviço de análise de alterações de aplicativo dá suporte a alterações de nível de propriedade de recurso em todos os tipos de recursos do Azure, incluindo recursos comuns comoApplication Change Analysis service supports resource property level changes in all Azure resource types, including common resources like:

  • Máquina VirtualVirtual Machine
  • Conjunto de escala de máquina virtualVirtual machine scale set
  • Serviço de AplicativoApp Service
  • Serviço kubernetes do AzureAzure Kubernetes service
  • Azure FunctionAzure Function
  • Recursos de rede: grupo de segurança de rede, rede virtual, gateway de aplicativo, etc.Networking resources: Network Security Group, Virtual Network, Application Gateway, etc.
  • Serviços de dados: armazenamento, SQL, cache Redis, Cosmos DB, etc.Data services: Storage, SQL, Redis Cache, Cosmos DB, etc.

Fontes de dadosData sources

Consultas de análise de alteração de aplicativo para Azure Resource Manager propriedades rastreadas, configurações com proxy e alterações no convidado do aplicativo Web.Application change analysis queries for Azure Resource Manager tracked properties, proxied configurations, and web app in-guest changes. Além disso, o serviço rastreia as alterações de dependência de recursos para diagnosticar e monitorar um aplicativo de ponta a ponta.In addition, the service tracks resource dependency changes to diagnose and monitor an application end-to-end.

Azure Resource Manager alterações de propriedades rastreadasAzure Resource Manager tracked properties changes

Usando o grafo de recursos do Azure, a análise de alterações fornece um registro histórico de como os recursos do Azure que hospedam seu aplicativo foram alterados ao longo do tempo.Using Azure Resource Graph, Change Analysis provides a historical record of how the Azure resources that host your application have changed over time. Configurações rastreadas, como identidades gerenciadas, atualização do sistema operacional da plataforma e nomes de host podem ser detectadas.Tracked settings such as managed identities, Platform OS upgrade, and hostnames can be detected.

Alterações de configuração Azure Resource Manager com proxyAzure Resource Manager proxied setting changes

As configurações como regra de configuração de IP, configurações de TLS e versões de extensão ainda não estão disponíveis no grafo de recursos do Azure, portanto, as consultas de análise de alterações e calculam essas alterações com segurança para fornecer mais detalhes sobre o que mudou no aplicativo.Settings such as IP Configuration rule, TLS settings, and extension versions are not yet available in Azure Resource Graph, so Change Analysis queries and computes these changes securely to provide more details in what changed in the app.

Alterações na implantação e na configuração do aplicativo Web (alterações no convidado)Changes in web app deployment and configuration (in-guest changes)

A análise de alterações captura o estado de implantação e configuração de um aplicativo a cada 4 horas.Change Analysis captures the deployment and configuration state of an application every 4 hours. Ele pode detectar, por exemplo, alterações nas variáveis de ambiente do aplicativo.It can detect, for example, changes in the application environment variables. A ferramenta computa as diferenças e apresenta o que mudou.The tool computes the differences and presents what has changed. Ao contrário das alterações do Resource Manager, as informações de alteração da implantação de código podem não estar disponíveis imediatamente na ferramenta.Unlike Resource Manager changes, code deployment change information might not be available immediately in the tool. Para exibir as alterações mais recentes na análise de alterações, selecione Atualizar.To view the latest changes in Change Analysis, select Refresh.

Captura de tela do botão "examinar alterações agora"

Atualmente, todos os arquivos baseados em texto sob a raiz do site wwwroot com as seguintes extensões têm suporte:Currently all text-based files under site root wwwroot with the following extensions are supported:

  • *. config*.config
  • *. xml*.xml
  • *. JSON*.json
  • *. Gem*.gem
  • *. yml*.yml
  • *.txt*.txt
  • *. ini*.ini
  • *. env*.env

Alterações de dependênciaDependency changes

As alterações nas dependências de recursos também podem causar problemas em um recurso.Changes to resource dependencies can also cause issues in a resource. Por exemplo, se um aplicativo Web chamar um cache Redis, a SKU do cache Redis poderá afetar o desempenho do aplicativo Web.For example, if a web app calls into a Redis cache, the Redis cache SKU could affect the web app performance. Outro exemplo é se a porta 22 foi fechada no grupo de segurança de rede de uma máquina virtual, isso causará erros de conectividade.Another example is if port 22 was closed in a Virtual Machine's Network Security Group, it will cause connectivity errors.

Navegador de problemas de diagnóstico e resolução de aplicativos Web (versão prévia)Web App diagnose and solve problems navigator (Preview)

Para detectar alterações nas dependências, a análise de alterações verifica o registro DNS do aplicativo Web.To detect changes in dependencies, Change Analysis checks the web app's DNS record. Dessa forma, ele identifica as alterações em todos os componentes de aplicativo que podem causar problemas.In this way, it identifies changes in all app components that could cause issues. Atualmente, há suporte para as seguintes dependências no aplicativo Web diagnosticar e solucionar problemas | Navegador (versão prévia):Currently the following dependencies are supported in Web App Diagnose and solve problems | Navigator (Preview):

  • Aplicativos WebWeb Apps
  • Armazenamento do AzureAzure Storage
  • SQL do AzureAzure SQL

A análise de alterações do aplicativo detecta recursos relacionados.Application Change Analysis detects related resources. Exemplos comuns são grupo de segurança de rede, rede virtual, gateway de aplicativo e Load Balancer relacionados a uma máquina virtual.Common examples are Network Security Group, Virtual Network, Application Gateway, and Load Balancer related to a Virtual Machine. Os recursos de rede geralmente são provisionados automaticamente no mesmo grupo de recursos que os recursos que o utilizam, portanto, filtrar as alterações por grupo de recursos mostrará todas as alterações para a máquina virtual e recursos de rede relacionados.The network resources are usually automatically provisioned in the same resource group as the resources using it, so filtering the changes by resource group will show all changes for the Virtual Machine and related networking resources.

Captura de tela de alterações de rede

Habilitação do serviço de análise de alteração do aplicativoApplication Change Analysis service enablement

O serviço de análise de alterações do aplicativo calcula e agrega dados de alteração das fontes de dados mencionadas acima.The Application Change Analysis service computes and aggregates change data from the data sources mentioned above. Ele fornece um conjunto de análises para que os usuários naveguem facilmente por todas as alterações de recursos e identifiquem qual alteração é relevante no contexto de solução de problemas ou monitoramento.It provides a set of analytics for users to easily navigate through all resource changes and to identify which change is relevant in the troubleshooting or monitoring context. O provedor de recursos "Microsoft. ChangeAnalysis" precisa ser registrado com uma assinatura para o Azure Resource Manager propriedades rastreadas e as configurações de proxy alteram os dados para que estejam disponíveis."Microsoft.ChangeAnalysis" resource provider needs to be registered with a subscription for the Azure Resource Manager tracked properties and proxied settings change data to be available. À medida que você insere a ferramenta diagnosticar e solucionar problemas do aplicativo Web ou ativa a guia autônomo da análise de alterações, esse provedor de recursos é registrado automaticamente.As you enter the Web App diagnose and solve problems tool or bring up the Change Analysis standalone tab, this resource provider is automatically registered. Para alterações no convidado do aplicativo Web, a habilitação separada é necessária para a verificação de arquivos de código em um aplicativo Web.For web app in-guest changes, separate enablement is required for scanning code files within a web app. Para obter mais informações, consulte análise de alterações na seção ferramenta diagnosticar e solucionar problemas mais adiante neste artigo para obter mais detalhes.For more information, see Change Analysis in the Diagnose and solve problems tool section later in this article for more details.

CostCost

A análise de alterações do aplicativo é um serviço gratuito-ela não incorre em nenhum custo de cobrança para assinaturas com ela habilitada.Application Change Analysis is a free service - it does not incur any billing cost to subscriptions with it enabled. O serviço também não tem nenhum impacto no desempenho para a verificação de alterações de propriedades de recursos do Azure.The service also does not have any performance impact for scanning Azure Resource properties changes. Quando você habilita a análise de alterações para aplicativos Web no arquivo convidado (ou habilita a ferramenta diagnosticar e resolver problemas), ele terá um impacto insignificante no desempenho do aplicativo Web e nenhum custo de cobrança.When you enable Change Analysis for web apps in-guest file changes (or enable the Diagnose and Solve problems tool), it will have negligible performance impact on the web app and no billing cost.

Habilitar a análise de alterações em escala para o arquivo de aplicativo Web no convidado e as alterações de variável de ambienteEnable Change Analysis at scale for Web App in-guest file and environment variable changes

Se sua assinatura inclui vários aplicativos Web, a habilitação do serviço no nível do aplicativo Web seria ineficiente.If your subscription includes numerous web apps, enabling the service at the level of the web app would be inefficient. Execute o script a seguir para habilitar todos os aplicativos Web em sua assinatura.Run the following script to enable all web apps in your subscription.

Pré-requisitos:Pre-requisites:

Execute o seguinte script:Run the following script:

# Log in to your Azure subscription
Connect-AzAccount

# Get subscription Id
$SubscriptionId = Read-Host -Prompt 'Input your subscription Id'

# Make Feature Flag visible to the subscription
Set-AzContext -SubscriptionId $SubscriptionId

# Register resource provider
Register-AzResourceProvider -ProviderNamespace "Microsoft.ChangeAnalysis"

# Enable each web app
$webapp_list = Get-AzWebApp | Where-Object {$_.kind -eq 'app'}
foreach ($webapp in $webapp_list)
{
    $tags = $webapp.Tags
    $tags[“hidden-related:diagnostics/changeAnalysisScanEnabled”]=$true
    Set-AzResource -ResourceId $webapp.Id -Tag $tags -Force
}

Próximas etapasNext steps