Skip to content

Commit 0fda8c9

Browse files
authored
Merge pull request #78492 from ShannonLeavitt/change-analysis
edit pass: change-analysis
2 parents 030ac58 + d838043 commit 0fda8c9

File tree

1 file changed

+74
-72
lines changed

1 file changed

+74
-72
lines changed
Lines changed: 74 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Azure Monitor application change analysis - Discover changes that may impact live site issues/outages with Azure Monitor application change analysis | Microsoft Docs
3-
description: Troubleshoot application live site issues on Azure App Services with Azure Monitor application change analysis
2+
title: Use Application Change Analysis in Azure Monitor to find web-app issues | Microsoft Docs
3+
description: Use Application Change Analysis in Azure Monitor to troubleshoot application issues on live sites on Azure App Service.
44
services: application-insights
55
author: cawams
66
manager: carmonm
@@ -12,125 +12,127 @@ ms.date: 05/07/2019
1212
ms.author: cawa
1313
---
1414

15-
# Application Change Analysis (public preview)
15+
# Use Application Change Analysis (preview) in Azure Monitor
1616

17-
When a live site issue/outage occurs, determining root cause quickly is critical. Standard monitoring solutions may help you rapidly identify that there is a problem, and often even which component is failing. But this won't always lead to an immediate explanation for why the failure is occurring. Your site worked five minutes ago, now it's broken. What changed in the last five minutes? This is the question that the new feature Azure Monitor application change analysis is designed to answer. By building on the power of the [Azure Resource Graph](https://docs.microsoft.com/azure/governance/resource-graph/overview) application change analysis provides insight into your Azure application changes to increase observability and reduce MTTR (Mean Time To Repair).
17+
When a live site issue or outage occurs, quickly determining the root cause is critical. Standard monitoring solutions might alert you to a problem. They might even indicate which component is failing. But this alert won't always immediately explain the failure's cause. You know your site worked five minutes ago, and now it's broken. What changed in the last five minutes? This is the question that Application Change Analysis is designed to answer in Azure Monitor.
18+
19+
Building on the power of [Azure Resource Graph](https://docs.microsoft.com/azure/governance/resource-graph/overview), Change Analysis provides insights into your Azure application changes to increase observability and reduce MTTR (mean time to repair).
1820

1921
> [!IMPORTANT]
20-
> Azure Monitor application change analysis is currently in public preview.
21-
> This preview version is provided without a service level agreement, and it's not recommended for production workloads. Certain features might not be supported or might have constrained capabilities.
22-
> For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
22+
> Change Analysis is currently in preview. This preview version is provided without a service-level agreement. This version is not recommended for production workloads. Some features might not be supported or might have constrained capabilities. For more information, see [Supplemental terms of use for Microsoft Azure previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
2323
24-
## Overview of Change Analysis service
25-
The change analysis service detects various types of changes from infrastructure layer all the way to application deployment. It is a subscription level Azure resource provider that looks into resource changes in the subscription and provides data for various diagnostics tools to help users understand what changes might have caused issues.
24+
## Overview
2625

27-
The following diagram illustrates the architecture of change analysis service:
28-
![Architecture diagram for how change analysis service obtains change data and provide data to client tools](./media/change-analysis/overview.png)
26+
Change Analysis detects various types of changes, from the infrastructure layer all the way to application deployment. It's a subscription-level Azure resource provider that checks resource changes in the subscription. Change Analysis provides data for various diagnostic tools to help users understand what changes might have caused issues.
2927

30-
Currently the tool is integrated into the App Services web app diagnose and solve problems experience. See *Change Analysis service for App Services Web App* section on how to enable and view changes made to a web app.
28+
The following diagram illustrates the architecture of Change Analysis:
3129

32-
### Azure Resource Manager deployment changes
33-
Leveraging [Azure Resource Graph](https://docs.microsoft.com/azure/governance/resource-graph/overview) the change analysis tool provides a historical record of how the Azure resources that host your application have changed over time. For example, if a web app had a tag added to it, the change will be reflected in the change analysis tool.
34-
This information is always available as long as the `Microsoft.ChangeAnalysis` resource provider is onboarded to the Azure subscription.
30+
![Architecture diagram of how Change Analysis gets change data and provides it to client tools](./media/change-analysis/overview.png)
3531

36-
### Web Application deployment and configuration changes
37-
Change Analysis tool captures deployment and configuration state of an application every 4 hours to compute the differences and present what has changed. Examples of such changes include application environment variable changes, IP configuration rule changes, Managed Service Identity changes, SSL settings changes, and so on.
38-
Unlike Resource Manager changes, this type of change information may not be available immediately in the tool. To view the latest changes, use the 'Scan changes now' button in the tool.
32+
Currently Change Analysis is integrated into the **Diagnose and solve problems** experience in the App Service web app. To enable change detection and view changes in the web app, see the *Change Analysis for the Web Apps feature* section later in this article.
3933

40-
![Screenshot of scan for changes now button in Diagnose and Solve problems tool with change analysis integration for app service web app](./media/change-analysis/scan-changes.png)
34+
### Azure Resource Manager deployment changes
4135

42-
### Dependency changes
43-
Dependencies resource could also be the cause of issues. For example, if a web app calls into a Redis cache, the web app performance can be impacted by Redis cache SKU. By looking into the web app DNS record change analysis service also present the dependencies change information to identify changes in all components of an app that could have caused issues.
36+
Using [Azure Resource Graph](https://docs.microsoft.com/azure/governance/resource-graph/overview), Change Analysis provides a historical record of how the Azure resources that host your application have changed over time. Change Analysis can detect, for example, changes in IP configuration rules, managed identities, and SSL settings. So if a tag is added to a web app, Change Analysis reflects the change. This information is available as long as the `Microsoft.ChangeAnalysis` resource provider is enabled in the Azure subscription.
4437

38+
### Changes in web app deployment and configuration
4539

46-
## Change Analysis service for App Services Web App
40+
Change Analysis captures the deployment and configuration state of an application every 4 hours. It can detect, for example, changes in the application environment variables. The tool computes the differences and presents what has changed. Unlike Resource Manager changes, code deployment change information might not be available immediately in the tool. To view the latest changes in Change Analysis, select **Scan changes now**.
4741

48-
Azure Monitor application change analysis is currently built into the self-service **Diagnose and solve problems** experience, which can be accessed from the **Overview** section of your Azure App Service application:
42+
![Screenshot of the "Scan changes now" button](./media/change-analysis/scan-changes.png)
4943

50-
![Screenshot of Azure App Service overview page with red boxes around overview button and diagnose and solve problems button](./media/change-analysis/change-analysis.png)
44+
### Dependency changes
5145

52-
### Enable change analysis in Diagnose and solve problems tool
46+
Changes to resource dependencies can also cause issues in a web app. For example, if a web app calls into a Redis cache, the Redis cache SKU could affect the web app performance. To detect changes in dependencies, Change Analysis checks the web app's DNS record. In this way, it identifies changes in all app components that could cause issues.
5347

54-
1. Select **Availability and Performance**
48+
## Change Analysis for the Web Apps feature
5549

56-
![screenshot of availability and performance troubleshooting options](./media/change-analysis/availability-and-performance.png)
50+
In Azure Monitor, Change Analysis is currently built into the self-service **Diagnose and solve problems** experience. Access this experience from the **Overview** page of your App Service application.
5751

58-
2. Click the **Application Crashes** tile.
52+
![Screenshot of the "Overview" button and the "Diagnose and solve problems" button](./media/change-analysis/change-analysis.png)
5953

60-
![Screenshot with application crashes tile](./media/change-analysis/application-crashes-tile.png)
54+
### Enable Change Analysis in the Diagnose and solve problems tool
6155

62-
3. To enable **Change Analysis** select **Enable now**.
56+
1. Select **Availability and Performance**.
6357

64-
![screenshot of availability and performance troubleshooting options](./media/change-analysis/application-crashes.png)
58+
![Screenshot of the "Availability and Performance" troubleshooting options](./media/change-analysis/availability-and-performance.png)
6559

66-
4. To take advantage of the full change analysis functionality set **Change Analysis**, **Scan for code changes**, and **Always on** to **On** and select **Save**.
60+
1. Select **Application Crashes**.
6761

68-
![Screenshot of the Azure App Service enable change analysis user interface](./media/change-analysis/change-analysis-on.png)
62+
![Screenshot of the "Application Crashes" button](./media/change-analysis/application-crashes-tile.png)
6963

70-
If **Change Analysis** is enabled, you will be able to detect resource level changes. If **Scan for code changes** is enabled, you will also see deployment files and site configuration changes. Enabling **Always on** will optimize the change scanning performance, but may incur additional costs from a billing perspective.
64+
1. To enable Change Analysis, select **Enable now**.
7165

72-
5. Once everything is enabled, selecting **Diagnose and solve problems** > **Availability and Performance** > **Application Crashes** will allow you to access the change analysis experience. The graph will summarize the type of changes that happened over time along with details on those changes:
66+
![Screenshot of "Application Crashes" options](./media/change-analysis/application-crashes.png)
7367

74-
![Screenshot of change diff view](./media/change-analysis/change-view.png)
68+
1. To take advantage of the full Change Analysis functionality, turn on **Change Analysis**, **Scan for code changes**, and **Always on**. Then select **Save**.
7569

70+
![Screenshot of the "Enable Change Analysis" user interface](./media/change-analysis/change-analysis-on.png)
7671

77-
### Enable Change Analysis service at scale
78-
If you have a lot of web apps in your Subscription, enable the service at per web app level will be inefficient. Here are some alternative onboarding instructions.
72+
- Enable **Change Analysis** to detect resource-level changes.
73+
- Enable **Scan for code changes** to see deployment files and site configuration changes.
74+
- Enable **Always on** to optimize the performance of change scanning. But keep in mind that this setting might result in additional billing charges.
7975

80-
#### Registering Change Analysis resource provider for your subscription
76+
1. To access Change Analysis, select **Diagnose and solve problems** > **Availability and Performance** > **Application Crashes**. You'll see a graph that summarizes the type of changes over time along with details on those changes:
8177

82-
1. Register Change Analysis preview feature flag
78+
![Screenshot of the change diff view](./media/change-analysis/change-view.png)
8379

84-
Since this feature is in preview, you need to firstly register the feature flag for it to be visible to your subscription.
85-
- Open [Azure Cloud Shell](https://azure.microsoft.com/features/cloud-shell/).
8680

87-
![Screenshot of change Azure Cloud Shell](./media/change-analysis/cloud-shell.png)
81+
### Enable Change Analysis at scale
8882

89-
- Change the shell type to PowerShell:
83+
If your subscription includes numerous web apps, enabling the service at the level of the web app would be inefficient. In this case, follow these alternative instructions.
9084

91-
![Screenshot of change Azure Cloud Shell](./media/change-analysis/choose-powershell.png)
85+
### Register the Change Analysis resource provider for your subscription
9286

93-
- Run the following PowerShell command:
87+
1. Register the Change Analysis feature flag (preview). Because the feature flag is in preview, you need to register it to make it visible to your subscription:
9488

95-
``` PowerShell
89+
1. Open [Azure Cloud Shell](https://azure.microsoft.com/features/cloud-shell/).
9690

97-
Set-AzContext -Subscription <your_subscription_id> #set script execution context to the subscription you are trying to onboard
98-
Get-AzureRmProviderFeature -ProviderNamespace "Microsoft.ChangeAnalysis" -ListAvailable #Check for feature flag availability
99-
Register-AzureRmProviderFeature -FeatureName PreviewAccess -ProviderNamespace Microsoft.ChangeAnalysis #Register feature flag
91+
![Screenshot of change Cloud Shell](./media/change-analysis/cloud-shell.png)
10092

101-
```
93+
1. Change the shell type to **PowerShell**.
10294

103-
2. Register Change Analysis Resource Provider for the subscription
95+
![Screenshot of change Cloud Shell](./media/change-analysis/choose-powershell.png)
10496

105-
- Navigate to Subscriptions, select the subscription you want to onboard the change service, then click Resource providers:
97+
1. Run the following PowerShell command:
10698

107-
![Screenshot for registering Change Analysis RP from Subscriptions blade](./media/change-analysis/register-rp.png)
99+
``` PowerShell
100+
Set-AzContext -Subscription <your_subscription_id> #set script execution context to the subscription you are trying to enable
101+
Get-AzureRmProviderFeature -ProviderNamespace "Microsoft.ChangeAnalysis" -ListAvailable #Check for feature flag availability
102+
Register-AzureRmProviderFeature -FeatureName PreviewAccess -ProviderNamespace Microsoft.ChangeAnalysis #Register feature flag
103+
```
104+
105+
1. Register the Change Analysis resource provider for the subscription.
108106
109-
- Select *Microsoft.ChangeAnalysis* and click *Register* on the top of the page.
107+
- Go to **Subscriptions**, and select the subscription you want to enable in the change service. Then select resource providers:
110108
111-
- Once Resource Provider is onboarded, follow instructions from *Unable to fetch Change Analysis information* below to set hidden tag on the web app to enable deployment level change detection on the web app.
109+
![Screenshot showing how to register the Change Analysis resource provider](./media/change-analysis/register-rp.png)
112110
113-
3. Alternatively to step 2 above, you can register for the Resource Provider via PowerShell script:
111+
- Select **Microsoft.ChangeAnalysis**. Then at the top of the page, select **Register**.
114112
115-
```PowerShell
116-
Get-AzureRmResourceProvider -ListAvailable | Select-Object ProviderNamespace, RegistrationState #Check if RP is ready for registration
113+
- After the resource provider is enabled, you can set a hidden tag on the web app to detect changes at the level of deployment. To set a hidden tag, follow the instructions under **Unable to fetch Change Analysis information**.
117114
118-
Register-AzureRmResourceProvider -ProviderNamespace "Microsoft.ChangeAnalysis" #Register the Change Analysis RP
119-
```
115+
- Alternatively, you can use a PowerShell script to register the resource provider:
120116
121-
4. To set a hidden tag on a web app using PowerShell, run the following command:
117+
```PowerShell
118+
Get-AzureRmResourceProvider -ListAvailable | Select-Object ProviderNamespace, RegistrationState #Check if RP is ready for registration
119+
120+
Register-AzureRmResourceProvider -ProviderNamespace "Microsoft.ChangeAnalysis" #Register the Change Analysis RP
121+
```
122122
123-
```powershell
124-
$webapp=Get-AzWebApp -Name <name_of_your_webapp>
125-
$tags = $webapp.Tags
126-
$tags[“hidden-related:diagnostics/changeAnalysisScanEnabled”]=$true
127-
Set-AzResource -ResourceId <your_webapp_resourceid> -Tag $tag
128-
```
123+
To use PowerShell to set a hidden tag on a web app, run the following command:
124+
125+
```powershell
126+
$webapp=Get-AzWebApp -Name <name_of_your_webapp>
127+
$tags = $webapp.Tags
128+
$tags[“hidden-related:diagnostics/changeAnalysisScanEnabled”]=$true
129+
Set-AzResource -ResourceId <your_webapp_resourceid> -Tag $tag
130+
```
129131
130-
> [!NOTE]
131-
> Once the hidden tag is added, you may still need to initially wait up to 4 hours to be able to first view changes. This is due to the 4 hour freqeuncy that the change analysis service uses to scan your web app while limiting the performance impact of the scan.
132+
> [!NOTE]
133+
> After you add the hidden tag, you might still need to wait up to 4 hours before you start seeing changes. Results are delayed because Change Analysis scans your web app only every 4 hours. The 4-hour schedule limits the scan's performance impact.
132134
133135
## Next steps
134136
135-
- Improve your monitoring of Azure App Services [by enabling the Application Insights features](azure-web-apps.md) of Azure Monitor.
136-
- Enhance your understanding of the [Azure Resource Graph](https://docs.microsoft.com/azure/governance/resource-graph/overview) which helps power Azure Monitor application change analysis.
137+
- Monitor App Service more effectively by [enabling Application Insights features](azure-web-apps.md) in Azure Monitor.
138+
- Learn more about [Azure Resource Graph](https://docs.microsoft.com/azure/governance/resource-graph/overview), which helps power Change Analysis.

0 commit comments

Comments
 (0)