You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
4
4
services: application-insights
5
5
author: cawams
6
6
manager: carmonm
@@ -12,125 +12,127 @@ ms.date: 05/07/2019
12
12
ms.author: cawa
13
13
---
14
14
15
-
# Application Change Analysis (public preview)
15
+
# Use Application Change Analysis (preview) in Azure Monitor
16
16
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).
18
20
19
21
> [!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/).
23
23
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
26
25
27
-
The following diagram illustrates the architecture of change analysis service:
28
-

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.
29
27
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:
31
29
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
+

35
31
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.
39
33
40
-

34
+
### Azure Resource Manager deployment changes
41
35
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.
44
37
38
+
### Changes in web app deployment and configuration
45
39
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**.
47
41
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
+

49
43
50
-

44
+
### Dependency changes
51
45
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.
53
47
54
-
1. Select **Availability and Performance**
48
+
## Change Analysis for the Web Apps feature
55
49
56
-

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.
57
51
58
-
2. Click the **Application Crashes** tile.
52
+

59
53
60
-

54
+
### Enable Change Analysis in the Diagnose and solve problems tool
61
55
62
-
3. To enable **Change Analysis** select **Enable now**.
56
+
1. Select **Availability and Performance**.
63
57
64
-

58
+

65
59
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**.
67
61
68
-

62
+

69
63
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**.
71
65
72
-
5. Once everything is enabled, selecting **Diagnose and solve problems** > **Availability and Performance** > **Application Crashes** will allow you to access the changeanalysis experience. The graph will summarize the type of changes that happened over time along with details on those changes:
66
+

73
67
74
-

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**.
75
69
70
+

76
71
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.
79
75
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:
81
77
82
-
1. Register Change Analysis preview feature flag
78
+

83
79
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/).
86
80
87
-

81
+
### Enable Change Analysis at scale
88
82
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.
90
84
91
-

85
+
### Register the Change Analysis resource provider for your subscription
92
86
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:
94
88
95
-
```PowerShell
89
+
1. Open [Azure Cloud Shell](https://azure.microsoft.com/features/cloud-shell/).
96
90
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
+

100
92
101
-
```
93
+
1. Change the shell type to **PowerShell**.
102
94
103
-
2. Register Change Analysis Resource Provider for the subscription
95
+

104
96
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:
106
98
107
-

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.
108
106
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:
110
108
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
+

112
110
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**.
114
112
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**.
117
114
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:
120
116
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
> 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.
132
134
133
135
## Next steps
134
136
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