Service | Microsoft Docs article | Related commit history on GitHub | Change details |
---|---|---|---|
active-directory-b2c | Analytics With Application Insights | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/analytics-with-application-insights.md | zone_pivot_groups: b2c-policy-type ::: zone pivot="b2c-custom-policy" -In Azure Active Directory B2C (Azure AD B2C), you can send event data directly to [Application Insights](../azure-monitor/app/app-insights-overview.md) by using the instrumentation key provided to Azure AD B2C. With an Application Insights technical profile, you can get detailed and customized event logs for your user journeys to: +In Azure Active Directory B2C (Azure AD B2C), you can send event data directly to [Application Insights](/azure/azure-monitor/app/app-insights-overview) by using the instrumentation key provided to Azure AD B2C. With an Application Insights technical profile, you can get detailed and customized event logs for your user journeys to: - Gain insights on user behavior. - Troubleshoot your own policies in development or in production. To disable Application Insights logs, change the `DisableTelemetry` metadata to ## Next steps -Learn how to [create custom KPI dashboards using Azure Application Insights](../azure-monitor/app/overview-dashboard.md#create-custom-kpi-dashboards-using-application-insights). +Learn how to [create custom KPI dashboards using Azure Application Insights](/azure/azure-monitor/app/overview-dashboard#create-custom-kpi-dashboards-using-application-insights). ::: zone-end |
active-directory-b2c | Azure Monitor | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/azure-monitor.md | Use Azure Monitor to route Azure Active Directory B2C (Azure AD B2C) sign in and You can route log events to: - An Azure [storage account](../storage/blobs/storage-blobs-introduction.md).-- A [Log Analytics workspace](../azure-monitor/essentials/resource-logs.md#send-to-log-analytics-workspace) (to analyze data, create dashboards, and alert on specific events).+- A [Log Analytics workspace](/azure/azure-monitor/essentials/resource-logs#send-to-log-analytics-workspace) (to analyze data, create dashboards, and alert on specific events). - An Azure [event hub](../event-hubs/event-hubs-about.md) (and integrate with your Splunk and Sumo Logic instances). ![Azure Monitor](./media/azure-monitor/azure-monitor-flow.png) To enable _Diagnostic settings_ in Microsoft Entra ID within your Azure AD B2C t > [!TIP] > Azure Lighthouse is typically used to manage resources for multiple customers. However, it can also be used to manage resources **within an enterprise that has multiple Microsoft Entra tenants of its own**, which is what we are doing here, except that we are only delegating the management of single resource group. -After you complete the steps in this article, you'll have created a new resource group (here called _azure-ad-b2c-monitor_) and have access to that same resource group that contains the [Log Analytics workspace](../azure-monitor/logs/quick-create-workspace.md) in your **Azure AD B2C** portal. You'll also be able to transfer the logs from Azure AD B2C to your Log Analytics workspace. +After you complete the steps in this article, you'll have created a new resource group (here called _azure-ad-b2c-monitor_) and have access to that same resource group that contains the [Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace) in your **Azure AD B2C** portal. You'll also be able to transfer the logs from Azure AD B2C to your Log Analytics workspace. During this deployment, you'll authorize a user or group in your Azure AD B2C directory to configure the Log Analytics workspace instance within the tenant that contains your Azure subscription. To create the authorization, you deploy an [Azure Resource Manager](../azure-resource-manager/index.yml) template to the subscription that contains the Log Analytics workspace. A **Log Analytics workspace** is a unique environment for Azure Monitor log data 1. Sign in to the [Azure portal](https://portal.azure.com). 1. If you have access to multiple tenants, select the **Settings** icon in the top menu to switch to your Microsoft Entra ID tenant from the **Directories + subscriptions** menu.-1. [Create a Log Analytics workspace](../azure-monitor/logs/quick-create-workspace.md). This example uses a Log Analytics workspace named _AzureAdB2C_, in a resource group named _azure-ad-b2c-monitor_. +1. [Create a Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace). This example uses a Log Analytics workspace named _AzureAdB2C_, in a resource group named _azure-ad-b2c-monitor_. ## 3. Delegate resource management After you've deployed the template and waited a few minutes for the resource pro Diagnostic settings define where logs and metrics for a resource should be sent. Possible destinations are: -- [Azure storage account](../azure-monitor/essentials/resource-logs.md#send-to-azure-storage)-- [Event hubs](../azure-monitor/essentials/resource-logs.md#send-to-azure-event-hubs) solutions-- [Log Analytics workspace](../azure-monitor/essentials/resource-logs.md#send-to-log-analytics-workspace)+- [Azure storage account](/azure/azure-monitor/essentials/resource-logs#send-to-azure-storage) +- [Event hubs](/azure/azure-monitor/essentials/resource-logs#send-to-azure-event-hubs) solutions +- [Log Analytics workspace](/azure/azure-monitor/essentials/resource-logs#send-to-log-analytics-workspace) In this example, we use the Log Analytics workspace to create a dashboard. To configure monitoring settings for Azure AD B2C activity logs: 1. Select **Save**. > [!NOTE]-> It can take up to 15 minutes after an event is emitted for it to [appear in a Log Analytics workspace](../azure-monitor/logs/data-ingestion-time.md). Also, learn more about [Active Directory reporting latencies](../active-directory/reports-monitoring/reference-azure-ad-sla-performance.md), which can impact the staleness of data and play an important role in reporting. +> It can take up to 15 minutes after an event is emitted for it to [appear in a Log Analytics workspace](/azure/azure-monitor/logs/data-ingestion-time). Also, learn more about [Active Directory reporting latencies](../active-directory/reports-monitoring/reference-azure-ad-sla-performance.md), which can impact the staleness of data and play an important role in reporting. If you see the error message, _To set up Diagnostic settings to use Azure Monitor for your Azure AD B2C directory, you need to set up delegated resource management_, make sure you sign in with a user who is a member of the [security group](#32-select-a-security-group) and [select your subscription](#4-select-your-subscription). Now you can configure your Log Analytics workspace to visualize your data and co ### 6.1 Create a Query -Log queries help you to fully use the value of the data collected in Azure Monitor Logs. A powerful query language allows you to join data from multiple tables, aggregate large sets of data, and perform complex operations with minimal code. Virtually any question can be answered and analysis performed as long as the supporting data has been collected, and you understand how to construct the right query. For more information, see [Get started with log queries in Azure Monitor](../azure-monitor/logs/get-started-queries.md). +Log queries help you to fully use the value of the data collected in Azure Monitor Logs. A powerful query language allows you to join data from multiple tables, aggregate large sets of data, and perform complex operations with minimal code. Virtually any question can be answered and analysis performed as long as the supporting data has been collected, and you understand how to construct the right query. For more information, see [Get started with log queries in Azure Monitor](/azure/azure-monitor/logs/get-started-queries). 1. Sign in to the [Azure portal](https://portal.azure.com). 1. If you have access to multiple tenants, select the **Settings** icon in the top menu to switch to your Microsoft Entra ID tenant from the **Directories + subscriptions** menu. For more samples, see the Azure AD B2C [SIEM GitHub repo](https://aka.ms/b2csiem ### 6.2 Create a Workbook -Workbooks provide a flexible canvas for data analysis and the creation of rich visual reports within the Azure portal. They allow you to tap into multiple data sources from across Azure, and combine them into unified interactive experiences. For more information, see [Azure Monitor Workbooks](../azure-monitor/visualize/workbooks-overview.md). +Workbooks provide a flexible canvas for data analysis and the creation of rich visual reports within the Azure portal. They allow you to tap into multiple data sources from across Azure, and combine them into unified interactive experiences. For more information, see [Azure Monitor Workbooks](/azure/azure-monitor/visualize/workbooks-overview). Follow the instructions below to create a new workbook using a JSON Gallery Template. This workbook provides a **User Insights** and **Authentication** dashboard for Azure AD B2C tenant. The workbook will display reports in the form of a dashboard. ## Create alerts -Alerts are created by alert rules in Azure Monitor and can automatically run saved queries or custom log searches at regular intervals. You can create alerts based on specific performance metrics or when certain events occur. You can also create alerts on absence of an event, or when a number of events occur within a particular time window. For example, alerts can be used to notify you when average number of sign-ins exceeds a certain threshold. For more information, see [Create alerts](../azure-monitor/alerts/alerts-create-new-alert-rule.md). +Alerts are created by alert rules in Azure Monitor and can automatically run saved queries or custom log searches at regular intervals. You can create alerts based on specific performance metrics or when certain events occur. You can also create alerts on absence of an event, or when a number of events occur within a particular time window. For example, alerts can be used to notify you when average number of sign-ins exceeds a certain threshold. For more information, see [Create alerts](/azure/azure-monitor/alerts/alerts-create-new-alert-rule). -Use the following instructions to create a new Azure Alert, which will send an [email notification](../azure-monitor/alerts/action-groups.md) whenever there's a 25% drop in the **Total Requests** compared to previous period. Alert will run every 5 minutes and look for the drop in the last hour compared to the hour before it. The alerts are created using Kusto query language. +Use the following instructions to create a new Azure Alert, which will send an [email notification](/azure/azure-monitor/alerts/action-groups) whenever there's a 25% drop in the **Total Requests** compared to previous period. Alert will run every 5 minutes and look for the drop in the last hour compared to the hour before it. The alerts are created using Kusto query language. 1. Sign in to the [Azure portal](https://portal.azure.com). 1. If you have access to multiple tenants, select the **Settings** icon in the top menu to switch to your Microsoft Entra ID tenant from the **Directories + subscriptions** menu. After the alert is created, go to **Log Analytics workspace** and select **Alert ### Configure action groups -Azure Monitor and Service Health alerts use action groups to notify users that an alert has been triggered. You can include sending a voice call, SMS, email; or triggering various types of automated actions. Follow the guidance [Create and manage action groups in the Azure portal](../azure-monitor/alerts/action-groups.md) +Azure Monitor and Service Health alerts use action groups to notify users that an alert has been triggered. You can include sending a voice call, SMS, email; or triggering various types of automated actions. Follow the guidance [Create and manage action groups in the Azure portal](/azure/azure-monitor/alerts/action-groups) Here's an example of an alert notification email. Here's an example of an alert notification email. To onboard multiple Azure AD B2C tenant logs to the same Log Analytics Workspace (or Azure storage account, or event hub), you'll need separate deployments with different **Msp Offer Name** values. Make sure your Log Analytics workspace is in the same resource group as the one you configured in [Create or choose resource group](#1-create-or-choose-resource-group). -When working with multiple Log Analytics workspaces, use [Cross Workspace Query](../azure-monitor/logs/cross-workspace-query.md) to create queries that work across multiple workspaces. For example, the following query performs a join of two Audit logs from different tenants based on the same Category (for example, Authentication): +When working with multiple Log Analytics workspaces, use [Cross Workspace Query](/azure/azure-monitor/logs/cross-workspace-query) to create queries that work across multiple workspaces. For example, the following query performs a join of two Audit logs from different tenants based on the same Category (for example, Authentication): ```kusto workspace("AD-B2C-TENANT1").AuditLogs workspace("AD-B2C-TENANT1").AuditLogs ## Change the data retention period -Azure Monitor Logs are designed to scale and support collecting, indexing, and storing massive amounts of data per day from any source in your enterprise or deployed in Azure. By default, logs are retained for 30 days, but retention duration can be increased to up to two years. Learn how to [manage usage and costs with Azure Monitor Logs](../azure-monitor/logs/cost-logs.md). After you select the pricing tier, you can [Change the data retention period](../azure-monitor/logs/data-retention-configure.md). +Azure Monitor Logs are designed to scale and support collecting, indexing, and storing massive amounts of data per day from any source in your enterprise or deployed in Azure. By default, logs are retained for 30 days, but retention duration can be increased to up to two years. Learn how to [manage usage and costs with Azure Monitor Logs](/azure/azure-monitor/logs/cost-logs). After you select the pricing tier, you can [Change the data retention period](/azure/azure-monitor/logs/data-retention-configure). ## Disable monitoring data collection To stop collecting logs to your Log Analytics workspace, delete the diagnostic s 1. Sign in to the [Azure portal](https://portal.azure.com). 1. If you have access to multiple tenants, select the **Settings** icon in the top menu to switch to your Microsoft Entra ID tenant from the **Directories + subscriptions** menu. 1. Choose the resource group that contains the Log Analytics workspace. This example uses a resource group named _azure-ad-b2c-monitor_ and a Log Analytics workspace named `AzureAdB2C`.-1. [Delete the Logs Analytics workspace](../azure-monitor/logs/delete-workspace.md). +1. [Delete the Logs Analytics workspace](/azure/azure-monitor/logs/delete-workspace). 1. Select the **Delete** button to delete the resource group. ## Next steps - Find more samples in the Azure AD B2C [SIEM gallery](https://aka.ms/b2csiem). -- For more information about adding and configuring diagnostic settings in Azure Monitor, see [Tutorial: Collect and analyze resource logs from an Azure resource](../azure-monitor/essentials/monitor-azure-resource.md).+- For more information about adding and configuring diagnostic settings in Azure Monitor, see [Tutorial: Collect and analyze resource logs from an Azure resource](/azure/azure-monitor/essentials/monitor-azure-resource). - For information about streaming Microsoft Entra logs to an event hub, see [Tutorial: Stream Microsoft Entra logs to an Azure event hub](../active-directory/reports-monitoring/tutorial-azure-monitor-stream-logs-to-event-hub.md). |
active-directory-b2c | Partner Whoiam | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/partner-whoiam.md | The following diagram shows the implementation architecture. * [App Service](https://azure.microsoft.com/services/app-service/): Host the BRIMS API and admin portal services * [Microsoft Entra ID](https://azure.microsoft.com/services/active-directory/): Authenticate administrative users for the portal * [Azure Cosmos DB](https://azure.microsoft.com/services/cosmos-db/): Store and retrieve settings- * [Application Insights overview](../azure-monitor/app/app-insights-overview.md) (optional): Sign in to the API and the portal + * [Application Insights overview](/azure/azure-monitor/app/app-insights-overview) (optional): Sign in to the API and the portal 3. Deploy the BRIMS API and the BRIMS administration portal in your Azure environment. 4. Follow the documentation to configure your app. Use BRIMS for user identity verification. Azure AD B2C custom policy samples are in the BRIMS sign-up documentation. |
active-directory-b2c | Technicalprofiles | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/technicalprofiles.md | A *technical profile* provides a framework with a built-in mechanism to communic A technical profile enables these types of scenarios: -- [Application Insights](analytics-with-application-insights.md): Sends event data to [Application Insights](../azure-monitor/app/app-insights-overview.md).+- [Application Insights](analytics-with-application-insights.md): Sends event data to [Application Insights](/azure/azure-monitor/app/app-insights-overview). - [Microsoft Entra ID](active-directory-technical-profile.md): Provides support for the Azure AD B2C user management. - [Microsoft Entra multifactor authentication](multi-factor-auth-technical-profile.md): Provides support for verifying a phone number by using Microsoft Entra multifactor authentication. - [Claims transformation](claims-transformation-technical-profile.md): Calls output claims transformations to manipulate claims values, validate claims, or set default values for a set of output claims. |
active-directory-b2c | Troubleshoot With Application Insights | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/troubleshoot-with-application-insights.md | Here's a list of queries you can use to see the logs: The entries may be long. Export to CSV for a closer look. -For more information about querying, see [Overview of log queries in Azure Monitor](../azure-monitor/logs/log-query-overview.md). +For more information about querying, see [Overview of log queries in Azure Monitor](/azure/azure-monitor/logs/log-query-overview). ## See the logs in VS Code extension |
active-directory-b2c | Whats New Docs | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/whats-new-docs.md | Title: "What's new in Azure Active Directory business-to-customer (B2C)" description: "New and updated documentation for the Azure Active Directory business-to-customer (B2C)." Previously updated : 07/31/2024 Last updated : 09/11/2024 +## August 2024 ++This month, we changed Twitter to X in numerous articles and code samples. ++### Updated articles ++- [Tutorial: Configure Keyless with Azure Active Directory B2C](partner-keyless.md) - Editorial updates + ## July 2024 ### Updated articles Welcome to what's new in Azure Active Directory B2C documentation. This article ### Updated articles - [Define an OAuth2 custom error technical profile in an Azure Active Directory B2C custom policy](oauth2-error-technical-profile.md) - Error code updates-- [Configure authentication in a sample Python web app by using Azure AD B2C](configure-authentication-sample-python-web-app.md) - Python version update---## May 2024 --### New articles --- [Configure Transmit Security with Azure Active Directory B2C for risk detection and prevention](partner-transmit-security.md)--### Updated articles --- [Set up sign-up and sign-in with a LinkedIn account using Azure Active Directory B2C](identity-provider-linkedin.md) - Updated LinkedIn instructions-- [Page layout versions](page-layout.md) - Updated page layout versions-+- [Configure authentication in a sample Python web app by using Azure AD B2C](configure-authentication-sample-python-web-app.md) - Python version updates |
advisor | Advisor Alerts Arm | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-alerts-arm.md | - Title: Create Advisor alerts for new recommendations by using Resource Manager template -description: Learn how to set up an alert for new recommendations from Azure Advisor by using an Azure Resource Manager template (ARM template). -- Previously updated : 06/29/2020---# Quickstart: Create Advisor alerts on new recommendations by using an ARM template --This article shows you how to set up an alert for new recommendations from Azure Advisor by using an Azure Resource Manager template (ARM template). ---Whenever Advisor detects a new recommendation for one of your resources, an event is stored in an [Azure activity log](../azure-monitor/essentials/platform-logs-overview.md). You can set up alerts for these events from Advisor by using a recommendation-specific alerts creation experience. You can select a subscription and optionally a resource group to specify the resources that you want to receive alerts on. --You can also determine the types of recommendations by using these properties: --- Category-- Impact level-- Recommendation type--You can also configure the action that takes place when an alert is triggered by: --- Selecting an existing action group.-- Creating a new action group.--To learn more about action groups, see [Create and manage action groups](../azure-monitor/alerts/action-groups.md). --> [!NOTE] -> Advisor alerts are currently only available for High Availability, Performance, and Cost recommendations. Security recommendations aren't supported. --## Prerequisites --- If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.-- To run the commands from your local computer, install the Azure CLI or the Azure PowerShell modules. For more information, see [Install the Azure CLI](/cli/azure/install-azure-cli) and [Install Azure PowerShell](/powershell/azure/install-azure-powershell).--## Review the template --The following template creates an action group with an email target and enables all service health notifications for the target subscription. Save this template as *CreateAdvisorAlert.json*. --```json -{ - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "actionGroups_name": { - "defaultValue": "advisorAlert", - "type": "string" - }, - "activityLogAlerts_name": { - "defaultValue": "AdvisorAlertsTest", - "type": "string" - }, - "emailAddress": { - "defaultValue": "<email address>", - "type": "string" - } - }, - "variables": { - "alertScope": "[concat('/','subscriptions','/',subscription().subscriptionId)]" - }, - "resources": [ - { - "comments": "Action Group", - "type": "microsoft.insights/actionGroups", - "apiVersion": "2019-06-01", - "name": "[parameters('actionGroups_name')]", - "location": "Global", - "scale": null, - "dependsOn": [], - "tags": {}, - "properties": { - "groupShortName": "[parameters('actionGroups_name')]", - "enabled": true, - "emailReceivers": [ - { - "name": "[parameters('actionGroups_name')]", - "emailAddress": "[parameters('emailAddress')]" - } - ], - "smsReceivers": [], - "webhookReceivers": [] - } - }, - { - "comments": "Azure Advisor Activity Log Alert", - "type": "microsoft.insights/activityLogAlerts", - "apiVersion": "2017-04-01", - "name": "[parameters('activityLogAlerts_name')]", - "location": "Global", - "scale": null, - "tags": {}, - "properties": { - "scopes": [ - "[variables('alertScope')]" - ], - "condition": { - "allOf": [ - { - "field": "category", - "equals": "Recommendation" - }, - { - "field": "properties.recommendationCategory", - "equals": "Cost" - }, - { - "field": "properties.recommendationImpact", - "equals": "Medium" - }, - { - "field": "operationName", - "equals": "Microsoft.Advisor/recommendations/available/action" - } - ] - }, - "actions": { - "actionGroups": [ - { - "actionGroupId": "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]", - "webhookProperties": {} - } - ] - }, - "enabled": true, - "description": "" - }, - "dependsOn": [ - "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]" - ] - } - ] -} -``` --The template defines two resources: --- [Microsoft.Insights/actionGroups](/azure/templates/microsoft.insights/actiongroups)-- [Microsoft.Insights/activityLogAlerts](/azure/templates/microsoft.insights/activityLogAlerts)--## Deploy the template --Deploy the template by using any standard method for [deploying an ARM template](../azure-resource-manager/templates/deploy-portal.md), such as the following examples that use the CLI and PowerShell. Replace the sample values for `ResourceGroup`, and `emailAddress` with appropriate values for your environment. The workspace name must be unique among all Azure subscriptions. --# [CLI](#tab/CLI) --```azurecli -az login -az deployment group create --name CreateAdvisorAlert --resource-group my-resource-group --template-file CreateAdvisorAlert.json --parameters emailAddress='user@contoso.com' -``` --# [PowerShell](#tab/PowerShell) --```powershell -Connect-AzAccount -Select-AzSubscription -SubscriptionName my-subscription -New-AzResourceGroupDeployment -Name CreateAdvisorAlert -ResourceGroupName my-resource-group -TemplateFile CreateAdvisorAlert.json -emailAddress user@contoso.com -``` ----## Validate the deployment --Verify that the workspace was created by using one of the following commands. Replace the sample values for **Resource Group** with the value that you used in the previous example. --# [CLI](#tab/CLI) --```azurecli -az monitor activity-log alert show --resource-group my-resource-group --name AdvisorAlertsTest -``` --# [PowerShell](#tab/PowerShell) --```powershell -Get-AzActivityLogAlert -ResourceGroupName my-resource-group -Name AdvisorAlertsTest -``` ----## Clean up resources --If you plan to continue working with subsequent quickstarts and tutorials, you might want to leave these resources in place. When you no longer need the resources, delete the resource group, which deletes the alert rule and the related resources. To delete the resource group by using the CLI or PowerShell: --# [CLI](#tab/CLI) --```azurecli -az group delete --name my-resource-group -``` --# [PowerShell](#tab/PowerShell) --```powershell -Remove-AzResourceGroup -Name my-resource-group -``` ----## Related content --- Get an [overview of activity log alerts](../azure-monitor/alerts/alerts-overview.md) and learn how to receive alerts.-- Learn more about [action groups](../azure-monitor/alerts/action-groups.md). |
advisor | Advisor Alerts Bicep | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-alerts-bicep.md | - Title: Create Advisor alerts for new recommendations by using Bicep -description: Learn how to set up an alert for new recommendations from Azure Advisor by using Bicep. -- Previously updated : 04/26/2022---# Quickstart: Create Advisor alerts on new recommendations by using Bicep --This article shows you how to set up an alert for new recommendations from Azure Advisor by using Bicep. ---Whenever Advisor detects a new recommendation for one of your resources, an event is stored in an [Azure activity log](../azure-monitor/essentials/platform-logs-overview.md). You can set up alerts for these events from Advisor by using a recommendation-specific alerts creation experience. You can select a subscription and optionally select a resource group to specify the resources that you want to receive alerts on. --You can also determine the types of recommendations by using these properties: --- Category-- Impact level-- Recommendation type--You can also configure the action that takes place when an alert is triggered by: --- Selecting an existing action group.-- Creating a new action group.--To learn more about action groups, see [Create and manage action groups](../azure-monitor/alerts/action-groups.md). --> [!NOTE] -> Advisor alerts are currently only available for High Availability, Performance, and Cost recommendations. Security recommendations aren't supported. --## Prerequisites --- If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.-- To run the commands from your local computer, install the Azure CLI or the Azure PowerShell modules. For more information, see [Install the Azure CLI](/cli/azure/install-azure-cli) and [Install Azure PowerShell](/powershell/azure/install-azure-powershell).--## Review the Bicep file --The Bicep file used in this quickstart is from [Azure Quickstart Templates](https://azure.microsoft.com/resources/templates/insights-alertrules-servicehealth/). ---The Bicep file defines two resources: --- [Microsoft.Insights/actionGroups](/azure/templates/microsoft.insights/actiongroups)-- [Microsoft.Insights/activityLogAlerts](/azure/templates/microsoft.insights/activityLogAlerts)--## Deploy the Bicep file --1. Save the Bicep file as `main.bicep` to your local computer. -1. Deploy the Bicep file by using either the Azure CLI or Azure PowerShell. -- # [CLI](#tab/CLI) -- ```azurecli - az group create --name exampleRG --location eastus - az deployment group create --resource-group exampleRG --template-file main.bicep --parameters alertName=<alert-name> - ``` -- # [PowerShell](#tab/PowerShell) -- ```azurepowershell - New-AzResourceGroup -Name exampleRG -Location eastus - New-AzResourceGroupDeployment -ResourceGroupName exampleRG -TemplateFile ./main.bicep -alertName "<alert-name>" - ``` -- -- > [!NOTE] - > Replace \<alert-name\> with the name of the alert. -- When the deployment finishes, you should see a message that indicates the deployment succeeded. --## Validate the deployment --Use the Azure portal, the Azure CLI, or Azure PowerShell to list the deployed resources in the resource group. --# [CLI](#tab/CLI) --```azurecli-interactive -az resource list --resource-group exampleRG -``` --# [PowerShell](#tab/PowerShell) --```azurepowershell-interactive -Get-AzResource -ResourceGroupName exampleRG -``` ----## Clean up resources --When you no longer need the resources, use the Azure portal, the Azure CLI, or Azure PowerShell to delete the resource group. --# [CLI](#tab/CLI) --```azurecli-interactive -az group delete --name exampleRG -``` --# [PowerShell](#tab/PowerShell) --```azurepowershell-interactive -Remove-AzResourceGroup -Name exampleRG -``` ----## Related content --- Get an [overview of activity log alerts](../azure-monitor/alerts/alerts-overview.md) and learn how to receive alerts.-- Learn more about [action groups](../azure-monitor/alerts/action-groups.md). |
advisor | Advisor Alerts Portal | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-alerts-portal.md | - Title: Create Advisor alerts for new recommendations using Azure portal -description: Create Azure Advisor alerts for new recommendations by using the Azure portal. - Previously updated : 09/09/2019---# Create Azure Advisor alerts on new recommendations by using the Azure portal --This article shows you how to set up an alert for new recommendations from Azure Advisor by using the Azure portal. --Whenever Advisor detects a new recommendation for one of your resources, an event is stored in the [Azure activity log](../azure-monitor/essentials/platform-logs-overview.md). You can set up alerts for these events from Advisor by using a recommendation-specific alerts creation experience. You can select a subscription and optionally a resource group to specify the resources that you want to receive alerts on. --You can also determine the types of recommendations by using these properties: --* Category -* Impact level -* Recommendation type --You can also configure the action that takes place when an alert is triggered by: --* Selecting an existing action group. -* Creating a new action group. --To learn more about action groups, see [Create and manage action groups](../azure-monitor/alerts/action-groups.md). --> [!NOTE] -> Advisor alerts are currently only available for High Availability, Performance, and Cost recommendations. Security recommendations aren't supported. --## Create an alert rule --Follow these steps to create an alert rule. --1. In the [Azure portal](https://portal.azure.com), select **Advisor**. -- ![Screenshot that shows Advisor in the portal.](./media/advisor-alerts/create1.png) --1. In the **Monitoring** section on the left menu, select **Alerts**. -- ![Screenshot that shows Alerts in Advisor.](./media/advisor-alerts/create2.png) --1. Select **New Advisor Alert**. -- ![Screenshot that shows New Advisor Alert.](./media/advisor-alerts/create3.png) --1. In the **Scope** section, select the subscription and optionally the resource group that you want to be alerted on. -- ![Screenshot that shows Advisor alert scope.](./media/advisor-alerts/create4.png) --1. In the condition section, select the method you want to use for configuring your alert. If you want to alert for all recommendations for a certain category or impact level, select **Category and impact level**. If you want to alert for all recommendations of a certain type, select **Recommendation type**. -- ![Screenshot that shows Advisor alert conditions.](./media/advisor-alerts/create5.png) --1. Depending on the **Configured by** option that you select, you can specify the criteria. If you want all recommendations, leave the remaining fields blank. -- ![Screenshot that shows Advisor alert action group.](./media/advisor-alerts/create6.png) --1. In the action groups section, choose **Select existing** to use an action group that you already created or select **Create new** to set up a new [action group](../azure-monitor/alerts/action-groups.md). -- ![Screenshot that shows Advisor alert Select existing.](./media/advisor-alerts/create7.png) --1. In the alert details section, give your alert a name and short description. If you want your alert to be enabled, leave the **Enable rule upon creation** selection set to **Yes**. Then select the resource group to save your alert to. This setting won't affect the targeting scope of the recommendation. -- :::image type="content" source="./media/advisor-alerts/create8.png" alt-text="Screenshot that shows the alert details section."::: --## Configure recommendation alerts to use a webhook --This section shows you how to configure Advisor alerts to send recommendation data through webhooks to your existing systems. --You can set up alerts to be notified when you have a new Advisor recommendation on one of your resources. These alerts can notify you through email or text message. They can also be used to integrate with your existing systems through a webhook. --### Use the Advisor recommendation alert payload --If you want to integrate Advisor alerts into your own systems by using a webhook, you need to parse the JSON payload that's sent from the notification. --When you set up your action group for this alert, you select if you want to use the common alert schema. If you select the common alert schema, your payload looks like this example: --```json -{ - "schemaId":"azureMonitorCommonAlertSchema", - "data":{ - "essentials":{ - "alertId":"/subscriptions/<subid>/providers/Microsoft.AlertsManagement/alerts/<alerted>", - "alertRule":"Webhhook-test", - "severity":"Sev4", - "signalType":"Activity Log", - "monitorCondition":"Fired", - "monitoringService":"Activity Log - Recommendation", - "alertTargetIDs":[ - "/subscriptions/<subid>/resourcegroups/<resource group name>/providers/microsoft.dbformariadb/servers/<resource name>" - ], - "originAlertId":"001d8b40-5d41-4310-afd7-d65c9d4428ed", - "firedDateTime":"2019-07-17T23:00:57.3858656Z", - "description":"A new recommendation is available.", - "essentialsVersion":"1.0", - "alertContextVersion":"1.0" - }, - "alertContext":{ - "channels":"Operation", - "claims":"{\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress\":\"Microsoft.Advisor\"}", - "caller":"Microsoft.Advisor", - "correlationId":"8554b847-2a72-48ef-9776-600aca3c3aab", - "eventSource":"Recommendation", - "eventTimestamp":"2019-07-17T22:28:54.1566942+00:00", - "httpRequest":"{\"clientIpAddress\":\"0.0.0.0\"}", - "eventDataId":"001d8b40-5d41-4310-afd7-d65c9d4428ed", - "level":"Informational", - "operationName":"Microsoft.Advisor/recommendations/available/action", - "properties":{ - "recommendationSchemaVersion":"1.0", - "recommendationCategory":"Performance", - "recommendationImpact":"Medium", - "recommendationName":"Increase the MariaDB server vCores", - "recommendationResourceLink":"https://portal.azure.com/#blade/Microsoft_Azure_Expert/RecommendationListBlade/source/ActivityLog/recommendationTypeId/a5f888e3-8cf4-4491-b2ba-b120e14eb7ce/resourceId/%2Fsubscriptions%<subscription id>%2FresourceGroups%2<resource group name>%2Fproviders%2FMicrosoft.DBforMariaDB%2Fservers%2F<resource name>", - "recommendationType":"a5f888e3-8cf4-4491-b2ba-b120e14eb7ce" - }, - "status":"Active", - "subStatus":"", - "submissionTimestamp":"2019-07-17T22:28:54.1566942+00:00" - } - } -} - ``` --If you don't use the common schema, your payload looks like the following example: --```json -{ - "schemaId":"Microsoft.Insights/activityLogs", - "data":{ - "status":"Activated", - "context":{ - "activityLog":{ - "channels":"Operation", - "claims":"{\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress\":\"Microsoft.Advisor\"}", - "caller":"Microsoft.Advisor", - "correlationId":"3ea7320f-c002-4062-adb8-96d3bd92a5f4", - "description":"A new recommendation is available.", - "eventSource":"Recommendation", - "eventTimestamp":"2019-07-17T20:36:39.3966926+00:00", - "httpRequest":"{\"clientIpAddress\":\"0.0.0.0\"}", - "eventDataId":"a12b8e59-0b1d-4003-bfdc-3d8152922e59", - "level":"Informational", - "operationName":"Microsoft.Advisor/recommendations/available/action", - "properties":{ - "recommendationSchemaVersion":"1.0", - "recommendationCategory":"Performance", - "recommendationImpact":"Medium", - "recommendationName":"Increase the MariaDB server vCores", - "recommendationResourceLink":"https://portal.azure.com/#blade/Microsoft_Azure_Expert/RecommendationListBlade/source/ActivityLog/recommendationTypeId/a5f888e3-8cf4-4491-b2ba-b120e14eb7ce/resourceId/%2Fsubscriptions%2F<subscription id>%2FresourceGroups%2F<resource group name>%2Fproviders%2FMicrosoft.DBforMariaDB%2Fservers%2F<resource name>", - "recommendationType":"a5f888e3-8cf4-4491-b2ba-b120e14eb7ce" - }, - "resourceId":"/subscriptions/<subscription id>/resourcegroups/<resource group name>/providers/microsoft.dbformariadb/servers/<resource name>", - "resourceGroupName":"<resource group name>", - "resourceProviderName":"MICROSOFT.DBFORMARIADB", - "status":"Active", - "subStatus":"", - "subscriptionId":"<subscription id>", - "submissionTimestamp":"2019-07-17T20:36:39.3966926+00:00", - "resourceType":"MICROSOFT.DBFORMARIADB/SERVERS" - } - }, - "properties":{ - - } - } -} -``` --In either schema, you can identify Advisor recommendation events by looking for `eventSource` is `Recommendation` and `operationName` is `Microsoft.Advisor/recommendations/available/action`. --Some of the other important fields that you might want to use are: --* `alertTargetIDs` (in the common schema) or `resourceId` (legacy schema) -* `recommendationType` -* `recommendationName` -* `recommendationCategory` -* `recommendationImpact` -* `recommendationResourceLink` --## Manage your alerts --From Advisor, you can edit, delete, or disable and enable your recommendations alerts. --1. In the [Azure portal](https://portal.azure.com), select **Advisor**. -- :::image type="content" source="./media/advisor-alerts/create1.png" alt-text="Screenshot that shows the Azure portal menu with Advisor selected."::: --1. In the **Monitoring** section on the left menu, select **Alerts**. -- :::image type="content" source="./media/advisor-alerts/create2.png" alt-text="Screenshot that shows the Azure portal menu with Alerts selected."::: --1. To edit an alert, select the alert name to open the alert and edit the fields you want to edit. --1. To delete, enable, or disable an alert, select the ellipsis at the end of the row. Then select the action you want to take. --## Related content --- Get an [overview of activity log alerts](../azure-monitor/alerts/alerts-overview.md) and learn how to receive alerts.-- Learn more about [action groups](../azure-monitor/alerts/action-groups.md). |
advisor | Advisor Assessments | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-assessments.md | - Title: Use Well Architected Framework assessments in Azure Advisor -description: Azure Advisor offers Well Architected Framework assessments (curated and focused Advisor optimization reports) through the Assessments entry in the left menu of the Azure Advisor Portal. -- Previously updated : 08/22/2024--#customer intent: As an Advisor user, I want WAF assessments so that I can better understand recommendations. ----# Use Azure WAF assessments --Microsoft now offers Well Architected Framework (WAF) Assessment recommendations related to Azure resources based on the five pillars of WAF to Azure Advisor customers. You can take assessments on, and receive recommendations directly within, the Advisor platform. --> [!NOTE] -> Only the Assessments initiated via Advisor and the corresponding recommendations are visible on Advisor for the selected subscription and/or workload. --## What are Azure WAF assessments? --The Azure Well-Architected Framework, WAF, is a design scheme that helps you understand the pros and cons of cloud system options and can improve the quality of a workload. To learn more, see [Azure Well- Architected Framework](/azure/well-architected/). --Microsoft WAF Assessments help you work through a scenario of questions and recommendations that result in a curated guidance report that is actionable and informative. Assessments take time but it's time well-spent. Azure Advisor WAF Assessments help you identify gaps in your workloads across five pillars: Reliability, Cost, Operational Excellence, Performance, and Security via a set of curated questions on your workload. Assessments need you to work through a scenario of questions on your workloads and then provide recommendations that are actionable and informative. For the preview launch, we enabled the following two assessments via Advisor: --* [Mission Critical | Well-Architected Review](/assessments/23513bdb-e8a2-4f0b-8b6b-191ee1f52d34/) --* [Azure Well-Architected Review](/assessments/azure-architecture-review/) --To see all Microsoft assessment choices, go to the [Learn platform > Assessments](/assessments/). --## Prerequisites ---## Access Azure Advisor WAF assessments --1. Sign in to the [Azure portal](https://portal.azure.com/) and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page. The **Advisor** score dashboard page opens. --1. Select **Assessments** in the left navigation menu. The **Assessments** page opens with a list of completed or in progress assessments. ---## Create Azure Advisor WAF assessments --1. Select **New assessment**. An input area opens. -1. Provide the input parameters: - * **Subscription**: Choose from the list of available subscriptions in the dropdown Advisor. Once chosen, the system looks for workloads configured for that subscription. Not all subscriptions are available for the WAF Assessments preview. - * **Workload** (optional): If you have workloads configured for that subscription, you can view them in the list and select one. - * **Assessment type**: In the preview launch, we enabled two types of assessments: - * [Azure Well-Architected Review](/assessments/azure-architecture-review/) - * [Mission Critical | Well-Architected Review](/assessments/23513bdb-e8a2-4f0b-8b6b-191ee1f52d34/) - * **Assessment name**: A unique name for the assessment. Typing in the name activates the **Review and Create** option at the top of the page and the **Next** button at the bottom of the page. To find an existing assessment, go to the main **Assessments** page. - Select **Next**. A page opens that shows all of the existing assessments with the same subscription and workload (if any), and status of each similar assessment, both *Completed* and *In progress*. -1. You can choose to: - * View the recommendations generated for a completed recommendation. - * Resume an assessment you initiated earlier by selecting **Create**. If you do so, you're redirected to **Learn** platform, select **Continue** to resume creating the assessment. You can't resume an *In-progress* assessment created by someone else. - * Review the recommendations of a completed assessment created by someone from your organization. - * Create the new assessment. -If you arrow back a page, or use the **Review and create** tab, the new assessment options form is reset to a page with tiles showing similar, existing, assessments.\ -From there, you can proceed by selecting **Create** (at page bottom), or **Click here to start a new assessment** (at page top), or select **Previous** to return to the **Start new assessment** (you lose your workload type and assessment name choices).\ -If you select **Create** or **Click here to start a new assessment**, the **Learn > Assessments** question pages open to the **Assessment overview** page. The **Progress** bar shows how many questions are part of this assessment. The **Milestones** table includes the assessment by default, as the initial milestone. Adding milestones can help you keep track of progress as you implement the assessment recommendations. To learn more about milestones, see [Microsoft Assessments - Milestones](https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/microsoft-assessments-milestones/ba-p/3975841). -1. To begin the assessment creation process, select **Continue**. The assessment begins. The steps change depending on the chosen assessment type. -1. If you chose **Mission Critical** when creating the assessment, skip to step 7.\ -If you chose **Azure Well-Architected Review** as the assessment type: The page shown in the following image opens. On that page, select a workload type. Each workload type results in a list of approximately 60 questions based on the key recommendations provided in the pillars of the Well-Architected Framework. To know more about workload types, see [Well-Architected Branches for Assessing Workload-Types - Microsoft Community Hub](https://techcommunity.microsoft.com/t5/azure-architecture-blog/well-architected-branches-for-assessing-workload-types/ba-p/3267234). - * **Core Well-Architected Review**: To learn more, see [Azure Well-Architected Review](/assessments/azure-architecture-review/). - * **Azure Machine Learning**: To learn more, see [Assessing your machine learning workloads](/shows/azure-enablement/assessing-your-machine-learning-workloads). - * **Internet of Things**: Use the following content to help implement the recommendations: - * [Reliability](/azure/well-architected/iot/iot-reliability): Complete the reliability questions for IoT workloads in the Azure Well-Architected Review. - * [Security](/azure/well-architected/iot/iot-security): Complete the security questions for IoT workloads in the Azure Well-Architected Review. - * **SAP On Azure (Preview)**: For detailed information on the different types of storage and their capability and usability with SAP workloads and SAP components, see [Azure Storage types for SAP workload](/azure/sap/workloads/planning-guide-storage). - * **Azure Stack Hub (Preview)**: Evaluates the performance efficiency of your workloads running on Azure Stack Hub. To learn more, see [Manage workloads that run on Azure Stack Hub](/azure/cloud-adoption-framework/scenarios/azure-stack/manage).\ -When ready, select **Next**. The WAF Configuration options page opens. -1. For **Azure Well-Architected** assessment types only:\ - Select a Core Pillar of WAF to be used in the assessment. To learn more about well architected pillars, see [Introducing the Microsoft Azure Well-Architected Framework](https://azure.microsoft.com/blog/introducing-the-microsoft-azure-wellarchitected-framework/). When ready, select **Next**. -1. The assessment begins, the number of questions vary based on the selected assessment type. The following screenshot is an example only.\ - Your answers to the questions are essential to the quality of the assessment recommendations. Respond to the different question and continue clicking on **Next** until you reach a page with **View guidance**. -1. Select **View guidance** to navigate to the results page, example shown in the following screenshot.\ - The assessment recommendations are available in Azure Advisor after a maximum of 8 hours of after completion. You can also download the recommendations immediately. --**Key Points**: --* Assessments are tailored to your selected workload type, such as IoT, SAP, data services, machine learning, etc., which you choose during the assessment. The Azure Well-Architected Framework provides a suite of actionable guidance that you can use to improve your workloads in the areas that matter most to your business. The framework is designed to help you evaluate your workloads against the latest set of Azure best practices. --* Assessments for a subscription and workload can be taken repeatedly; however, while creating a new assessment, you're notified if there's an existing assessment already created for the same subscription and workload. --* Assessments marked as *Completed* can't be edited. --## View Azure Advisor WAF assessment recommendations --There are multiple avenues to access the recommendations, but you must have the correct permissions. --To learn more about permissions, see [Permissions in Azure Advisor](/azure/advisor/permissions). To find out what subscriptions you have permissions for, and what level of permissions, see [List Azure role assignments using the Azure portal](/azure/role-based-access-control/role-assignments-list-portal#list-owners-of-a-subscription). If you have Contributor permissions, you can view the recommendations for assessments created by other users and the assessments that you created. --1. Open the **Assessments** main page and then any completed assessment. The recommendations list page for that assessment opens. -1. You can sort the recommendations based on **Priority**, **Recommendation**, and **Category**. You can also use **Actions** > **Group** to group the recommendations by category or priority. --> [!NOTE] -> Assessment recommendations have no immediate impact on your existing Advisor score. --## Manage Azure Advisor WAF assessment recommendations --You can manage WAF assessment recommendations, setting recommendation status for what needs action and what can be postponed or dismissed. You can also track recommendations via the different recommendation statuses. --Managing Advisor WAF assessment recommendations is slightly different than managing regular Advisor recommendations. ---* On the **Not started** tab, with new recommendations, you can set initial status changes. For example, mark a recommendation as *In progress*: If you accept a recommendation and start working on it, select **Mark as in progress**, which moves it to the **In progress** tab. ---* On the **In progress** tab, you can take action on a recommendation by selecting **Mark as completed** or **Dismiss**. If you select **Dismiss**, you must provide a reason as shown in the following screenshot. ---* You can accept or dismiss or set status on multiple recommendations at a time using the checkbox control. The action you take moves the selected recommendations to the tab for that action. For example, if you mark recommendations as *In progress*, they're moved to the **In progress** tab. ---* You can reset a recommendations status. If you reset the status, it returns to the **Not started** status. ---* You can postpone a recommendation. If you do so, pick a time length for the postponement. Postponed recommendations move to the **Postponed or dismissed** tab. ---## Act on and complete Azure Advisor WAF assessments --Operations experts review and act on recommendations marked as *In progress*. --Once the recommendation is, or multiple recommendations are, selected with **Mark as completed** selected, in the **In progress** tab, those recommendations are moved to the **Completed** tab. ---## Azure Advisor WAF assessments FAQs --Some common questions and answers. --**Q**. Can I edit previously taken assessments?\ -**A**. In the current program, assessments can't be edited once completed. --**Q**. Why am I not getting any recommendations?\ -**A**. If you didn't answer all of the assessment questions and skipped to **View guidance**, you might not get any recommendations generated. The other reason might be that the Learn platform hasn't generated any recommendations for the assessment. --**Q**. Can I view recommendations for the assessments not taken by me?\ -**A**. Subscription role-based access control (RBAC) limits access to recommendations and assessments in Advisor. You can see recommendations for all completed assessments only if you have Reader/Contributor access to the subscription under which assessment is created. --**Q**. Can I take multiple assessments for a subscription?\ -**A**. There's no limit on the number of assessments that can be taken for a subscription. However, while creating a new assessment, you're notified if an existing assessment of the same type is already created for the same subscription/workload. --**Q**. How do assessment-based recommendations affect my Advisor score?\ -**A**. We're working on a score strategy that includes the resolution of assessment-based recommendations as well. --**Q**. I completed my assessment, but I don't see the recommendations and the assessment shows "In progress," why?\ -**A**. Currently, it could take up to a maximum of eight hours, for the recommendations to sync into Advisor after we complete the assessment in the Learn platform. We're working on fixing it. --**Q**. An error occurred while trying to retrieve the list.\ -**A**. This error occurs when you don't have Contributor or Reader access to any subscription. Work with your administrator to get access. --**Q**. Assessment type drop down is disabled for a subscription.\ -**A**. This error occurs when you don't have Contributor access on the subscription selected. Work with your administrator to get access or select a different subscription. --**Q**. Unable to log in to learn ΓÇô "Your account is not registered to Microsoft Learn which is required before you can start assessment."\ -**A**. In the current release, we only support accounts whose home tenant is same as the tenant in which the subscription lies. As a workaround, ask your administrator to create a new account in the tenant of the subscription and use that account to register on Learn platform. To know more about tenant profiles and home tenant, check [Accounts & tenant profiles (Android)](/entra/identity-platform/accounts-overview). --**Q**. Unable to log in to learn ΓÇô "Looks like you are using an External/Guest Account which is not supported."\ -**A**. In the current release, we only support accounts whose home tenant is same as the tenant in which the subscription lies. As a workaround, ask your administrator to create a new account in the tenant of the subscription and use that account to register on Learn platform. To know more about tenant profiles and home tenant, check [Accounts & tenant profiles (Android)](/entra/identity-platform/accounts-overview). --## Related content --* [Complete an Azure Well-Architected Review assessment](/azure/well-architected/cross-cutting-guides/implementing-recommendations) -* [Tailored Well-Architected Assessments for your workloads](https://techcommunity.microsoft.com/t5/azure-governance-and-management/tailored-well-architected-assessments-for-your-workloads/ba-p/2914022) -* [Azure Machine Learning](/assessments/eec33ce4-4ef0-4bd2-9f69-1956e50465d4/) |
advisor | Advisor Azure Resource Graph | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-azure-resource-graph.md | - Title: Advisor data in Azure Resource Graph -description: Make queries for Advisor data in Azure Resource Graph - Previously updated : 03/12/2020---# Query for Advisor data in Resource Graph Explorer (Azure Resource Graph) --Advisor resources are now onboarded to [Azure Resource Graph](https://azure.microsoft.com/features/resource-graph/). This lays foundation to many at-scale customer scenarios for Advisor recommendations. Few scenarios that were not possible before to do at scale and now can be achieved using Resource Graph are: -* Gives capability to perform complex query for all your subscriptions in Azure portal -* Recommendations summarized by category types (like reliability, performance) and impact types (high, medium, low) -* All recommendations for a particular recommendation type -* Impacted resource count by recommendation category --![Advisor in Azure resource graph explorer](./media/azure-resource-graph-1.png) ---## Advisor resource types in Azure Graph --Available Advisor resource types in [Resource Graph](../governance/resource-graph/index.yml): -There are 3 resource types available for querying under Advisor resources. Here is the list of the resources that are now available for querying in Resource Graph. -* Microsoft.Advisor/configurations -* Microsoft.Advisor/recommendations -* Microsoft.Advisor/suppressions --These resource types are listed under a new table named as AdvisorResources, which you can also query in the Resource Graph Explorer in Azure portal. ---## Next steps --For more information about Advisor recommendations, see: -* [Introduction to Azure Advisor](advisor-overview.md) -* [Get started with Advisor](advisor-get-started.md) -* [Advisor cost recommendations](advisor-cost-recommendations.md) -* [Advisor reliability recommendations](advisor-high-availability-recommendations.md) -* [Advisor performance recommendations](advisor-performance-recommendations.md) -* [Advisor security recommendations](advisor-security-recommendations.md) -* [Advisor operational excellence recommendations](advisor-operational-excellence-recommendations.md) -* [Advisor REST API](/rest/api/advisor/) |
advisor | Advisor Cost Optimization Workbook | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-cost-optimization-workbook.md | - Title: Understand and optimize your Azure costs with the new Azure Cost Optimization workbook. -description: Understand and optimize your Azure costs with the new Azure Cost Optimization workbook. - Previously updated : 12/28/2023------# Understand and optimize your Azure costs using the Cost Optimization workbook -The Azure Cost Optimization workbook is designed to provide an overview and help you optimize costs of your Azure environment. It offers a set of cost-relevant insights and recommendations aligned with the Well-Architected Framework Cost Optimization pillar. --## Overview -The Azure Cost Optimization workbook serves as a centralized hub for some of the most commonly used tools that can help you drive utilization and efficiency goals. It offers a range of recommendations, including Azure Advisor cost recommendations, identification of idle resources, and management of improperly deallocated Virtual Machines. Additionally, it provides recommendations for applying Azure Reservations and Savings Plan for Compute and insights into using Azure Hybrid Benefit options. The workbook template is available in Azure Advisor gallery. --Here’s how to get started: --1. Navigate to [Workbooks gallery](https://aka.ms/advisorworkbooks) in Azure Advisor. -1. Open **Cost Optimization (Preview)** workbook template. --The workbook is organized into different tabs and subtabs, each focusing on a specific area to help you reduce the cost of your Azure environment. --* Overview -* Rate Optimization -- * Azure Hybrid Benefit - * Azure Reservations - * Azure Savings Plan for Compute --* Usage Optimization -- * Compute - * Storage - * Networking - * Other popular Azure services --Each tab supports the following capabilities: -* **Filters** - use subscription, resource group, and tag filters to focus on a specific workload. -* **Export** - export the recommendations to share the insights and collaborate with your team more effectively. -* **Quick Fix** - apply the recommended optimization directly from the workbook page, streamlining the optimization process. ---> [!NOTE] -> The workbook serves as guidance and doesn't guarantee cost reduction. ---### Welcome -The home page of the workbook highlights the goal and prerequisites. It also provides a way to submit feedback and raise issues. --### Resource overview -This image shows the resources distribution per region. Here, you should review where most of the resources are located and understand if there's data being transferred to other regions and if this behavior is expected, since data transfer costs might apply. It's important to notice that the cost of an Azure service can vary between locations based on on-demand and local infrastructure costs and replication costs. --### Security Recommendations --The Security Recommendations query focuses on reviewing the Azure Advisor security recommendations. -Potentially, you could enhance the security of your workloads by reinvesting some of the cost savings identified from the workbook assessment. --### Reliability recommendations --The Reliability Recommendations query focuses on reviewing the Azure Advisor reliability recommendations. -Potentially, you could enhance the reliability of your workloads by reinvesting some of the cost savings identified from the workbook assessment. --## Rate Optimization --The Rate Optimization tab focuses on reviewing potential savings related to the rate optimization of your Azure services. ---### Azure Hybrid Benefit --Azure Hybrid Benefit represents an excellent opportunity to save on Virtual Machines (VMs) operating system costs. Using the workbook, you can identify the opportunities to use the Azure Hybrid Benefit for VM/VMSS (Windows and Linux), SQL (SQL Server VMs, SQL DB and SQL MI), and Azure Stack HCI (VMs and AKS). --> [!NOTE] -> If you select a Dev/Test subscription in the scope of the workbook, then you should already have discounts on Windows and SQL licenses. So, any recommendations shown on the page don’t apply to the subscription. --#### Windows VM/VMSS --Azure Hybrid Benefit represents an excellent opportunity to save on Virtual Machines OS costs. -If you have Software Assurance, you can enable the [Azure Hybrid Benefit](/azure/virtual-machines/windows/hybrid-use-benefit-licensing). You can see potential savings using [Azure Hybrid Benefit Calculator](https://azure.microsoft.com/pricing/hybrid-benefit/#calculator). --> [!NOTE] -> The query has a Quick Fix column that helps you to apply Azure Hybrid Benefit to Windows VMs. --#### Linux VM/VMSS --[Azure Hybrid Benefit for Linux](/azure/virtual-machines/linux/azure-hybrid-benefit-linux) is a licensing benefit that helps you to significantly reduce the costs of running your Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES) virtual machines (VMs) in the cloud. --#### SQL --Azure Hybrid Benefit represents an excellent opportunity to save costs on SQL instances. -If you have Software Assurance, you can enable [SQL Hybrid Benefit](/azure/azure-sql/azure-hybrid-benefit). -You can see potential savings using [Azure Hybrid Benefit Calculator](https://azure.microsoft.com/pricing/hybrid-benefit/#calculator). --#### Azure Stack HCI --Azure Hybrid Benefit represents an excellent opportunity to save costs on Azure Stack HCI. If you have Software Assurance, you can enable [Azure Stack HCI Hybrid Benefit](/azure-stack/hci/concepts/azure-hybrid-benefit-hci). --### Azure Reservations --Review Azure Reservations cost saving opportunities. Use filters for subscriptions, a look back period (7, 30 or 60 days), a term (1 year or 3 years), and a resource type. Learn more about [What are Azure Reservations?](../cost-management-billing/reservations/save-compute-costs-reservations.md) and how much you can [save with Reservations](https://azure.microsoft.com/pricing/reservations). --### Azure savings plan for compute --Review Azure savings plan for compute cost saving opportunities. Use filters for subscriptions, a look back period (7, 30 or 60 days), and a term (1 year or 3 years). Learn more about [What is Azure savings plans for compute?](https://azure.microsoft.com/pricing/offers/savings-plan-compute) and how much you can [save with Savings Plan for Compute](https://azure.microsoft.com/pricing/offers/savings-plan-compute). --## Usage Optimization --The Usage Optimization tab focuses on reviewing potential savings related to usage optimization of your Azure services. ---### Compute --The following queries show compute resources that you can optimize to save money. --#### Virtual Machines in a Stopped State --This query identifies Virtual Machines that aren't properly deallocated. If a virtual machine’s status is Stopped rather than Stopped (Deallocated), you're still billed for the resource as the hardware remains allocated for you. Learn more about [States and billing status of Azure Virtual Machines](/azure/virtual-machines/states-billing). --#### Deallocated virtual machines --A virtual machine in a deallocated state is not only powered off, but the underlying host infrastructure is also released, resulting in no charges for the allocated resources while the VM is in this state. However, some Azure resources such as disks and networking continue to incur charges. --#### Virtual Machine Scale Sets --This query focuses on cost optimization opportunities specific to Virtual Machine Scale Sets. It provides recommendations such as: --* Consider using Azure Spot VMs for workloads that can handle interruptions, early terminations, or evictions. For example, workloads such as batch processing jobs, development and testing environments, and large compute workloads may be good candidates for scheduling on a spot node pool. -* Spot priority mix: Azure provides the flexibility of running a mix of uninterruptible standard VMs and interruptible Spot VMs for Virtual Machine Scale Set deployments. You can use the Spot Priority Mix using Flexible orchestration to easily balance between high-capacity availability and lower infrastructure costs according to workload requirements. --#### Advisor Recommendations -Review the Advisor recommendations for Compute. Some of the recommendations available in this tile could be "Optimize virtual machine spend by resizing or shutting down underutilized instances", or "Buy reserved virtual machine instances to save money over pay-as-you-go costs." --### Storage --The following queries show storage resources that you can optimize to save money. --#### Storage accounts which are not v2 --The Storage accounts which are not v2 query focuses on identifying the storage accounts which are configured as v1. There are several reasons to justify upgrading to v2, such as: --* Ability to enable Storage Lifecycle Management; -* Storage Reserved Instances; -* Access tiers - you can transition data from a hotter access tier to a cooler access tier if there's no access for a period. --Upgrading a v1 storage account to a general-purpose v2 account is free. You can specify the desired account tier during the upgrade process. If an account tier isn't specified on the upgrade, the default account tier of the upgraded account will be Hot. However, changing the storage access tier after the upgrade may result in changes to your bill, so we recommend that you specify the new account tier during an upgrade. --#### Unattached Managed Disks --The Unattached Managed Disks query helps you to identify unattached managed disks. Unattached disks represent a cost in the subscription. The query automatically ignores disks used by Azure Site Recovery. Use the information to identify and remove any unattached disks that are no longer needed. --> [!NOTE] -> The query has a Quick Fix column that helps you to remove the disk if not needed. --#### Disk Snapshots with + 30 Days --The Disk Snapshots with + 30 Days query identifies snapshots that are older than 30 days. Identifying and managing outdated snapshots can help you optimize storage costs and ensure efficient use of your Azure environment. --#### Snapshots using premium storage --To save 60% of cost, we recommend storing your snapshots in Standard Storage, regardless of the storage type of the parent disk. It's the default option for Managed Disks snapshots. Migrate your snapshot from Premium to Standard Storage. --#### Snapshots with deleted source disk --The Snapshots with deleted source disk query identifies snapshots where the source disk has been deleted. --#### Idle Backup --Review protected items backup activity to determine if there are items not backed up in the last 90 days. This could either mean that the underlying resource that's being backed up doesn't exist anymore or there's some issue with the resource that's preventing backups from being taken reliably. --#### Backup storage redundancy settings --By default, when you configure backup for resources, geo-redundant storage (GRS) replication is applied to these backups. While this is the recommended storage replication option as it creates more redundancy for your critical data, you can choose to protect items using locally-redundant storage (LRS) if that meets your backup availability needs for dev-test workloads. Using LRS instead of GRS halves the cost of your backup storage. --#### Advisor Recommendations --Review the Advisor recommendations for Storage. Some of the recommendations available in this tile could be "Blob storage reserved capacity", or "Use lifecycle management". --### Networking --The following queries show networking resources that you can optimize to save money. --#### Azure Firewall Premium --The Azure Firewall Premium query identifies Azure Firewalls with Premium SKU and evaluates whether the associated policy incorporates premium-only features or not. If a Premium SKU Firewall lacks a policy with premium features, such as TLS or intrusion detection, it is shown on the page. For more information about Azure Firewall SKUs, see [SKU comparison table](../firewall/choose-firewall-sku.md). --#### Azure Firewall instances per region --Optimize the use of Azure Firewall by having a central instance of Azure Firewall in the hub virtual network or Virtual WAN secure hub. Share the same firewall across many spoke virtual networks that are connected to the same hub from the same region. Ensure there's no unexpected cross-region traffic as part of the hub-spoke topology, nor multiple Azure firewall instances deployed to the same region. To learn more about Azure Firewall design principles, check [Azure Well-Architected Framework review - Azure Firewall](/azure/well-architected/service-guides/azure-firewall#cost-optimization). --#### Application Gateway with empty backend pool --Review the Application Gateways with empty backend pools. -App gateways are considered idle if there isn't any backend pool with targets. --#### Load Balancer with empty backend pool --Review the Standard Load Balancers with empty backend pools. Load Balancers are considered idle if there isn’t any backend pool with targets. --#### Unattached Public IPs --Review the orphan Public IP Addresses. The query also shows Public IP addresses attached to idle network interface cards (NIC). --#### Virtual Network Gateways --Review idle Virtual Network Gateways that have no connections defined, as they may represent additional cost. --#### Advisor Recommendations --Review the Advisor recommendations for Networking. Some of the recommendations available in this tile could be "Reduce costs by deleting or reconfiguring idle virtual network gateways", or "Reduce costs by eliminating unprovisioned ExpressRoute circuits." --### Top 10 services --The following queries show other popular Azure resources that you can optimize to save money. --#### Web Apps --Review the App Service list. --* Review the Stopped App Services as they will be charged. --* Consider upgrading from the V2 SKU to the V3 SKU. The V3 SKU is cheaper than similar V2 SKU and allows [Reserved Instances and Savings plan for compute](https://azure.microsoft.com/pricing/details/app-service/windows/). --* Determine the right reserved instance size before you buy - Before you buy a reservation, you should determine the size of the Premium v3 reserved instance that you need. The following sections help you determine the right Premium v3 reserved instance size. --* Use Autoscale appropriately - Autoscale can be used to provision resources for when they're needed or on demand, which allows you to minimize costs when your environment is idle. --#### Azure Kubernetes Clusters (AKS) --Review the AKS list. Some of the cost optimization opportunities are: --* Enable cluster autoscaler to automatically adjust the number of agent nodes in response to resource constraints. -* Consider using Azure Spot VMs for workloads that can handle interruptions, early terminations, or evictions. For example, workloads such as batch processing jobs, development and testing environments, and large compute workloads may be good candidates for scheduling on a spot node pool. -* Utilize the Horizontal pod autoscaler to adjust the number of pods in a deployment depending on CPU utilization or other select metrics. -* Use the Start/Stop feature in Azure Kubernetes Services (AKS). -* Use appropriate VM SKU per node pool and reserved instances where long-term capacity is expected. --#### Azure Synapse --Review the Azure Synapse workspaces that don't have any SQL pools attached to them. --#### Monitoring --Review [Azure Monitor - Best Practices](../azure-monitor/best-practices-cost.md) for design checklists and configuration recommendations related to Azure Monitor Logs, Azure resources, Alerts, Virtual machines, Containers, and Application Insights. --**Log Analytics** --Review costs related to data ingestion on Log Analytics. The following advice could be of help in cost optimization: --* Adopt commitment tiers where applicable. -* Adopt Azure Monitor Logs dedicated cluster if a single workspace does not ingest enough data as per the minimum commitment tier (100 GB/day) or if it is possible to aggregate ingestion costs from more than one workspace in the same region. -* Convert the free tier based workspace to Pay-as-you-go model and add them to an Azure Monitor Logs dedicated cluster where possible. --🖱️ Select one or more Log Analytics workspaces to review the daily ingestion trend for the past 30 days and understand its usage. --**Azure Advisor Cost recommendations** --Review the Advisor recommendations for Log Analytics. Some of the recommendations available in this tile could be *Consider removing unused restored tables* or *Consider configuring the low-cost Basic logs plan on selected tables*. --For more information, see: -* [Well-Architected cost optimization design principles](/azure/well-architected/cost/principles) -* [Cloud Adoption Framework manage cloud costs](/azure/cloud-adoption-framework/get-started/manage-costs) -* [Azure FinOps principles](/azure/cost-management-billing/finops/overview-finops) -* [Azure Advisor cost recommendations](advisor-reference-cost-recommendations.md) |
advisor | Advisor Cost Recommendations | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-cost-recommendations.md | - Title: Reduce service costs using Azure Advisor -description: Use Azure Advisor to optimize the cost of your Azure deployments. - Previously updated : 11/08/2023----# Reduce service costs by using Azure Advisor --Azure Advisor helps you optimize and reduce your overall Azure spend by identifying idle and underutilized resources. You can get cost recommendations from the **Cost** tab on the Advisor dashboard. --1. Sign in to the [**Azure portal**](https://portal.azure.com). --1. Search for and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page. --1. On the **Advisor** dashboard, select the **Cost** tab. --## Optimize virtual machine (VM) or virtual machine scale set (VMSS) spend by resizing or shutting down underutilized instances --Although certain application scenarios can result in low utilization by design, you can often save money by managing the size and number of your virtual machines or virtual machine scale sets. --Advisor uses machine-learning algorithms to identify low utilization and to identify the ideal recommendation to ensure optimal usage of virtual machines and virtual machine scale sets. The recommended actions are shut down or resize, specific to the resource being evaluated. --### Shutdown recommendations --Advisor identifies resources that weren't used at all over the last seven days and makes a recommendation to shut them down. --* Recommendation criteria include **CPU** and **Outbound Network utilization** metrics. **Memory** isn't considered since we found that **CPU** and **Outbound Network utilization** are sufficient. --* The last seven days of utilization data are analyzed. You can change your lookback period in the configurations. The available lookback periods are 7, 14, 21, 30, 60, and 90 days. After you change the lookback period, it might take up to 48 hours for the recommendations to be updated. --* Metrics are sampled every 30 seconds, aggregated to 1 min and then further aggregated to 30 mins (we take the max of average values while aggregating to 30 mins). On virtual machine scale sets, the metrics from individual virtual machines are aggregated using the average of the metrics across instances. --* A shutdown recommendation is created if: - * P95 of the maximum value of CPU utilization summed across all cores is less than 3% - * P100 of average CPU in last 3 days (sum over all cores) <= 2% - * Outbound Network utilization is less than 2% over a seven-day period --### Resize SKU recommendations --Advisor recommends resizing virtual machines when it's possible to fit the current load on a more appropriate SKU, which is less expensive (based on retail rates). On virtual machine scale sets, Advisor recommends resizing when it's possible to fit the current load on a more appropriate cheaper SKU, or a lower number of instances of the same SKU. --* Recommendation criteria include **CPU**, **Memory**, and **Outbound Network utilization**. --* The last 7 days of utilization data are analyzed. You can change your lookback period in the configurations. The available lookback periods are 7, 14, 21, 30, 60, and 90 days. After you change the lookback period, it might take up to 48 hours for the recommendations to be updated. --* Metrics are sampled every 30 seconds, aggregated to 1 minute, and then further aggregated to 30 minutes (taking the max of average values while aggregating to 30 minutes). On virtual machine scale sets, the metrics from individual virtual machines are aggregated using the average of the metrics for instance count recommendations, and aggregated using the max of the metrics for SKU change recommendations. --* An appropriate SKU (for virtual machines) or instance count (for virtual machine scale set resources) is determined based on the following criteria: - * Performance of the workloads on the new SKU won't be impacted. - * Target for user-facing workloads: - * P95 of CPU and Outbound Network utilization at 40% or lower on the recommended SKU - * P100 of Memory utilization at 60% or lower on the recommended SKU - * Target for non user-facing workloads: - * P95 of the CPU and Outbound Network utilization at 80% or lower on the new SKU - * P100 of Memory utilization at 80% or lower on the new SKU - * The new SKU, if applicable, has the same Accelerated Networking and Premium Storage capabilities - * The new SKU, if applicable, is supported in the current region of the Virtual Machine with the recommendation - * The new SKU, if applicable, is less expensive - * Instance count recommendations also take into account if the virtual machine scale set is being managed by Service Fabric or AKS. For service fabric managed resources, recommendations take into account reliability and durability tiers. -* Advisor determines if a workload is user-facing by analyzing its CPU utilization characteristics. The approach is based on findings by Microsoft Research. You can find more details here: [Prediction-Based Power Oversubscription in Cloud Platforms - Microsoft Research](https://www.microsoft.com/research/publication/prediction-based-power-oversubscription-in-cloud-platforms/). --* Based on the best fit and the cheapest costs with no performance impacts, Advisor not only recommends smaller SKUs in the same family (for example D3v2 to D2v2), but also SKUs in a newer version (for example D3v2 to D2v3), or a different family (for example D3v2 to E3v2). --* For virtual machine scale set resources, Advisor prioritizes instance count recommendations over SKU change recommendations because instance count changes are easily actionable, resulting in faster savings. --### Burstable recommendations --We evaluate if workloads are eligible to run on specialized SKUs called **Burstable SKUs** that support variable workload performance requirements and are less expensive than general purpose SKUs. Learn more about burstable SKUs here: [B-series burstable - Azure Virtual Machines](/azure/virtual-machines/sizes-b-series-burstable). --A burstable SKU recommendation is made if: --* The average **CPU utilization** is less than a burstable SKUs' baseline performance - * If the P95 of CPU is less than two times the burstable SKUs' baseline performance - * If the current SKU doesn't have accelerated networking enabled, since burstable SKUs don't support accelerated networking yet - * If we determine that the Burstable SKU credits are sufficient to support the average CPU utilization over 7 days. You can change your lookback period in the configurations. --The resulting recommendation suggests that a user should resize their current virtual machine or virtual machine scale set to a burstable SKU with the same number of cores. This suggestion is made so a user can take advantage of lower cost and also the fact that the workload has low average utilization but high spikes in cases, which can be best served by the B-series SKU. --Advisor shows the estimated cost savings for either recommended action: resize or shut down. For resize, Advisor provides current and target SKU/instance count information. -To be more selective about the actioning on underutilized virtual machines or virtual machine scale sets, you can adjust the CPU utilization rule by subscription. --In some cases recommendations can't be adopted or might not be applicable, such as some of these common scenarios (there might be other cases): --* Virtual machine or virtual machine scale set has been provisioned to accommodate upcoming traffic --* Virtual machine or virtual machine scale set uses other resources not considered by the resize algorithm, such as metrics other than CPU, Memory and Network --* Specific testing being done on the current SKU, even if not utilized efficiently --* Need to keep virtual machine or virtual machine scale set SKUs homogeneous --* Virtual machine or virtual machine scale set being utilized for disaster recovery purposes --In such cases, simply use the Dismiss/Postpone options associated with the recommendation. --### Limitations --* The savings associated with the recommendations are based on retail rates and don't take into account any temporary or long-term discounts that might apply to your account. As a result, the listed savings might be higher than actually possible. --* The recommendations don't take into account the presence of Reserved Instances (RI) / Savings plan purchases. As a result, the listed savings might be higher than actually possible. In some cases, for example in the case of cross-series recommendations, depending on the types of SKUs that reserved instances have been purchased for, the costs might increase when the optimization recommendations are followed. We caution you to consider your RI/Savings plan purchases when you act on the right-size recommendations. --We're constantly working on improving these recommendations. Feel free to share feedback on [Advisor Forum](https://aka.ms/advisorfeedback). --## Configure VM/VMSS recommendations --You can adjust Advisor virtual machine (VM) and Virtual Machine Scale Sets recommendations. Specifically, you can set up a filter for each subscription to only show recommendations for machines with certain CPU utilization. This setting will filter recommendations but will not change how they are generated. --> [!NOTE] -> If you don't have the required permissions, the option is disabled in the user interface. For information on permissions, see [Permissions in Azure Advisor](permissions.md). --To adjust Advisor VM/Virtual Machine Scale Sets right sizing rules, follow these steps: --1. From any Azure Advisor page, click **Configuration** in the left navigation pane. The Advisor Configuration page opens with the **Resources** tab selected, by default. --1. Select the **VM/Virtual Machine Scale Sets right sizing** tab. --1. Select the subscriptions you’d like to set up a filter for average CPU utilization, and then click **Edit**. --1. Select the desired average CPU utilization value and click **Apply**. It can take up to 24 hours for the new settings to be reflected in recommendations. -- :::image type="content" source="media/advisor-get-started/advisor-configure-rules.png" alt-text="Screenshot of Azure Advisor configuration option for VM/Virtual Machine Scale Sets sizing rules." lightbox="media/advisor-get-started/advisor-configure-rules.png"::: --## Next steps --To learn more about Advisor recommendations, see: --* [Advisor cost recommendations (full list)](advisor-reference-cost-recommendations.md) -* [Introduction to Advisor](advisor-overview.md) -* [Advisor score](azure-advisor-score.md) |
advisor | Advisor Get Started | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-get-started.md | - Title: Azure Advisor portal basics -description: Learn how to get started with Azure Advisor through the Azure portal, get and manage recommendations, and configure Advisor settings. -- Previously updated : 03/07/2024----# Azure Advisor portal basics --Learn how to access Azure Advisor through the Azure portal, get and manage recommendations, and configure Advisor settings. --> [!NOTE] -> Advisor runs in the background to find newly created resources. It can take up to 24 hours to provide recommendations on those resources. --## Open Advisor --To access Advisor, sign in to the [Azure portal](https://portal.azure.com). Then select the [Advisor](https://aka.ms/azureadvisordashboard) icon at the top of the page or use the search bar at the top to search for Advisor. You can also use the left pane and select **Advisor**. The Advisor **Overview** page opens by default. --## View the Advisor dashboard --On the Advisor **Overview** page, you see personalized and actionable recommendations. ---* The links at the top offer options for **Feedback**, downloading recommendations as comma-separated value (CSV) files or PDFs, and a link to Advisor **Workbooks**. -* The filter buttons underneath them focus the recommendations. -* The tiles represent the different recommendation categories and include your current score in each category. -* **Get started** takes you to options for direct access to Advisor workbooks, recommendations, and the Azure Well-Architected Framework main page. --### Filter and access recommendations --The tiles on the Advisor **Overview** page show the different categories of recommendations for all the subscriptions to which you have access, by default. --To filter the display, use the buttons at the top of the page: --* **Subscription**: Select **All** for Advisor recommendations on all subscriptions. Alternatively, select specific subscriptions. Apply changes by clicking outside of the button. -* **Recommendation Status**: **Active** (the default, recommendations not postponed or dismissed), **Postponed** or **Dismissed**. Apply changes by clicking outside of the button. -* **Resource Group**: Select **All** (the default) or specific resource groups. Apply changes by clicking outside of the button. -* **Type**: Select **All** (the default) or specific resources. Apply changes by clicking outside of the button. -* For more advanced filtering, select **Add filter**. --To display a specific list of recommendations, select a category tile. ---Each tile provides information about the recommendations for that category: --* Your overall score for the category. -* The total number of recommendations for the category, and the specific number per impact. -* The number of impacted resources by the recommendations. --For detailed graphics and information on your Advisor score, see [Optimize Azure workloads by using Advisor score](/azure/advisor/azure-advisor-score). --### Get recommendation details and solution options --You can view recommendation details, such as the recommended actions and affected resources. You can also see the solution options, including postponing or dismissing a recommendation. --1. To review details of a recommendation, including the affected resources, open the recommendation list for a category. Then select **Description** or **Impacted resources** for a specific recommendation. The following screenshot shows a Reliability recommendation details page. -- :::image type="content" source="./media/advisor-get-started/advisor-score-reliability-recommendation-page.png" alt-text="Screenshot that shows an Advisor Reliability Recommendation details example." lightbox="./media/advisor-get-started/advisor-score-reliability-recommendation-page.png"::: --1. To see action details, select a **Recommended actions** link. The Azure page where you can act opens. Alternatively, open a page to the affected resources to take the recommended action (the two pages might be the same). - - To help you understand the recommendation before you act, select **Learn more** on the **Recommended action** page or at the top of the **Recommendation details** page. --1. You can postpone the recommendation. -- :::image type="content" source="./media/advisor-get-started/advisor-recommendation-postpone.png" alt-text="Screenshot that shows an Advisor recommendation postpone option." lightbox="./media/advisor-get-started/advisor-recommendation-postpone.png"::: -- You can't dismiss the recommendation without certain privileges. For information on permissions, see [Permissions in Azure Advisor](permissions.md). --### Download recommendations --To download your recommendations, select **Download as CSV** or **Download as PDF** on the action bar at the top of any recommendation list or details page. The download option respects any filters you applied to Advisor. If you select the download option while viewing a specific recommendation category or recommendation, the downloaded summary only includes information for that category or recommendation. --## Configure recommendations --You can exclude subscriptions or resources, such as test resources, from Advisor recommendations and configure Advisor to generate recommendations only for specific subscriptions and resource groups. --> [!NOTE] -> To change subscriptions or Advisor compute rules, you must be a subscription owner. If you don't have the required permissions, the option is disabled in the user interface. For information on permissions, see [Permissions in Azure Advisor](permissions.md). For details on right-sizing VMs, see [Reduce service costs by using Azure Advisor](advisor-cost-recommendations.md). --From any Azure Advisor page, select **Configuration** in the left pane. The Advisor configuration page opens with the **Resources** tab selected, by default. --Use the **Resources** tab to select or unselect subscriptions for Advisor recommendations. When you're ready, select **Apply**. The page refreshes. ---Use the **VM/VMSS right sizing** tab to adjust Advisor virtual machine (VM) and virtual machine scale sets (VMSS) recommendations. Specifically, you can set up a filter for each subscription to only show recommendations for machines with certain CPU utilization. This setting filters recommendations by machine, but it doesn't change how they're generated. Follow these steps: --1. Select the subscriptions for which you want to set up a filter for average CPU utilization. Then select **Edit**. Not all subscriptions can be edited for VM/VMSS right sizing, and certain privileges are required. For more information on permissions, see [Permissions in Azure Advisor](permissions.md). --1. Select the average CPU utilization value you want and select **Apply**. It can take up to 24 hours for the new settings to be reflected in recommendations. -- :::image type="content" source="./media/advisor-get-started/advisor-configure-rules.png" alt-text="Screenshot that shows an Advisor configuration option for VM/VMSS sizing rules." lightbox="./media/advisor-get-started/advisor-configure-rules.png"::: --## Related content --To learn more about Advisor, see: --- [Introduction to Azure Advisor](advisor-overview.md)-- [Advisor cost recommendations](advisor-cost-recommendations.md)-- [Advisor security recommendations](advisor-security-recommendations.md)-- [Advisor reliability recommendations](advisor-high-availability-recommendations.md)-- [Advisor operational excellence recommendations](advisor-operational-excellence-recommendations.md)-- [Advisor performance recommendations](advisor-performance-recommendations.md) |
advisor | Advisor How To Calculate Total Cost Savings | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-how-to-calculate-total-cost-savings.md | - Title: Calculate cost savings in Azure Advisor- Previously updated : 09/05/2024 -description: Export cost savings in Azure Advisor and calculate the aggregated potential yearly savings by using the cost savings amount for each recommendation. ---# Calculate cost savings --This article provides guidance on how to calculate total cost savings in Azure Advisor. --## Understand cost savings --Azure Advisor provides recommendations for resizing/shutting down underutilized resources, purchasing compute reserved instances, and savings plans for compute. --These recommendations contain one or more calls-to-action and forecasted savings from following the recommendations. Recommendations should be followed in a specific order: rightsizing/shutdown, followed by reservation purchases, and finally, the savings plan purchase. This sequence allows each step to impact the subsequent ones positively. --For example, rightsizing or shutting down resources reduces on-demand costs immediately. This change in your usage pattern essentially invalidates your existing reservation and savings plan recommendations, as they were based on your pre-rightsizing usage and costs. Updated reservation and savings plan recommendations (and their forecasted savings) should appear within three days. --The forecasted savings from reservations and savings plans are based on actual rates and usage, while the forecasted savings from rightsizing/shutdown are based on retail rates. The actual savings may vary depending on the usage patterns and rates. Assuming there are no material changes to your usage patterns, your actual savings from reservations and savings plan should be in line with the forecasts. Savings from rightsizing/shutdown vary based on your actual rates. This is important if you intend to track cost savings forecasts from Azure Advisor. --## Export cost savings for recommendations --To calculate aggregated potential yearly savings, follow these steps: --1. Sign in to the [**Azure portal**](https://portal.azure.com). --1. Search for and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page.\ -The Advisor **Overview** page opens. --1. Export cost recommendations by navigating to the **Cost** tab on the left navigation menu and choosing **Download as CSV**. --1. Use the cost savings amount for each recommendation to calculate aggregated potential yearly savings. -- [![Screenshot of the Azure Advisor cost recommendations page that shows download option.](./media/advisor-how-to-calculate-total-cost-savings.png)](./media/advisor-how-to-calculate-total-cost-savings.png#lightbox) --> [!NOTE] -> Different types of cost savings recommendations are generated using overlapping datasets (for example, VM rightsizing/shutdown, VM reservations and savings plan recommendations all consider on-demand VM usage). As a result, resource changes (e.g., VM shutdowns) or reservation/savings plan purchases will impact on-demand usage, and the resulting recommendations and associated savings forecast. |
advisor | Advisor How To Improve Reliability | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-how-to-improve-reliability.md | - Title: Improve reliability of your business-critical applications using Azure Advisor recommendations and the reliability workbook. -description: Use Azure Advisor to evaluate the reliability posture of your business-critical applications, assess risks and plan improvements. - Previously updated : 05/19/2023----# Improve the reliability of your business-critical applications using Azure Advisor --Azure Advisor helps you assess and improve the reliability of your business-critical applications. --## Reliability recommendations --You can get reliability recommendations on the **Reliability** tab on the Advisor dashboard. --1. Sign in to the [**Azure portal**](https://portal.azure.com). --1. Search for and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page. --1. On the **Advisor** dashboard, select the **Reliability** tab. --## Reliability workbook --You can evaluate the reliability of posture of your applications, assess risks and plan improvements using the new Reliability workbook template, which is available in Azure Advisor. --1. Sign in to the [**Azure portal**](https://portal.azure.com). --1. Search for and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page. --1. Select **Workbooks** item in the left menu. --1. Open **Reliability** workbook template. ---Reliability considerations for individual Azure services are provided in the [resiliency checklist for Azure services](/azure/architecture/checklist/resiliency-per-service). --> [!NOTE] -> The workbook is to be used as a guidance only and does not represent a guarantee for service level. --### Navigating the workbook --Workbook offers a set of filters that you can use to scope recommendation for a specific application. --* Subscription -* Resource Group -* Environment -* Tags --The workbook uses tags with names Environment, environment, Env, env and common keywords (prod, dev, qa, uat, sit, test) as part of resource name to show environment for a specific resource. If there are no tags or naming conventions detected, the environment filter is displayed as 'undefined'. The 'undefined' value is shown only within the workbook and is not used anywhere else. --Use **SLA** and **Help** controls to show additional information: --* Show SLA - Displays the service SLA. -* Show Help - Displays best practice configurations to increase the reliability of the resource deployment. --The workbook offers best practices for Azure services including: -* **Compute**: Virtual Machines, Virtual Machine Scale Sets -* **Containers**: Azure Kubernetes service -* **Databases**: SQL Database, Synapse SQL Pool, Cosmos DB, Azure Database for MySQL, PostgreSQL, Azure Cache for Redis -* **Integration**: Azure API Management -* **Networking**: Azure Firewall, Azure Front Door & CDN, Application Gateway, Load Balancer, Public IP, VPN & Express Route Gateway -* **Storage**: Storage Account -* **Web**: App Service Plan, App Service, Function App -* **Azure Site Recovery** -* **Service Alerts** --To share the findings with your team, you can export data for each of the services or share the workbook link with them. -To customize the workbook, save the template into your subscription and click Edit button in top menu. --> [!NOTE] -> To assess your workload using the tenets found in the Microsoft Azure Well-Architected Framework, see the [Microsoft Azure Well-Architected Review](/assessments/?id=azure-architecture-review&mode=pre-assessment). --## Next steps --For more information about Advisor recommendations, see: -* [Reliability recommendations](advisor-reference-reliability-recommendations.md) -* [Introduction to Advisor](advisor-overview.md) -* [Get started with Advisor](advisor-get-started.md) -- |
advisor | Advisor How To Performance Resize High Usage Vm Recommendations | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-how-to-performance-resize-high-usage-vm-recommendations.md | - Title: Improve the performance of highly used VMs using Azure Advisor -description: Use Azure Advisor to improve the performance of your Azure virtual machines with consistent high utilization. - Previously updated : 10/27/2022---# Improve the performance of highly used VMs using Azure Advisor --Azure Advisor helps you improve the speed and responsiveness of your business-critical applications. You can get performance recommendations from the **Performance** tab on the Advisor dashboard. --1. Sign in to the [**Azure portal**](https://portal.azure.com). --1. Search for and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page. --1. On the **Advisor** dashboard, select the **Performance** tab. --## Optimize virtual machine (VM) performance by right-sizing highly utilized instances --You can improve the quality of your workload and prevent many performance-related issues (i.e., throttling, high latency) by regularly assessing your [performance efficiency](/azure/architecture/framework/scalability/overview). Performance efficiency is defined by the [Azure Well-Architected Framework](/azure/architecture/framework/) as the ability of your workload to adapt to changes in load. Performance efficiency is one of the five pillars of architectural excellence on Azure. --Unless by design, we recommend keeping your application's usage well below your virtual machine's size limits, so it can better operate and easily accommodate changes. --Advisor aggregates various metrics over a minimum of 7 days, identifies virtual machines with consistent high utilization across those metrics, and finds better sizes (SKUs) for improved performance. Finally, Advisor examines capacity signals in Azure to frequently refresh the recommended SKUs, ensuring that they are available for deployment in the region. --### Resize SKU recommendations --Advisor recommends resizing virtual machines when use is consistently high (above predefined thresholds) given the running virtual machine's size limits. --- The recommendation algorithm evaluates **CPU**, **Memory**, **VM Cached IOPS Consumed Percentage**, and **VM Uncached Bandwidth Consumed Percentage** usage metrics-- The observation period is the past 7 days from the day of the recommendation-- Metrics are sampled every 30 seconds, aggregated to 1 minute and then further aggregated to 30 minutes (taking the average of 1-minute average values while aggregating to 30 minutes)-- A SKU upgrade for virtual machines is decided given the following criteria: - - For each metric, we create a new feature from the P50 (median) of its 30-mins averages aggregated over the observation period. Therefore, a virtual machine is identified as a candidate for a resize if: - * _Both_ `CPU` and `Memory` features are >= *90%* of the current SKU's limits - * Otherwise, _either_ - * The `VM Cached IOPS` feature is >= to *95%* of the current SKU's limits, and the current SKU's max local disk IOPS is >= to its network disk IOPS. _or_ - * the `VM Uncached Bandwidth` feature is >= *95%* of the current SKU's limits, and the current SKU's max network disk throttle limits are >= to its local disk throttle units -- We ensure the following:- - The current workload utilization will be better on the new SKU's given that it has higher limits and better performance guarantees - - The new SKU has the same Accelerated Networking and Premium Storage capabilities - - The new SKU is supported and ready for deployment in the same region as the running virtual machine ---In some cases, recommendations can't be adopted or might not be applicable, such as some of these common scenarios (there may be other cases): -- The virtual machine is short-lived-- The current virtual machine has already been provisioned to accommodate upcoming traffic-- Specific testing being done using the current SKU, even if not utilized efficiently-- There's a need to keep the virtual machine as-is--In such cases, simply use the Dismiss/Postpone options associated with the recommendation. --We're constantly working on improving these recommendations. Feel free to share feedback on [Advisor Forum](https://aka.ms/advisorfeedback). --## Next steps --To learn more about Advisor recommendations and best practices, see: -* [Get started with Advisor](advisor-get-started.md) -* [Introduction to Advisor](advisor-overview.md) -* [Advisor score](azure-advisor-score.md) -* [Advisor performance recommendations](advisor-reference-performance-recommendations.md) -* [Advisor cost recommendations (full list)](advisor-reference-cost-recommendations.md) -* [Advisor reliability recommendations](advisor-reference-reliability-recommendations.md) -* [Advisor security recommendations](advisor-security-recommendations.md) -* [Advisor operational excellence recommendations](advisor-reference-operational-excellence-recommendations.md) -* [The Microsoft Azure Well-Architected Framework](/azure/architecture/framework/) |
advisor | Advisor How To Plan Migration Workloads Service Retirement | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-how-to-plan-migration-workloads-service-retirement.md | - Title: Prepare migration of your workloads impacted by service retirements. -description: Use Azure Advisor to plan the migration of the workloads impacted by service retirements. - Previously updated : 05/19/2023----# Prepare migration of your workloads impacted by service retirement --Azure Advisor helps you assess and improve the continuity of your business-critical applications. It's important to be aware of upcoming Azure services and feature retirements to understand their impact on your workloads and plan migration. --## Service Retirement workbook --The Service Retirement workbook provides a single centralized resource level view of service retirements. It helps you assess impact, evaluate options, and plan for migration from retiring services and features. The workbook template is available in Azure Advisor gallery. -Here's how to get started: --1. Navigate to [Workbooks gallery](https://aka.ms/advisorworkbooks) in Azure Advisor -1. Open **Service Retirement (Preview)** workbook template. -1. Select a service from the list to display a detailed view of impacted resources. --The workbook shows a list and a map view of service retirements that impact your resources. For each of the services, there's a planned retirement date, number of impacted resources and migration instructions including recommended alternative service. --* Use subscription, resource group and location filters to focus on a specific workload. -* Use sorting to find services, which are retiring soon and have the biggest impact on your workloads. -* Share the report with your team to help them plan migration using export function. ----> [!NOTE] -> The workbook contains information about a subset of services and features that are in the retirement lifecycle. While we continue to add more services to this workbook, you can view the lifecycle status of all Azure services by visiting [Azure updates](https://azure.microsoft.com/updates/?updateType=retirements). - -For more information, see: -* [Azure Service Health](../service-health/overview.md) -* [Azure updates](https://azure.microsoft.com/updates/?updateType=retirements) -* [Introduction to Advisor](advisor-overview.md) |
advisor | Advisor Overview | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-overview.md | - Title: Introduction to Azure Advisor -description: Learn how to use Azure Advisor to optimize your Azure deployments and get answers to frequently asked questions. - Previously updated : 07/08/2024---# Introduction to Azure Advisor --Learn about the key capabilities of Azure Advisor and get answers to frequently asked questions. --## What is Advisor? -Advisor is a digital cloud assistant that helps you follow best practices to optimize your Azure deployments. It analyzes your resource configuration and usage telemetry and then recommends solutions that can help you improve the cost effectiveness, performance, reliability, and security of your Azure resources. --With Advisor, you can: --* Get proactive, actionable, and personalized best practices recommendations. -* Improve the performance, security, and reliability of your resources, as you identify opportunities to reduce your overall Azure spend. -* Get recommendations with proposed actions inline. --You can access Advisor through the [Azure portal](https://aka.ms/azureadvisordashboard). Sign in to the [portal](https://portal.azure.com), locate **Advisor** on the navigation pane, or search for it on the **All services** menu. --The Advisor dashboard displays personalized recommendations for all your subscriptions. The recommendations are divided into five categories: --* **Reliability**: To ensure and improve the continuity of your business-critical applications. For more information, see [Advisor reliability recommendations](advisor-reference-reliability-recommendations.md). -* **Security**: To detect threats and vulnerabilities that might lead to security breaches. For more information, see [Advisor security recommendations](advisor-security-recommendations.md). -* **Performance**: To improve the speed of your applications. For more information, see [Advisor performance recommendations](advisor-reference-performance-recommendations.md). -* **Cost**: To optimize and reduce your overall Azure spending. For more information, see [Advisor cost recommendations](advisor-reference-cost-recommendations.md). -* **Operational excellence**: To help you achieve process and workflow efficiency, resource manageability, and deployment best practices. For more information, see [Advisor operational excellence recommendations](advisor-reference-operational-excellence-recommendations.md). --You can apply filters to display recommendations for specific subscriptions and resource types. ---Select a category to display the list of recommendations for that category. Select a recommendation to learn more about it. You can also learn about actions that you can perform to take advantage of an opportunity or resolve an issue. ---Select the recommended action for a recommendation to implement the recommendation. A simple interface opens that enables you to implement the recommendation. It also might refer you to documentation that assists you with implementation. After you implement a recommendation, it can take up to a day for Advisor to recognize the action. --If you don't intend to take immediate action on a recommendation, you can postpone it for a specified time period. You can also dismiss it. If you don't want to receive recommendations for a specific subscription or resource group, you can configure Advisor to only generate recommendations for specified subscriptions and resource groups. --## Frequently asked questions --Here are answers to common questions about Advisor. --### How do I access Advisor? -You can access Advisor through the [Azure portal](https://aka.ms/azureadvisordashboard). Sign in to the [portal](https://portal.azure.com), locate **Advisor** on the navigation pane, or search for it on the **All services** menu. --### What permissions do I need to access Advisor? --You can access Advisor recommendations as the Owner, Contributor, or Reader of a subscription, resource group, or resource. --### What resources does Advisor provide recommendations for? --Advisor provides recommendations for the following --- Azure API Management-- Azure Application Gateway-- Azure App Service-- Availability sets-- Azure Cache-- Azure Database for MySQL-- Azure Database for PostgreSQL-- Azure Farmbeats-- Azure Stack ACI-- Azure public IP addresses-- Azure Synapse Analytics-- Central server-- Azure Cognitive Services-- Azure Cosmos DB-- Azure Data Explorer-- Azure Data Factory-- Databricks Workspace-- Azure ExpressRoute-- Azure Front Door-- Azure HDInsight cluster-- Azure IoT Hub-- Azure Key Vault-- Azure Kubernetes Service-- Log Analytics-- Azure Cache for Redis server-- SQL Server-- Azure Storage account-- Azure Traffic Manager profile-- Azure Virtual Machines-- Azure Virtual Machine Scale Sets-- Azure Virtual Network gateway--Advisor also includes your recommendations from [Microsoft Defender for Cloud](/azure/defender-for-cloud/defender-for-cloud-introduction), which might include recommendations for other resource types. --### Can I postpone or dismiss a recommendation? --To postpone or dismiss a recommendation, select **Postpone** or **Dismiss**. The recommendation is moved to the **Postponed/Dismissed** tab on the recommendation list page. --## Related content --To learn more about Advisor recommendations, see: --* [Get started with Advisor](advisor-get-started.md) -* [Advisor score](azure-advisor-score.md) -* [Advisor reliability recommendations](advisor-reference-reliability-recommendations.md) -* [Advisor security recommendations](advisor-security-recommendations.md) -* [Advisor performance recommendations](advisor-reference-performance-recommendations.md) -* [Advisor cost recommendations](advisor-reference-cost-recommendations.md) -* [Advisor operational excellence recommendations](advisor-reference-operational-excellence-recommendations.md) |
advisor | Advisor Quick Fix | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-quick-fix.md | - Title: Quick Fix remediation for Advisor recommendations -description: Perform bulk remediation using Quick Fix in Advisor - Previously updated : 03/13/2020---# Quick Fix remediation for Advisor -**Quick Fix** enables a faster and easier way of remediation for recommendation on multiple resources. It provides capability for bulk remediations for resources and helps you optimize your subscriptions faster with remediation at scale for your resources. -The feature is available for certain recommendations only, via Azure portal. ---## Steps to use 'Quick Fix' --1. From the list of recommendations that have the **Quick Fix** label, click on the recommendation. -- :::image type="content" source="./media/quick-fix-1.png" alt-text="{Screenshot of Azure Advisor showing Quick Fix labels in the recommendations.}"::: - - *Prices in the image are for example purposes only* --2. On the Recommendation details page, you'll see list of resources for which you have this recommendation. Select all the resources you want to remediate for the recommendation. -- :::image type="content" source="./media/quick-fix-2.png" alt-text="Screenshot of the Impacted resources window with list items and the Quick Fix button highlighted."::: - - *Prices in the image are for example purposes only* --3. Once you have selected the resources, click on the **Quick Fix** button to bulk remediate. -- > [!NOTE] - > Some of the listed resources might be disabled, because you don't have the appropriate permissions to modify them. - - > [!NOTE] - > If there are other implications, in addition to benefits mentioned in Advisor, you will be communicated in the experience to help you take informed remediation decisions. - -4. You will get a notification for the remediation completion. You will see an error if there are resources which are not remediated and resources in the selected mode in the resource list view. ---## Next steps --For more information about Advisor recommendations, see: -* [Introduction to Azure Advisor](advisor-overview.md) -* [Get started with Advisor](advisor-get-started.md) -* [Advisor Cost recommendations](advisor-cost-recommendations.md) -* [Advisor Performance recommendations](advisor-performance-recommendations.md) -* [Advisor Security recommendations](advisor-security-recommendations.md) -* [Advisor Operational Excellence recommendations](advisor-operational-excellence-recommendations.md) -* [Advisor REST API](/rest/api/advisor/) |
advisor | Advisor Recommendations Digest | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-recommendations-digest.md | - Title: Recommendation digest for Azure Advisor -description: Get periodic summary for your active recommendations - Previously updated : 03/16/2020---# Configure periodic summary for recommendations --Advisor **recommendation digests** provide an easy and proactive way to stay on top of your active recommendations, across different categories. The feature provides the ability to configure periodic notifications for the summary of all your active recommendations, across different categories. You can choose your desired channel for notifications like email, sms or others, using action groups. -This article shows you how to set-up a **recommendation digests** for your Advisor recommendations. ---## Setting-up your recommendation digest --The **recommendation digest** creation experience helps you configure the summary. You can select below parameters for configurations: -1. Category: We have recommendation categories like cost, high availability, performance and operational excellence. The capability is not available for security recommendations yet. -2. Frequency of digest: Frequency for the summary notifications can be weekly, bi-weekly and monthly. -3. Action group: You can either select an existing action group or create a new action group. To learn more about action groups, see [create and manage action groups](../azure-monitor/alerts/action-groups.md). -4. Language for the digest -5. Recommendation digest name: You can use a user-friendly string to better track and monitor the digests. --## Steps to create recommendation digest in Azure portal --Here are the steps to create **recommendation digest:** -* **Step 1:** In the Azure portal, go to **Advisor** and under **Monitoring** section, select **Recommendation digest** -- ![Recommendation digest entry-point](./media/digest-0.png) --* **Step 2:** Select **New recommendation digest** from the top bar as below: -- ![Create recommendation digest](./media/digest-5.png) --* **Step 3:** In the **scope** section, select the **subscription** for your digest -- ![Provide recommendation digest inputs](./media/digest-1.png) --* **Step 4:** In the **condition** section, select the configurations like **category**, **frequency** and **language** -- ![Provide recommendation digest input conditions](./media/digest-2.png) --* **Step 5:** In the **action group** section, select the **action group** for the digest. You can learn more here - [Create and manage action groups](../azure-monitor/alerts/action-groups.md) -- ![Provide recommendation digest input action group](./media/digest-3.png) --* **Step 6:** In this final section for **digest details**, you can assign name and state to your recommendation digest. Press **create recommendation digest** to complete the set-up. - ![Complete recommendation digest creation](./media/digest-4.png) --## Next steps --For more information about Advisor recommendations, see: -* [Introduction to Azure Advisor](advisor-overview.md) -* [Get started with Advisor](advisor-get-started.md) -* [Advisor Cost recommendations](advisor-cost-recommendations.md) -* [Advisor Performance recommendations](advisor-performance-recommendations.md) -* [Advisor Security recommendations](advisor-security-recommendations.md) -* [Advisor Operational Excellence recommendations](advisor-operational-excellence-recommendations.md) -* [Advisor REST API](/rest/api/advisor/) |
advisor | Advisor Reference Cost Recommendations | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-reference-cost-recommendations.md | - Title: Cost recommendations -description: Full list of available cost recommendations in Advisor. - Previously updated : 10/15/2023---# Cost recommendations --Azure Advisor helps you optimize and reduce your overall Azure spend by identifying idle and underutilized resources. You can get cost recommendations from the **Cost** tab on the Advisor dashboard. --1. Sign in to the [**Azure portal**](https://portal.azure.com). --1. Search for and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page. --1. On the **Advisor** dashboard, select the **Cost** tab. -----## AI Services --### Potential Cost Savings on this Document Intelligence Resource --We observed that your Document Intelligence (formerly Form Recognizer) resource had enough usage in the past 30 days for you to consider using a Commitment tier. --Learn more about [Cognitive Service - AzureAdvisorFRCommitment (Potential Cost Savings on this Computer Vision Resource)](https://azure.microsoft.com/pricing/details/cognitive-services/computer-vision/). --### Potential Cost Savings on this Computer Vision Resource --We observed that your Computer Vision resource had enough READ usage in the past 30 days for you to consider using a Commitment tier. --Learn more about [Cognitive Service - AzureAdvisorCVReadCommitment (Potential Cost Savings on this Computer Vision Resource)](https://azure.microsoft.com/pricing/details/cognitive-services/computer-vision/). --### Potential Cost Savings on this Speech Service Resource --We observed that your Speech Service resource had enough usage in the past 30 days for you to consider using a Commitment tier. --Learn more about [Cognitive Service - AzureAdvisorSpeechCommitment (Azure AI Document Intelligence pricing)](https://azure.microsoft.com/pricing/details/ai-document-intelligence/). --### Potential Cost Savings on this Translator Resource --We observed that your Translator resource had enough usage in the past 30 days for you to consider using a Commitment tier. --Learn more about [Cognitive Service - AzureAdvisorTranslatorCommitment (Potential Cost Savings on this Translator Resource)](https://azure.microsoft.com/pricing/details/cognitive-services/translator/). --### Potential Cost Savings on this LUIS Resource --We observed that your LUIS resource had enough usage in the past 30 days for you to consider using a Commitment tier. --Learn more about [Cognitive Service - AzureAdvisorLUISCommitment (Potential Cost Savings on this LUIS Resource)](https://azure.microsoft.com/pricing/details/cognitive-services/language-understanding-intelligent-services/). --### Potential Cost Savings on this Language Service Resource --We observed that your Language Service resource had enough usage in the past 30 days for you to consider using a Commitment tier. --Learn more about [Cognitive Service - AzureAdvisorTextAnalyticsCommitment (Potential Cost Savings on this Language Service Resource)](https://azure.microsoft.com/pricing/details/cognitive-services/language-service/). --### Enable Autoscaling for Azure Databricks Clusters --Autoscaling makes it easier to achieve high cluster utilization, because you don’t need to provision the cluster to match a workload. When you're using autoscaling, workloads can run faster and overall costs can be reduced compared to a static cluster. --Learn more about [Databricks Workspace - DatabricksEnableAutoscaling (Enable Autoscaling for Azure Databricks Clusters)](/azure/databricks/archive/compute/configure). ----## Analytics --### Unused, stopped, Data Explorer resources --This recommendation surfaces all stopped Data Explorer resources that have been stopped for at least 60 days. Consider deleting the resources. --Learn more about [Data explorer resource - ADX stopped resource (Unused stopped Data Explorer resources)](https://aka.ms/adxunusedstoppedcluster). --### Unused/Empty Data Explorer resources --This recommendation surfaces all Data Explorer resources provisioned more than 10 days from the last update, and found either empty or with no activity. Consider deleting the resources. --Learn more about [Data explorer resource - ADX Unused resource (Unused/Empty Data Explorer resources)](https://aka.ms/adxemptycluster). --### Right-size Data Explorer resources for optimal cost --One or more of these issues were detected: Low data capacity, CPU utilization, or memory utilization. Scale down and/or scale in the resource to the recommended configuration shown. --Learn more about [Data explorer resource - Right-size for cost (Right-size Data Explorer resources for optimal cost)](https://aka.ms/adxskusize). --### Reduce Data Explorer table cache policy to optimize costs --Reducing the table cache policy frees up Data Explorer cluster nodes with low CPU utilization, memory, and a high cache size configuration. --Learn more about [Data explorer resource - ReduceCacheForAzureDataExplorerTables (Reduce Data Explorer table cache policy to optimize costs)](https://aka.ms/adxcachepolicy). --### Unused running Data Explorer resources --This recommendation surfaces all running Data Explorer resources with no user activity. Consider stopping the resources. --Learn more about [Data explorer resource - StopUnusedClusters (Unused running Data Explorer resources)](/azure/data-explorer/azure-advisor#azure-data-explorer-unused-cluster). --### Cleanup unused storage in Data Explorer resources --Over time, internal extents merge operations can accumulate redundant and unused storage artifacts that remain beyond the data retention period. While this unreferenced data doesn’t negatively impact the performance, it can lead to more storage use and larger costs than necessary. This recommendation surfaces Data Explorer resources that have unused storage artifacts. We recommended that you run the cleanup command to detect and delete unused storage artifacts and reduce cost. Recoverability will be reset to the cleanup time and not available on data that was created before running the cleanup. --Learn more about [Data explorer resource - RunCleanupCommandForAzureDataExplorer (Cleanup unused storage in Data Explorer resources)](https://aka.ms/adxcleanextentcontainers). --### Enable optimized autoscale for Data Explorer resources --Looks like your resource could have automatically scaled to reduce costs (based on the usage patterns, cache utilization, ingestion utilization, and CPU). To optimize costs and performance, we recommend enabling optimized autoscale. To make sure you don't exceed your planned budget, add a maximum instance count when you enable optimized autoscale. --Learn more about [Data explorer resource - EnableOptimizedAutoscaleAzureDataExplorer (Enable optimized autoscale for Data Explorer resources)](https://aka.ms/adxoptimizedautoscale). --### Change Data Explorer clusters to a more cost effective and better performing SKU --You have resources operating under a nonoptimal SKU. We recommend migrating to a more cost effective and better performing SKU. This SKU should reduce your costs and improve overall performance. We have calculated the required instance count that meets both the CPU and cache of your cluster. --Learn more about [Data explorer resource - SkuChangeForAzureDataExplorer (Change Data Explorer clusters to a more cost effective and better performing SKU)](https://aka.ms/clusterChooseSku). --### Consider Changing Pricing Tier --Based on your current usage volume, investigate changing your pricing (Commitment) tier to receive a discount and reduce costs. --Learn more about [Log Analytics workspace - considerChangingPricingTier (Consider Changing Pricing Tier)](/azure/azure-monitor/logs/change-pricing-tier). --### Consider configuring the low-cost Basic logs plan on selected tables --We have identified ingestion of more than 1 GB per month to tables that are eligible for the low cost Basic log data plan. The Basic log plan gives you search capabilities for debugging and troubleshooting at a lower cost. --Learn more about [Log Analytics workspace - EnableBasicLogs (Consider configuring the low-cost Basic logs plan on selected tables)](https://aka.ms/basiclogs). --### Consider removing unused restored tables --You have one or more tables with restored data active in your workspace. If you're no longer using a restored data, delete the table to avoid unnecessary charges. --Learn more about [Log Analytics workspace - DeleteRestoredTables (Consider removing unused restored tables)](https://aka.ms/LogAnalyticsRestore). --### Consider enabling autopause on Spark compute --Autopause releases and shuts down unused Compute resources after a set idle period of inactivity. --Learn more about [Synapse workspace - EnableSynapseSparkComputeAutoPauseGuidance (Consider enabling autopause feature on spark compute.)](https://aka.ms/EnableSynapseSparkComputeAutoPauseGuidance). --### Consider enabling autoscale on Spark compute --Autoscale automatically scales the number of nodes in a cluster instance up and down. During the creation of a new Spark pool, you can set a minimum and maximum number of nodes when autoscale is selected. Autoscale then monitors the resource requirements of the load and scales the number of nodes up or down. There's no extra charge for this feature. --Learn more about [Synapse workspace - EnableSynapseSparkComputeAutoScaleGuidance (Consider enabling autoscale feature on spark compute.)](https://aka.ms/EnableSynapseSparkComputeAutoScaleGuidance). ----## Compute --### Standard SSD disks billing caps. --Customers running high IO workloads in Standard HDDs can upgrade to Standard SSDs and benefit from better performance and SLA and now experience a limit on the maximum number of billed transactions. --Learn more about [Understand Azure Disk Storage billing](/azure/virtual-machines/disks-understand-billing). --### Underutilized Disks Identified --You have disks that are utilized less than 10%, right-size to save cost. --Learn more about [Managed disks: Find and delete unattached disks](/azure/virtual-machines/disks-find-unattached-portal). --### You have disks that haven't been attached to a VM for more than 30 days. Evaluate if you still need the disk. --We've observed that you have disks that haven't been attached to a VM for more than 30 days. Evaluate if you still need the disk. If you decide to delete the disk, recovery isn't possible. We recommend that you create a snapshot before deletion or ensure the data in the disk is no longer required. --Learn more about [Disk - DeleteOrDowngradeUnattachedDisks (You have disks that haven't been attached to a VM for more than 30 days. Evaluate if you still need the disk.)](https://aka.ms/unattacheddisks). --### Right-size or shutdown underutilized virtual machine scale sets --We've analyzed the usage patterns of your virtual machine scale sets over the past seven days and identified virtual machine scale sets with low usage. While certain scenarios can result in low utilization by design, you can often save money by managing the size and number of virtual machine scale sets. --Learn more about [Virtual machine scale set - LowUsageVmss (Right-size or shutdown underutilized virtual machine scale sets)](https://aka.ms/aa_lowusagerec_vmss_learnmore). --> [!TIP] -> If you're unsure whether you can shut down an idle resource without causing chaos, you can first restrict access to the resource. Make sure the resource's role is restricted, too. Leave the resource up for a few weeks, and if nobody has connected to it or has complained, chances are the resource can be shut down safely. --### Use Virtual Machines with Ephemeral OS Disk enabled to save cost and get better performance --With Ephemeral OS Disk, You get these benefits: Save on storage cost for OS disk. Get lower read/write latency to OS disk. Faster VM Reimage operation by resetting OS (and Temporary disk) to its original state. It's preferable to use Ephemeral OS Disk for short-lived IaaS VMs or VMs with stateless workloads. --Learn more about [Subscription - EphemeralOsDisk (Use Virtual Machines with Ephemeral OS Disk enabled to save cost and get better performance)](/azure/virtual-machines/windows/ephemeral-os-disks). -----## Databases --### Right-size underutilized MariaDB servers --Our internal telemetry shows that your MariaDB database server resources have been underutilized for an extended period of time over the last seven days. Low resource utilization results in unwanted expenditure that can be fixed without significant performance impact. To reduce your costs and efficiently manage your resources, we recommend reducing the compute size (vCores) by half. --Learn more about [MariaDB server - OrcasMariaDbCpuRightSize (Right-size underutilized MariaDB servers)](https://aka.ms/mariadbpricing). --### Right-size underutilized MySQL servers --Our internal telemetry shows that your MySQL database server resources have been underutilized for an extended period of time over the last seven days. Low resource utilization results in unwanted expenditure that can be fixed without significant performance impact. To reduce your costs and efficiently manage your resources, we recommend reducing the compute size (vCores) by half. --Learn more about [MySQL server - OrcasMySQLCpuRightSize (Right-size underutilized MySQL servers)](https://aka.ms/mysqlpricing). --### Right-size underutilized PostgreSQL servers --Our internal telemetry shows that your PostgreSQL database server resources have been underutilized for an extended period of time over the last seven days. Low resource utilization results in unwanted expenditure that can be fixed without significant performance impact. To reduce your costs and efficiently manage your resources, we recommend reducing the compute size (vCores) by half. --Learn more about [PostgreSQL server - OrcasPostgreSqlCpuRightSize (Right-size underutilized PostgreSQL servers)](https://aka.ms/postgresqlpricing). --### Review the configuration of your Azure Cosmos DB free tier account --Your Azure Cosmos DB free tier account currently contains resources with a total provisioned throughput exceeding 1,000 Request Units per second (RU/s). Because the free tier only covers the first 1000 RU/s of throughput provisioned across your account, any throughput beyond 1000 RU/s is billed at the regular pricing. As a result, we anticipate that you're charged for the throughput currently provisioned on your Azure Cosmos DB account. --Learn more about [Azure Cosmos DB account - CosmosDBFreeTierOverage (Review the configuration of your Azure Cosmos DB free tier account)](/azure/cosmos-db/understand-your-bill#azure-free-tier). --### Consider taking action on your idle Azure Cosmos DB containers --We haven't detected any activity over the past 30 days on one or more of your Azure Cosmos DB containers. Consider lowering their throughput, or deleting them if you don't plan on using them. --Learn more about [Azure Cosmos DB account - CosmosDBIdleContainers (Consider taking action on your idle Azure Cosmos DB containers)](/azure/cosmos-db/how-to-provision-container-throughput). --### Enable autoscale on your Azure Cosmos DB database or container --Based on your usage in the past seven days, you can save by enabling autoscale. For each hour, we compared the RU/s provisioned to the actual utilization of the RU/s (what autoscale would have scaled to) and calculated the cost savings across the time period. Autoscale helps optimize your cost by scaling down RU/s when not in use. --Learn more about [Azure Cosmos DB account - CosmosDBAutoscaleRecommendations (Enable autoscale on your Azure Cosmos DB database or container)](/azure/cosmos-db/provision-throughput-autoscale). --### Configure manual throughput instead of autoscale on your Azure Cosmos DB database or container --Based on your usage in the past seven days, you can save by using manual throughput instead of autoscale. Manual throughput is more cost-effective when average utilization of your max throughput (RU/s) is greater than 66% or less than or equal to 10%. --Learn more about [Azure Cosmos DB account - CosmosDBMigrateToManualThroughputFromAutoscale (Configure manual throughput instead of autoscale on your Azure Cosmos DB database or container)](/azure/cosmos-db/how-to-choose-offer). -----## Management and Governance --### Azure Monitor --For Azure Monitor cost optimization suggestions, see [Optimize costs in Azure Monitor](../azure-monitor/best-practices-cost.md). --### Purchasing a savings plan for compute could unlock lower prices --We analyzed your compute usage over the last 30 days and recommend adding a savings plan to increase your savings. The savings plan unlocks lower prices on select compute services when you commit to spend a fixed hourly amount for 1 or 3 years. As you use select compute services globally, your usage is covered by the plan at reduced prices. During the times when your usage is above your hourly commitment, you’ll simply be billed at your regular pay-as-you-go prices. With savings automatically applying across compute usage globally, you’ll continue saving even as your usage needs change over time. Savings plan are more suited for dynamic workloads while accommodating for planned or unplanned changes while reservations are more suited for stable, predictable workloads with no planned changes. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope savings plans are available in purchase experience and can further increase savings. --Learn more about [Subscription - SavingsPlan (Purchasing a savings plan for compute could unlock lower prices)](https://aka.ms/savingsplan-compute). ------## Networking --### Delete ExpressRoute circuits in the provider status of Not Provisioned --We noticed that your ExpressRoute circuit is in the provider status of Not Provisioned for more than one month. This circuit is currently billed hourly to your subscription. Delete the circuit if you aren't planning to provision the circuit with your connectivity provider. --Learn more about [ExpressRoute circuit - ExpressRouteCircuit (Delete ExpressRoute circuits in the provider status of Not Provisioned)](https://aka.ms/expressroute). --### Repurpose or delete idle virtual network gateways --We noticed that your virtual network gateway has been idle for over 90 days. This gateway is being billed hourly. Reconfigure this gateway, or delete it if you don't intend to use it anymore. --Learn more about [Virtual network gateway - IdleVNetGateway (Repurpose or delete idle virtual network gateways)](https://aka.ms/aa_idlevpngateway_learnmore). --### Consider migrating to Front Door Standard/Premium --Your Front Door Classic tier contains a large number of domains or routing rules, which adds extra charges. Front Door Standard or Premium tiers don't charge per additional domain or routing rule. Consider migrating to save costs. --Learn more about [Front Door pricing](https://aka.ms/afd-pricing). --### Consider using multiple endpoints under one single Front Door Standard/Premium profile --We detected your subscription contains multiple Front Door Standard/Premium profiles with a small number of endpoints on them. You can save costs in base fees by using multiple endpoints within one profile. You can use a maximum of 10 endpoints with Standard tier and 25 endpoints with Premium tier. --Learn more about [Front Door endpoints](https://aka.ms/afd-endpoints). --## Reserved instances --### Buy virtual machine reserved instances to save money over pay-as-you-go costs --Reserved instances can provide a significant discount over pay-as-you-go prices. With reserved instances, you can prepurchase the base costs for your virtual machines. Discounts automatically apply to new or existing VMs that have the same size and region as your reserved instance. We analyzed your usage over the last 30 days and recommend money-saving reserved instances. --Learn more about [Virtual machine - ReservedInstance (Buy virtual machine reserved instances to save money over pay-as-you-go costs)](https://aka.ms/reservedinstances). --### Consider App Service reserved instances to save over your on-demand costs --We analyzed your App Service usage pattern over the selected term, look-back period, and recommend a Reserved Instance purchase that maximizes your savings. With reserved instances, you can prepurchase hourly usage for the App Service plan and save over your Pay-as-you-go costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions based on usage pattern over selected Term, look-back period. --Learn more about [Subscription - AppServiceReservedCapacity (Consider App Service reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider Azure Cosmos DB reserved instances to save over your pay-as-you-go costs --We analyzed your Azure Cosmos DB usage pattern over last 30 days and calculate a Reserved Instance purchase that maximizes your savings. With reserved instances, you can prepurchase Azure Cosmos DB hourly usage and save over your pay-as-you-go costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and usage pattern over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings even more. --Learn more about [Subscription - CosmosDBReservedCapacity (Consider Azure Cosmos DB reserved instances to save over your pay-as-you-go costs)](https://aka.ms/rirecommendations). --### Consider virtual machine reserved instances to save over your on-demand costs --Reserved instances can provide a significant discount over on-demand prices. With reserved instances, you can prepurchase the base costs for your virtual machines. Discounts automatically apply to new or existing VMs that have the same size and region as your reserved instance. We analyzed your usage over the selected Term, look-back period, and recommend money-saving reserved instances. --Learn more about [Subscription - ReservedInstance (Consider virtual machine reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider Cosmos DB reserved instances to save over your pay-as-you-go costs --We analyzed your Cosmos DB usage pattern over selected Term, look-back period and calculate a Reserved Instance purchase that maximizes your savings. With reserved instances, you can prepurchase Cosmos DB hourly usage and save over your pay-as-you-go costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and usage pattern over the selected Term, look-back period. Shared scope recommendations are available in reservation purchase experience and can increase savings even more. --Learn more about [Subscription - CosmosDBReservedCapacity (Consider Cosmos DB reserved instances to save over your pay-as-you-go costs)](https://aka.ms/rirecommendations). --### Consider SQL PaaS DB reserved instances to save over your pay-as-you-go costs --We analyzed your SQL PaaS usage pattern over last 30 days and recommend a Reserved Instance purchase that maximizes your savings. With reserved instances, you can prepurchase hourly usage for your SQL PaaS deployments and save over your SQL PaaS compute costs. SQL license is charged separately and is not discounted by the reservation. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - SQLReservedCapacity (Consider SQL PaaS DB reserved instances to save over your pay-as-you-go costs)](https://aka.ms/rirecommendations). --### Consider App Service stamp fee reserved instances to save over your on-demand costs --We analyzed your App Service isolated environment stamp fees usage pattern over last 30 days and recommend a Reserved Instance purchase to maximize your savings. With reserved instances, you can prepurchase hourly usage for the isolated environment stamp fee and save over your pay-as-you-go costs. Reserved instances only apply to the stamp fee and not to the App Service instances. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions based on usage pattern over last 30 days. --Learn more about [Subscription - AppServiceReservedCapacity (Consider App Service stamp fee reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider Database for MariaDB reserved instances to save over your pay-as-you-go costs --We analyzed your Azure Database for MariaDB usage pattern over last 30 days and recommend a Reserved Instance purchase that maximizes your savings. With reserved instances, you can prepurchase MariaDB hourly usage and save over your compute costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - MariaDBSQLReservedCapacity (Consider Database for MariaDB reserved instances to save over your pay-as-you-go costs)](https://aka.ms/rirecommendations). --### Consider Database for MySQL reserved instances to save over your pay-as-you-go costs --We analyzed your MySQL Database usage pattern over last 30 days and recommend reserved instances purchase that maximizes your savings. With reserved instances, you can prepurchase MySQL hourly usage and save over your compute costs. Reserved instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - MySQLReservedCapacity (Consider Database for MySQL reserved instances to save over your pay-as-you-go costs)](https://aka.ms/rirecommendations). --### Consider Database for PostgreSQL reserved instances to save over your pay-as-you-go costs --We analyzed your Database for PostgreSQL usage pattern over last 30 days and recommend a Reserved Instance purchase that maximizes your savings. With reserved instances, you can prepurchase PostgreSQL Database hourly usage and save over your on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - PostgreSQLReservedCapacity (Consider Database for PostgreSQL reserved instances to save over your pay-as-you-go costs)](https://aka.ms/rirecommendations). --### Consider Cache for Redis reserved instances to save over your pay-as-you-go costs --We analyzed your Cache for Redis usage pattern over last 30 days and calculated a Reserved Instance purchase that maximizes your savings. With reserved instances, you can prepurchase Cache for Redis hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - RedisCacheReservedCapacity (Consider Cache for Redis reserved instances to save over your pay-as-you-go costs)](https://aka.ms/rirecommendations). --### Consider Azure Synapse Analytics (formerly SQL DW) reserved instances to save over your pay-as-you-go costs --We analyze your Azure Synapse Analytics usage pattern over last 30 days and recommend a Reserved Instance purchase that maximizes your savings. With reserved instances, you can prepurchase Synapse Analytics hourly usage and save over your on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - SQLDWReservedCapacity (Consider Azure Synapse Analytics (formerly SQL DW) reserved instances to save over your pay-as-you-go costs)](https://aka.ms/rirecommendations). --### (Preview) Consider Blob storage reserved instances to save on Blob v2 and Data Lake storage Gen2 costs --We analyzed your Azure Blob and Data Lake storage usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Blob storage reserved instances applies only to data stored on Azure Blob (GPv2) and Azure Data Lake Storage (Gen 2). Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - BlobReservedCapacity ((Preview) Consider Blob storage reserved instances to save on Blob v2 and Data Lake storage Gen2 costs)](https://aka.ms/rirecommendations). --### Consider Azure Dedicated Host reserved instances to save over your on-demand costs --We analyzed your Azure Dedicated Host usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - AzureDedicatedHostReservedCapacity (Consider Azure Dedicated Host reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider Data Factory reserved instances to save over your on-demand costs --We analyzed your Data Factory usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - DataFactorybReservedCapacity (Consider Data Factory reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider Azure Data Explorer reserved instances to save over your on-demand costs --We analyzed your Azure Data Explorer usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - AzureDataExplorerReservedCapacity (Consider Azure Data Explorer reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider Azure Files reserved instances to save over your on-demand costs --We analyzed your Azure Files usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - AzureFilesReservedCapacity (Consider Azure Files reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider Azure VMware Solution reserved instances to save over your on-demand costs --We analyzed your Azure VMware Solution usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - AzureVMwareSolutionReservedCapacity (Consider Azure VMware Solution reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider NetApp Storage reserved instances to save over your on-demand costs --We analyzed your NetApp Storage usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - NetAppStorageReservedCapacity (Optimize costs for Azure Files with Reservations)](/azure/storage/files/files-reserve-capacity). --### Consider Azure Managed Disk reserved instances to save over your on-demand costs --We analyzed your Azure Managed Disk usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - AzureManagedDiskReservedCapacity (Consider Azure Managed Disk reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider Red Hat reserved instances to save over your on-demand costs --We analyzed your Red Hat usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - RedHatReservedCapacity (Consider Red Hat reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider RedHat OSA reserved instances to save over your on-demand costs --We analyzed your RedHat Open Source Assurance (OSA) usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - RedHatOsaReservedCapacity (Consider RedHat OSA reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider SapHana reserved instances to save over your on-demand costs --We analyzed your SapHana usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - SapHanaReservedCapacity (Consider SapHana reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider SuseLinux reserved instances to save over your on-demand costs --We analyzed your SuseLinux usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - SuseLinuxReservedCapacity (Consider SuseLinux reserved instances to save over your on-demand costs)](https://aka.ms/rirecommendations). --### Consider VMware Cloud Simple reserved instances --We analyzed your VMware Cloud Simple usage over last 30 days and calculated a Reserved Instance purchase that would maximize your savings. With reserved instances, you can prepurchase hourly usage and save over your current on-demand costs. Reserved Instance is a billing benefit and automatically applies to new or existing deployments. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope recommendations are available in reservation purchase experience and can increase savings further. --Learn more about [Subscription - VMwareCloudSimpleReservedCapacity (Consider VMware Cloud Simple reserved instances )](https://aka.ms/rirecommendations). --### Configure automatic renewal for your expiring reservation --The reserved instances listed are expiring soon or recently expired. Your resources will continue to operate normally, however, you'll be billed at the on-demand rates going forward. To optimize your costs, configure automatic renewal for these reservations or purchase a replacement manually. --Learn more about [Reservation - ReservedInstancePurchaseNew (Configure automatic renewal for your expiring reservation)](https://aka.ms/reservedinstances). --### Purchasing a savings plan for compute could unlock lower prices --We analyzed your compute usage over the last 30 days and recommend adding a savings plan to increase your savings. The savings plan unlocks lower prices on select compute services when you commit to spend a fixed hourly amount for one or three years. As you use select compute services globally, your usage is covered by the plan at reduced prices. During the times when your usage is above your hourly commitment, you’ll be billed at your regular pay-as-you-go prices. With savings automatically applying across compute usage globally, you’ll continue saving even as your usage needs change over time. Savings plan are more suited for dynamic workloads while accommodating for planned or unplanned changes while reservations are more suited for stable, predictable workloads with no planned changes. Saving estimates are calculated for individual subscriptions and the usage pattern observed over last 30 days. Shared scope savings plans are available in purchase experience and can further increase savings. --Learn more about [Subscription - SavingsPlan (Purchasing a savings plan for compute could unlock lower prices)](https://aka.ms/savingsplan-compute). --### Consider Cosmos DB reserved instances to save over your pay-as-you-go costs --We analyzed your Cosmos DB usage pattern over selected Term, look-back period and calculate a Reserved Instance purchase that maximizes your savings. With reserved instances you can pre-purchase Cosmos DB hourly usage and save over your pay-as-you-go costs. Reserved Instance is a billing benefit and will automatically apply to new or existing deployments. Saving estimates are calculated for individual subscriptions and usage pattern over selected Term, look-back period. Shared scope recommendations are available in reservation purchase experience and can increase savings even more. --Learn more about [Subscription - CosmosDBReservedCapacity (Consider Cosmos DB reserved instances to save over your pay-as-you-go costs)](https://aka.ms/rirecommendations). -----## Storage --### Use Standard Storage to store Managed Disks snapshots --To save 60% of cost, store your snapshots in Standard Storage, regardless of the storage type of the parent disk. It is the default option for Managed Disks snapshots. Migrate your snapshot from Premium to Standard Storage. Refer to Managed Disks pricing details. --Learn more about [Managed Disk Snapshot - ManagedDiskSnapshot (Use Standard Storage to store Managed Disks snapshots)](https://aka.ms/aa_manageddisksnapshot_learnmore). --### Revisit retention policy for classic log data in storage accounts --Large classic log data is detected on your storage accounts. You're billed on capacity of data stored in storage accounts including classic logs. Check the retention policy of classic logs and update with necessary period to retain less log data. This would reduce unnecessary classic log data and save your billing cost from less capacity. --Learn more about [Storage Account - XstoreLargeClassicLog (Revisit retention policy for classic log data in storage accounts)](/azure/storage/common/manage-storage-analytics-logs#modify-retention-policy). --### Based on your high transactions/TB ratio, premium storage might be more cost effective --Your transactions/TB ratio might be high. Exact number would depend on transaction mix and region but anywhere over 30 or 35 TPB/TB are good candidates to evaluate a move to Premium storage. --Learn more about [Storage Account - MoveToPremiumStorage (Based on your high transactions/TB ratio, there is a possibility that premium storage might be more cost effective in addition to being performant for your scenario. More details on pricing for premium and standard accounts can be found here)](https://aka.ms/azureblobstoragepricing). --### Use differential or incremental backup for database workloads --For SQL/HANA DBs in Azure VMs being backed up to Azure, using daily differential with weekly full backup is often more cost-effective than daily fully backups. For HANA, Azure Backup also supports incremental backup that is even more cost effective. --Learn more about [Recovery Services vault - Optimize costs of database backup (Use differential or incremental backup for database workloads)](https://aka.ms/DBBackupCostOptimization). -----## Web --### Right-size underutilized App Service plans --We've analyzed the usage patterns of your App Service plan over the past seven days and identified low CPU usage. While certain scenarios can result in low utilization by design, you can save money by choosing a less expensive SKU while retaining the same features. --> [!NOTE] -> - Currently, this recommendation only works for App Service plans running on Windows on a SKU that allows you to downscale to less expensive tiers without losing any features, like from P3v2 to P2v2 or from P2v2 to P1v2. -> - CPU bursts that last only a few minutes might not be correctly detected. Perform a careful analysis in your App Service plan metrics blade before downscaling your SKU. --Learn more about [App Service plans](../app-service/overview-hosting-plans.md). --### Unused/Empty App Service plans --Your App Service plan does not have any running applications associated with it. Consider deleting the resource to reduce expenses, or add new applications under it to utilize its capabilities. - -Learn more about [App Service plans](../app-service/overview-hosting-plans.md). ------## Next steps --Learn more about [Cost Optimization - Microsoft Azure Well Architected Framework](/azure/architecture/framework/cost/overview) |
advisor | Advisor Reference Operational Excellence Recommendations | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-reference-operational-excellence-recommendations.md | - Title: Operational excellence recommendations -description: Operational excellence recommendations - Previously updated : 10/05/2023---# Operational excellence recommendations --Operational excellence recommendations in Azure Advisor can help you with: -- Process and workflow efficiency.-- Resource manageability.-- Deployment best practices. --You can get these recommendations on the **Operational Excellence** tab of the Advisor dashboard. --1. Sign in to the [**Azure portal**](https://portal.azure.com). --1. Search for and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page. --1. On the **Advisor** dashboard, select the **Operational Excellence** tab. ---## AI + machine learning --### Upgrade to the latest version of the Immersive Reader SDK --We have identified resources under this subscription using outdated versions of the Immersive Reader SDK. The latest version of the Immersive Reader SDK provides you with updated security, performance, and an expanded set of features for customizing and enhancing your integration experience. --Learn more about [Azure AI Immersive Reader](/azure/ai-services/immersive-reader/). --### Upgrade to the latest version of the Immersive Reader SDK --We have identified resources under this subscription using outdated versions of the Immersive Reader SDK. The latest version of the Immersive Reader SDK provides you with updated security, performance and an expanded set of features for customizing and enhancing your integration experience. --Learn more about [Cognitive Service - ImmersiveReaderSDKRecommendation (Upgrade to the latest version of the Immersive Reader SDK)](https://aka.ms/ImmersiveReaderAzureAdvisorSDKLearnMore). ----## Analytics --### Reduce the cache policy on your Data Explorer tables --Reduce the table cache policy to match the usage patterns (query lookback period) --Learn more about [Data explorer resource - ReduceCacheForAzureDataExplorerTablesOperationalExcellence (Reduce the cache policy on your Data Explorer tables)](https://aka.ms/adxcachepolicy). -----## Compute --### Update your outdated Azure Spring Apps SDK to the latest version --We have identified API calls from an outdated Azure Spring Apps SDK. We recommend upgrading to the latest version for the latest fixes, performance improvements, and new feature capabilities. --Learn more about the [Azure Spring Apps service](../spring-apps/index.yml). --### Update Azure Spring Apps API Version --We have identified API calls from outdated Azure Spring Apps API for resources under this subscription. We recommend switching to the latest Azure Spring Apps API version. You need to update your existing code to use the latest API version. Also, you need to upgrade your Azure SDK and Azure CLI to the latest version, which ensures you receive the latest features and performance improvements. --Learn more about the [Azure Spring Apps service](../spring-apps/index.yml). --### New HCX version is available for upgrade --Your HCX version isn't latest. New HCX version is available for upgrade. Updating a VMware HCX system installs the latest features, problem fixes, and security patches. --Learn more about [AVS Private cloud - HCXVersion (New HCX version is available for upgrade)](https://aka.ms/vmware/hcxdoc). --### Recreate your pool to get the latest node agent features and fixes --Your pool has an old node agent. Consider recreating your pool to get the latest node agent updates and bug fixes. --Learn more about [Batch account - OldPool (Recreate your pool to get the latest node agent features and fixes)](https://aka.ms/batch_oldpool_learnmore). --### Delete and recreate your pool to remove a deprecated internal component --Your pool is using a deprecated internal component. Delete and recreate your pool for improved stability and performance. --Learn more about [Batch account - RecreatePool (Delete and recreate your pool to remove a deprecated internal component)](https://aka.ms/batch_deprecatedcomponent_learnmore). --### Upgrade to the latest API version to ensure your Batch account remains operational --In the past 14 days, you have invoked a Batch management or service API version that is scheduled for deprecation. Upgrade to the latest API version to ensure your Batch account remains operational. --Learn more about [Batch account - UpgradeAPI (Upgrade to the latest API version to ensure your Batch account remains operational.)](https://aka.ms/batch_deprecatedapi_learnmore). --### Delete and recreate your pool using a different VM size --Your pool is using A8-A11 VMs, which are set to be retired in March 2021. Delete your pool and recreate it with a different VM size. --Learn more about [Batch account - RemoveA8_A11Pools (Delete and recreate your pool using a different VM size)](https://aka.ms/batch_a8_a11_retirement_learnmore). --### Recreate your pool with a new image --Your pool is using an image with an imminent expiration date. Recreate the pool with a new image to avoid potential interruptions. A list of newer images is available via the ListSupportedImages API. --Learn more about [Batch account - EolImage (Recreate your pool with a new image)](https://aka.ms/batch_expiring_image_learn_more). --### Increase the number of compute resources you can deploy by 10 vCPU --If quota limits are exceeded, new VM deployments are blocked until quota is increased. Increase your quota now to enable deployment of more resources. Learn More --Learn more about [Virtual machine - IncreaseQuotaExperiment (Increase the number of compute resources you can deploy by 10 vCPU)](https://aka.ms/SubscriptionServiceLimits). --### Add Azure Monitor to your virtual machine (VM) labeled as production --Azure Monitor for VMs monitors your Azure virtual machines (VM) and Virtual Machine Scale Sets at scale. It analyzes the performance and health of your Windows and Linux VMs, and it monitors their processes and dependencies on other resources and external processes. It includes support for monitoring performance and application dependencies for VMs that are hosted on-premises or in another cloud provider. --Learn more about [Virtual machine - AddMonitorProdVM (Add Azure Monitor to your virtual machine (VM) labeled as production)](/azure/azure-monitor/insights/vminsights-overview). --### Excessive NTP client traffic caused by frequent DNS lookups and NTP sync for new servers, which happens often on some global NTP servers --Excessive NTP client traffic caused by frequent DNS lookups and NTP sync for new servers, which happens often on some global NTP servers. Frequent DNS lookups and NTP sync can be viewed as malicious traffic and blocked by the DDOS service in the Azure environment --Learn more about [Virtual machine - GetVmlistFortigateNtpIssue (Excessive NTP client traffic caused by frequent DNS lookups and NTP sync for new servers, which happens often on some global NTP servers.)](https://docs.fortinet.com/document/fortigate/6.2.3/fortios-release-notes/236526/known-issues). --### An Azure environment update has been rolled out that might affect your Checkpoint Firewall --The image version of the Checkpoint firewall installed might have been affected by the recent Azure environment update. A kernel panic resulting in a reboot to factory defaults can occur in certain circumstances. --Learn more about [Virtual machine - NvaCheckpointNicServicing (An Azure environment update has been rolled out that might affect your Checkpoint Firewall.)](https://supportcenter.checkpoint.com/supportcenter/portal). --### The iControl REST interface has an unauthenticated remote command execution vulnerability --An unauthenticated remote command execution vulnerability allows for unauthenticated attackers with network access to the iControl REST interface, through the BIG-IP management interface and self IP addresses, to execute arbitrary system commands, create or delete files, and disable services. This vulnerability can only be exploited through the control plane and can't be exploited through the data plane. Exploitation can lead to complete system compromise. The BIG-IP system in Appliance mode is also vulnerable --Learn more about [Virtual machine - GetF5vulnK03009991 (The iControl REST interface has an unauthenticated remote command execution vulnerability.)](https://support.f5.com/csp/article/K03009991). --### NVA Accelerated Networking enabled but potentially not working --Desired state for Accelerated Networking is set to ΓÇÿtrueΓÇÖ for one or more interfaces on your VM, but actual state for accelerated networking isn't enabled. --Learn more about [Virtual machine - GetVmListANDisabled (NVA Accelerated Networking enabled but potentially not working.)](../virtual-network/create-vm-accelerated-networking-cli.md). --### Virtual machines with Citrix Application Delivery Controller (ADC) and accelerated networking enabled might disconnect during maintenance operation --We have identified that you're running a Network virtual Appliance (NVA) called Citrix Application Delivery Controller (ADC), and the NVA has accelerated networking enabled. The Virtual machine that this NVA is deployed on might experience connectivity issues during a platform maintenance operation. It is recommended that you follow the article provided by the vendor: https://aka.ms/Citrix_CTX331516 --Learn more about [Virtual machine - GetCitrixVFRevokeError (Virtual machines with Citrix Application Delivery Controller (ADC) and accelerated networking enabled might disconnect during maintenance operation)](https://aka.ms/Citrix_CTX331516). --### Update your outdated Azure Spring Cloud SDK to the latest version --We have identified API calls from an outdated Azure Spring Cloud SDK. We recommend upgrading to the latest version for the latest fixes, performance improvements, and new feature capabilities. --Learn more about [Spring Cloud Service - SpringCloudUpgradeOutdatedSDK (Update your outdated Azure Spring Cloud SDK to the latest version)](/azure/spring-cloud). --### Update Azure Spring Cloud API Version --We have identified API calls from outdated Azure Spring Cloud API for resources under this subscription. We recommend switching to the latest Spring Cloud API version. You need to update your existing code to use the latest API version. Also, you need to upgrade your Azure SDK and Azure CLI to the latest version, which ensures you receive the latest features and performance improvements. --Learn more about [Spring Cloud Service - UpgradeAzureSpringCloudAPI (Update Azure Spring Cloud API Version)](/azure/spring-cloud). ------## Containers --### The api version you use for Microsoft.App is deprecated, use latest api version --The api version you use for Microsoft.App is deprecated, use latest api version --Learn more about [Microsoft App Container App - UseLatestApiVersion (The api version you use for Microsoft.App is deprecated, use latest api version)](https://aka.ms/containerappsapiversion). --### Update cluster's service principal --This cluster's service principal is expired and the cluster isn't healthy until the service principal is updated --Learn more about [Kubernetes service - UpdateServicePrincipal (Update cluster's service principal)](/azure/aks/update-credentials). --### Monitoring addon workspace is deleted --Monitoring addon workspace is deleted. Correct issues to set up monitoring addon. --Learn more about [Kubernetes service - MonitoringAddonWorkspaceIsDeleted (Monitoring addon workspace is deleted)](https://aka.ms/aks-disable-monitoring-addon). --### Deprecated Kubernetes API in 1.16 is found --Deprecated Kubernetes API in 1.16 is found. Avoid using deprecated API. --Learn more about [Kubernetes service - DeprecatedKubernetesAPIIn116IsFound (Deprecated Kubernetes API in 1.16 is found)](https://aka.ms/aks-deprecated-k8s-api-1.16). --### Enable the Cluster Autoscaler --This cluster has not enabled AKS Cluster Autoscaler, and it can't adapt to changing load conditions unless you have other ways to autoscale your cluster --Learn more about [Kubernetes service - EnableClusterAutoscaler (Enable the Cluster Autoscaler)](/azure/aks/cluster-autoscaler). --### The AKS node pool subnet is full --Some of the subnets for this cluster's node pools are full and can't take any more worker nodes. Using the Azure CNI plugin requires to reserve IP addresses for each node and all the pods for the node at node provisioning time. If there isn't enough IP address space in the subnet, no worker nodes can be deployed. Additionally, the AKS cluster can't be upgraded if the node subnet is full. --Learn more about [Kubernetes service - NodeSubnetIsFull (The AKS node pool subnet is full)](/azure/aks/create-node-pools#add-a-node-pool-with-a-unique-subnet). --### Expired ETCD cert --Expired ETCD cert, update. --Learn more about [Kubernetes service - ExpiredETCDCertPre03012022 (Expired ETCD cert)](https://aka.ms/AKSUpdateCredentials). --### Disable the Application Routing Addon --This cluster has Pod Security Policies enabled, which are going to be deprecated in favor of Azure Policy for AKS --Learn more about [Kubernetes service - UseAzurePolicyForKubernetes (Disable the Application Routing Addon)](/azure/aks/use-pod-security-on-azure-policy). --### Use Ephemeral OS disk --This cluster isn't using ephemeral OS disks which can provide lower read/write latency, along with faster node scaling and cluster upgrades --Learn more about [Kubernetes service - UseEphemeralOSdisk (Use Ephemeral OS disk)](/azure/aks/concepts-storage#ephemeral-os-disk). --### Outdated Azure Linux (Mariner) OS SKUs Found --Found outdated Azure Linux (Mariner) OS SKUs. 'CBL-Mariner' SKU isn't supported. 'Mariner' SKU is equivalent to 'AzureLinux', but it's advisable to switch to 'AzureLinux' SKU for future updates and support, as 'AzureLinux' is the Generally Available version. --Learn more about [Kubernetes service - ClustersWithDeprecatedMarinerSKU (Outdated Azure Linux (Mariner) OS SKUs Found)](https://aka.ms/AzureLinuxOSSKU). --### Free and Standard tiers for AKS control plane management --This cluster has not enabled the Standard tier that includes the Uptime SLA by default, and is limited to an SLO of 99.5%. --Learn more about [Kubernetes service - Free and Standard Tier](/azure/aks/free-standard-pricing-tiers). --### Deprecated Kubernetes API in 1.22 has been found --Deprecated Kubernetes API in 1.22 has been found. Avoid using deprecated APIs. --Learn more about [Kubernetes service - DeprecatedKubernetesAPIIn122IsFound (Deprecated Kubernetes API in 1.22 has been found)](https://aka.ms/aks-deprecated-k8s-api-1.22). ----## Databases --### Azure SQL IaaS Agent must be installed in full mode --Full mode installs the SQL IaaS Agent to the VM to deliver full functionality. Use it for managing a SQL Server VM with a single instance. There is no cost associated with using the full manageability mode. System administrator permissions are required. Note that installing or upgrading to full mode is an online operation, there is no restart required. --Learn more about [SQL virtual machine - UpgradeToFullMode (SQL IaaS Agent must be installed in full mode)](/azure/azure-sql/virtual-machines/windows/sql-server-iaas-agent-extension-automate-management). --### Install SQL best practices assessment on your SQL VM --SQL best practices assessment provides a mechanism to evaluate the configuration of your Azure SQL VM for best practices like indexes, deprecated features, trace flag usage, statistics, etc. Assessment results are uploaded to your Log Analytics workspace using Azure Monitoring Agent (AMA). --Learn more about [SQL virtual machine - SqlAssessmentAdvisorRec (Install SQL best practices assessment on your SQL VM)](/azure/azure-sql/virtual-machines/windows/sql-assessment-for-sql-vm). --### Migrate Azure Cosmos DB attachments to Azure Blob Storage --We noticed that your Azure Cosmos DB collection is using the legacy attachments feature. We recommend migrating attachments to Azure Blob Storage to improve the resiliency and scalability of your blob data. --Learn more about [Azure Cosmos DB account - CosmosDBAttachments (Migrate Azure Cosmos DB attachments to Azure Blob Storage)](/azure/cosmos-db/attachments#migrating-attachments-to-azure-blob-storage). --### Improve resiliency by migrating your Azure Cosmos DB accounts to continuous backup --Your Azure Cosmos DB accounts are configured with periodic backup. Continuous backup with point-in-time restore is now available on these accounts. With continuous backup, you can restore your data to any point in time within the past 30 days. Continuous backup might also be more cost-effective as a single copy of your data is retained. --Learn more about [Azure Cosmos DB account - CosmosDBMigrateToContinuousBackup (Improve resiliency by migrating your Azure Cosmos DB accounts to continuous backup)](/azure/cosmos-db/continuous-backup-restore-introduction). --### Enable partition merge to configure an optimal database partition layout --Your account has collections that could benefit from enabling partition merge. Minimizing the number of partitions reduces rate limiting and resolve storage fragmentation problems. Containers are likely to benefit from this if the RU/s per physical partition is < 3000 RUs and storage is < 20 GB. --Learn more about [Cosmos DB account - CosmosDBPartitionMerge (Enable partition merge to configure an optimal database partition layout)](/azure/cosmos-db/merge?tabs=azure-powershell). ----### Your Azure Database for MySQL - Flexible Server is vulnerable using weak, deprecated TLSv1 or TLSv1.1 protocols --To support modern security standards, MySQL community edition discontinued the support for communication over Transport Layer Security (TLS) 1.0 and 1.1 protocols. Microsoft also stopped supporting connections over TLSv1 and TLSv1.1 to Azure Database for MySQL - Flexible server to comply with the modern security standards. We recommend you upgrade your client driver to support TLSv1.2. --Learn more about [Azure Database for MySQL flexible server - OrcasMeruMySqlTlsDeprecation (Your Azure Database for MySQL - Flexible Server is vulnerable using weak, deprecated TLSv1 or TLSv1.1 protocols)](https://aka.ms/encrypted_connection_deprecated_protocols). --### Optimize or partition tables in your database which has huge tablespace size --The maximum supported tablespace size in Azure Database for MySQL -Flexible server is 4TB. To effectively manage large tables, we recommended that you optimize the table or implement partitioning, which helps distribute the data across multiple files and prevent reaching the hard limit of 4TB in the tablespace. --Learn more about [Azure Database for MySQL flexible server - MySqlFlexibleServerSingleTablespace4TBLimit2bf9 (Optimize or partition tables in your database which has huge tablespace size)](https://techcommunity.microsoft.com/t5/azure-database-for-mysql-blog/how-to-reclaim-storage-space-with-azure-database-for-mysql/ba-p/3615876). --### Enable storage autogrow for MySQL Flexible Server --Storage auto-growth prevents a server from running out of storage and becoming read-only. --Learn more about [Azure Database for MySQL flexible server - MySqlFlexibleServerStorageAutogrow43b64 (Enable storage autogrow for MySQL Flexible Server)](/azure/mysql/flexible-server/concepts-service-tiers-storage#storage-auto-grow). --### Apply resource delete lock --Lock your MySQL Flexible Server to protect from accidental user deletions and modifications --Learn more about [Azure Database for MySQL flexible server - MySqlFlexibleServerResourceLockbe19e (Apply resource delete lock)](/azure/azure-resource-manager/management/lock-resources). --### Add firewall rules for MySQL Flexible Server --Add firewall rules to protect your server from unauthorized access --Learn more about [Azure Database for MySQL flexible server - MySqlFlexibleServerNoFirewallRule6e523 (Add firewall rules for MySQL Flexible Server)](/azure/mysql/flexible-server/how-to-manage-firewall-portal). ---### Injecting a cache into a virtual network (VNet) imposes complex requirements on your network configuration, which is a common source of incidents affecting customer applications --Injecting a cache into a virtual network (VNet) imposes complex requirements on your network configuration. It's difficult to configure the network accurately and avoid affecting cache functionality. It's easy to break the cache accidentally while making configuration changes for other network resources, which is a common source of incidents affecting customer applications --Learn more about [Redis Cache Server - PrivateLink (Injecting a cache into a virtual network (VNet) imposes complex requirements on your network configuration. This is a common source of incidents affecting customer applications)](https://aka.ms/VnetToPrivateLink). --### Support for TLS versions 1.0 and 1.1 is retiring on September 30, 2024 --Support for TLS 1.0/1.1 is retiring on September 30, 2024. Configure your cache to use TLS 1.2 only and your application to use TLS 1.2 or later. See https://aka.ms/TLSVersions for more information. --Learn more about [Redis Cache Server - TLSVersion (Support for TLS versions 1.0 and 1.1 is retiring on September 30, 2024.)](https://aka.ms/TLSVersions). --### TLS versions 1.0 and 1.1 are known to be susceptible to security attacks, and have other Common Vulnerabilities and Exposures (CVE) weaknesses --TLS versions 1.0 and 1.1 are known to be susceptible to security attacks, and have other Common Vulnerabilities and Exposures (CVE) weaknesses. We highly recommend that you configure your cache to use TLS 1.2 only and your application to use TLS 1.2 or later. See https://aka.ms/TLSVersions for more information. --Learn more about [Redis Cache Server - TLSVersion (TLS versions 1.0 and 1.1 are known to be susceptible to security attacks, and have other Common Vulnerabilities and Exposures (CVE) weaknesses.)](https://aka.ms/TLSVersions). --### Cloud service caches are being retired in August 2024, migrate before then to avoid any problems --This instance of Azure Cache for Redis has a dependency on Cloud Services (classic) which is being retired in August 2024. Follow the instructions found in the following link to migrate to an instance without this dependency. If you need to upgrade your cache to Redis 6 note that upgrading a cache with a dependency on cloud services isn't supported. You must migrate your cache instance to Virtual Machine Scale Set before upgrading. For more information, see the following link. Note: If you have completed your migration away from Cloud Services, allow up to 24 hours for this recommendation to be removed --Learn more about [Redis Cache Server - MigrateFromCloudService (Cloud service caches are being retired in August 2024, migrate before then to avoid any problems)](/azure/azure-cache-for-redis/cache-faq#caches-with-a-dependency-on-cloud-services-%28classic%29). --### Redis persistence allows you to persist data stored in a cache so you can reload data from an event that caused data loss. --Redis persistence allows you to persist data stored in Redis. You can also take snapshots and back up the data. If there's a hardware failure, the persisted data is automatically loaded in your cache instance. Data loss is possible if a failure occurs where Cache nodes are down. --Learn more about [Redis Cache Server - Persistence (Redis persistence allows you to persist data stored in a cache so you can reload data from an event that caused data loss.)](https://aka.ms/redis/persistence). --### Using persistence with soft delete enabled can increase storage costs. --Check to see if your storage account has soft delete enabled before using the data persistence feature. Using data persistence with soft delete causes very high storage costs. For more information, see the following link. --Learn more about [Redis Cache Server - PersistenceSoftEnable (Using persistence with soft delete enabled can increase storage costs.)](https://aka.ms/redis/persistence). --### You might benefit from using an Enterprise tier cache instance --This instance of Azure Cache for Redis is using one or more advanced features from the list - more than 6 shards, geo-replication, zone-redundancy or persistence. Consider switching to an Enterprise tier cache to get the most out of your Redis experience. Enterprise tier caches offer higher availability, better performance and more powerful features like active geo-replication. --Learn more about [Redis Cache Server - ConsiderUsingRedisEnterprise (You might benefit from using an Enterprise tier cache instance)](https://aka.ms/redisenterpriseupgrade). ------## Integration --### Use Azure AD-based authentication for more fine-grained control and simplified management --You can use Azure AD-based authentication, instead of gateway tokens, which allows you to use standard procedures to create, assign and manage permissions and control expiry times. Additionally, you gain fine-grained control across gateway deployments and easily revoke access in case of a breach. --Learn more about [Api Management - ShgwUseAdAuth (Use Azure AD-based authentication for more fine-grained control and simplified management)](https://aka.ms/apim/shgw/how-to/use-ad-auth). --### Validate JWT policy is being used with security keys that have insecure key size for validating Json Web Token (JWT). --Validate JWT policy is being used with security keys that have insecure key size for validating Json Web Token (JWT). We recommend using longer key sizes to improve security for JWT-based authentication & authorization. --Learn more about [Api Management - validate-jwt-with-insecure-key-size (Validate JWT policy is being used with security keys that have insecure key size for validating Json Web Token (JWT).)](). --### Use self-hosted gateway v2 --We have identified one or more instances of your self-hosted gateway(s) that are using a deprecated version of the self-hosted gateway (v0.x and/or v1.x). --Learn more about [Api Management - shgw-legacy-image-usage (Use self-hosted gateway v2)](https://aka.ms/apim/shgw/migration/v2). --### Use Configuration API v2 for self-hosted gateways --We have identified one or more instances of your self-hosted gateway(s) that are using the deprecated Configuration API v1. --Learn more about [Api Management - shgw-config-api-v1-usage (Use Configuration API v2 for self-hosted gateways)](https://aka.ms/apim/shgw/migration/v2). --### Only allow tracing on subscriptions intended for debugging purposes. Sharing subscription keys with tracing allowed with unauthorized users could lead to disclosure of sensitive information contained in tracing logs such as keys, access tokens, passwords, internal hostnames, and IP addresses. --Traces generated by Azure API Management service might contain sensitive information that is intended for service owner and must not be exposed to clients using the service. Using tracing enabled subscription keys in production or automated scenarios creates a risk of sensitive information exposure if client making call to the service requests a trace. --Learn more about [Api Management - heavy-tracing-usage (Only allow tracing on subscriptions intended for debugging purposes. Sharing subscription keys with tracing allowed with unauthorized users could lead to disclosure of sensitive information contained in tracing logs such as keys, access tokens, passwords, internal hostnames, and IP addresses.)](/azure/api-management/api-management-howto-api-inspector). --### Self-hosted gateway instances were identified that use gateway tokens that expire soon --At least one deployed self-hosted gateway instance was identified that uses a gateway token that expires in the next seven days. To ensure that it can connect to the control-plane, generate a new gateway token and update your deployed self-hosted gateways (does not impact data-plane traffic). --Learn more about [Api Management - ShgwGatewayTokenNearExpiry (Self-hosted gateway instance(s) were identified that use gateway tokens that expire soon)](). ---## Internet of Things --### IoT Hub Fallback Route Disabled --We have detected that the Fallback Route on your IoT Hub has been disabled. When the Fallback Route is disabled messages stop flowing to the default endpoint. If you're no longer able to ingest telemetry downstream consider re-enabling the Fallback Route. --Learn more about [IoT hub - IoTHubFallbackDisabledAdvisor (IoT Hub Fallback Route Disabled)](/azure/iot-hub/iot-hub-devguide-messages-d2c#fallback-route). -----## Management and governance --### Upgrade to Start/Stop VMs v2 --The new version of Start/Stop VMs v2 (preview) provides a decentralized low-cost automation option for customers who want to optimize their VM costs. It offers all of the same functionality as the original version available with Azure Automation, but it is designed to take advantage of newer technology in Azure. --Learn more about [Automation account - SSV1_Upgrade (Upgrade to Start/Stop VMs v2)](https://aka.ms/startstopv2docs). --### Repair your log alert rule --We have detected that one or more of your alert rules have invalid queries specified in their condition section. Log alert rules are created in Azure Monitor and are used to run analytics queries at specified intervals. The results of the query determine if an alert needs to be triggered. Analytics queries might become invalid overtime due to changes in referenced resources, tables, or commands. We recommend that you correct the query in the alert rule to prevent it from getting auto-disabled and ensure monitoring coverage of your resources in Azure. --Learn more about [Alert Rule - ScheduledQueryRulesLogAlert (Repair your log alert rule)](https://aka.ms/aa_logalerts_queryrepair). --### Log alert rule was disabled --The alert rule was disabled by Azure Monitor as it was causing service issues. To enable the alert rule, contact support. --Learn more about [Alert Rule - ScheduledQueryRulesRp (Log alert rule was disabled)](https://aka.ms/aa_logalerts_queryrepair). --### Update Azure Managed Grafana SDK Version --We have identified that an older SDK version has been used to manage or access your Grafana workspace. To get access to all the latest functionality, it is recommended that you switch to use the latest SDK version. --Learn more about [Grafana Dashboard - UpdateAzureManagedGrafanaSDK (Update Azure Managed Grafana SDK Version)](https://aka.ms/GrafanaPortalLearnMore). --### Switch to Azure Monitor based alerts for backup --Switch to Azure Monitor based alerts for backup to leverage various benefits, such as - standardized, at-scale alert management experiences offered by Azure, ability to route alerts to different notification channels of choice, and greater flexibility in alert configuration. --Learn more about [Recovery Services vault - SwitchToAzureMonitorAlerts (Switch to Azure Monitor based alerts for backup)](https://aka.ms/AzMonAlertsBackup). -----## Networking --### Resolve Certificate Update issue for your Application Gateway --We have detected that one or more of your Application Gateways is unable to fetch the latest version certificate present in your Key Vault. If it is intended to use a particular version of the certificate, ignore this message. --Learn more about [Application gateway - AppGwAdvisorRecommendationForCertificateUpdateErrors (Resolve Certificate Update issue for your Application Gateway)](). --### Resolve Azure Key Vault issue for your Application Gateway --We've detected that one or more of your Application Gateways is unable to obtain a certificate due to misconfigured Key Vault. You must fix this configuration immediately to avoid operational issues with your gateway. --Learn more about [Application gateway - AppGwAdvisorRecommendationForKeyVaultErrors (Resolve Azure Key Vault issue for your Application Gateway)](https://aka.ms/agkverror). --### Application Gateway does not have enough capacity to scale out --We've detected that your Application Gateway subnet does not have enough capacity for allowing scale-out during high traffic conditions, which can cause downtime. --Learn more about [Application gateway - AppgwRestrictedSubnetSpace (Application Gateway does not have enough capacity to scale out)](https://aka.ms/application-gateway-faq). --### Enable Traffic Analytics to view insights into traffic patterns across Azure resources --Traffic Analytics is a cloud-based solution that provides visibility into user and application activity in Azure. Traffic analytics analyzes Network Watcher network security group (NSG) flow logs to provide insights into traffic flow. With traffic analytics, you can view top talkers across Azure and non Azure deployments, investigate open ports, protocols and malicious flows in your environment and optimize your network deployment for performance. You can process flow logs at 10 mins and 60 mins processing intervals, giving you faster analytics on your traffic. --Learn more about [Network Security Group - NSGFlowLogsenableTA (Enable Traffic Analytics to view insights into traffic patterns across Azure resources)](https://aka.ms/aa_enableta_learnmore). --### Set up staging environments in Azure App Service --Deploy an app to a slot first and then swap it into production to ensure that all instances of the slot are warmed up before being swapped and eliminate downtime. The traffic redirection is seamless, no requests are dropped because of swap operations. --Learn more about [Subscription - AzureApplicationService (Set up staging environments in Azure App Service)](../app-service/deploy-staging-slots.md). --### Enforce 'Add or replace a tag on resources' using Azure Policy --Azure Policy is a service in Azure that you use to create, assign, and manage policies that enforce different rules and effects over your resources. Enforce a policy that adds or replaces the specified tag and value when any resource is created or updated. Existing resources can be remediated by triggering a remediation task, which does not modify tags on resource groups. --Learn more about [Subscription - AddTagPolicy (Enforce 'Add or replace a tag on resources' using Azure Policy)](../governance/policy/overview.md). --### Enforce 'Allowed locations' using Azure Policy --Azure Policy is a service in Azure that you use to create, assign, and manage policies that enforce different rules and effects over your resources. Enforce a policy that enables you to restrict the locations your organization can specify when deploying resources. Use the policy to enforce your geo-compliance requirements. --Learn more about [Subscription - AllowedLocationsPolicy (Enforce 'Allowed locations' using Azure Policy)](../governance/policy/overview.md). --### Enforce 'Audit VMs that do not use managed disks' using Azure Policy --Azure Policy is a service in Azure that you use to create, assign, and manage policies that enforce different rules and effects over your resources. Enforce a policy that audits VMs that do not use managed disks. --Learn more about [Subscription - AuditForManagedDisksPolicy (Enforce 'Audit VMs that do not use managed disks' using Azure Policy)](../governance/policy/overview.md). --### Enforce 'Allowed virtual machine SKUs' using Azure Policy --Azure Policy is a service in Azure that you use to create, assign, and manage policies that enforce different rules and effects over your resources. Enforce a policy that enables you to specify a set of virtual machine SKUs that your organization can deploy. --Learn more about [Subscription - AllowedVirtualMachineSkuPolicy (Enforce 'Allowed virtual machine SKUs' using Azure Policy)](../governance/policy/overview.md). --### Enforce 'Inherit a tag from the resource group' using Azure Policy --Azure Policy is a service in Azure that you use to create, assign, and manage policies that enforce different rules and effects over your resources. Enforce a policy that adds or replaces the specified tag and value from the parent resource group when any resource is created or updated. Existing resources can be remediated by triggering a remediation task. --Learn more about [Subscription - InheritTagPolicy (Enforce 'Inherit a tag from the resource group' using Azure Policy)](../governance/policy/overview.md). --### Use Azure Lighthouse to simply and securely manage customer subscriptions at scale --Using Azure Lighthouse improves security and reduces unnecessary access to your customer tenants by enabling more granular permissions for your users. It also allows for greater scalability, as your users can work across multiple customer subscriptions using a single login in your tenant. --Learn more about [Subscription - OnboardCSPSubscriptionsToLighthouse (Use Azure Lighthouse to simply and securely manage customer subscriptions at scale)](../lighthouse/concepts/cloud-solution-provider.md). --### Subscription with more than 10 VNets must be managed using AVNM --Subscription with more than 10 VNets must be managed using AVNM. Azure Virtual Network Manager is a management service that enables you to group, configure, deploy, and manage virtual networks globally across subscriptions. --Learn more about [Subscription - ManageVNetsUsingAVNM (Subscription with more than 10 VNets must be managed using AVNM)](/azure/virtual-network-manager/). --### VNet with more than 5 peerings must be managed using AVNM connectivity configuration --VNet with more than 5 peerings must be managed using AVNM connectivity configuration. Azure Virtual Network Manager is a management service that enables you to group, configure, deploy, and manage virtual networks globally across subscriptions. --Learn more about [Virtual network - ManagePeeringsUsingAVNM (VNet with more than 5 peerings must be managed using AVNM connectivity configuration)](). --### Upgrade NSG flow logs to VNet flow logs --Virtual Network flow log allows you to record IP traffic flowing in a virtual network. It provides several benefits over Network Security Group flow log like simplified enablement, enhanced coverage, accuracy, performance and observability of Virtual Network Manager rules and encryption status. --Learn more about [Resource - UpgradeNSGToVnetFlowLog (Upgrade NSG flow logs to VNet flow logs)](https://aka.ms/vnetflowlogspreviewdocs). --### Migrate Azure Front Door (classic) to Standard/Premium tier --On 31 March 2027, Azure Front Door (classic) will be retired for the public cloud, and youΓÇÖll need to migrate to Front Door Standard or Premium by that date. --Beginning 1 April 2025, youΓÇÖll no longer be able to create new Front Door (classic) resources via the Azure portal, Terraform, or any command line tools. However, you can continue to make modifications to existing resources until Front Door (classic) is fully retired. --Azure Front Door Standard and Premium combine the capabilities of static and dynamic content delivery with turnkey security, enhanced DevOps experiences, simplified pricing, and better Azure integrations --Learn more about [Azure Front Door (classic) will be retired on 31 March 2027](https://azure.microsoft.com/updates/azure-front-door-classic-will-be-retired-on-31-march-2027/). ----## SAP for Azure --### Ensure the HANA DB VM type supports the HANA scenario in your SAP workload --Correct VM type needs to be selected for the specific HANA Scenario. The HANA scenarios can be 'OLAP', 'OLTP', 'OLAP: Scaleup' and 'OLTP: Scaleup'. See SAP note 1928533 for the correct VM type for your SAP workload. The correct VM type helps ensure better performance and support for your SAP systems --Learn more about [Database Instance - HanaDBSupport (Ensure the HANA DB VM type supports the HANA scenario in your SAP workload)](https://launchpad.support.sap.com/#/notes/1928533). --### Ensure the Operating system in App VM is supported in combination with DB type in your SAP workload --Operating system in the VMs in your SAP workload need to be supported for the DB type selected. See SAP note 1928533 for the correct OS-DB combinations for the ASCS, Database and Application VMs to ensure better performance and support for your SAP systems --Learn more about [App Server Instance - AppOSDBSupport (Ensure the Operating system in App VM is supported in combination with DB type in your SAP workload)](https://launchpad.support.sap.com/#/notes/1928533). --### Set the parameter net.ipv4.tcp_keepalive_time to '300' in the Application VM OS in SAP workloads --In the Application VM OS, edit the /etc/sysctl.conf file and add net.ipv4.tcp_keepalive_time = 300 to enable faster reconnection after an ASCS failover. This setting is recommended for all Application VM OS in SAP workloads in order. --Learn more about [App Server Instance - AppIPV4TCPKeepAlive (Set the parameter net.ipv4.tcp_keepalive_time to '300' in the Application VM OS in SAP workloads)](https://launchpad.support.sap.com/#/notes/1410736). --### Ensure the Operating system in DB VM is supported for the DB type in your SAP workload --Operating system in the VMs in your SAP workload need to be supported for the DB type selected. See SAP note 1928533 for the correct OS-DB combinations for the ASCS, Database and Application VMs to ensure better performance and support for your SAP systems --Learn more about [Database Instance - DBOSDBSupport (Ensure the Operating system in DB VM is supported for the DB type in your SAP workload)](https://launchpad.support.sap.com/#/notes/1928533). --### Set the parameter net.ipv4.tcp_retries2 to '15' in the Application VM OS in SAP workloads --In the Application VM OS, edit the /etc/sysctl.conf file and add net.ipv4.tcp_retries2 = 15 to enable faster reconnection after an ASCS failover. This is recommended for all Application VM OS in SAP workloads. --Learn more about [App Server Instance - AppIpv4Retries2 (Set the parameter net.ipv4.tcp_retries2 to '15' in the Application VM OS in SAP workloads)](https://www.suse.com/support/kb/doc/?id=000019722#:~:text=To%20check%20for%20current%20values%20of%20certain%20TCP%20tuning). --### See the parameter net.ipv4.tcp_keepalive_probes to '9' in the Application VM OS in SAP workloads --In the Application VM OS, edit the /etc/sysctl.conf file and add net.ipv4.tcp_keepalive_probes = 9 to enable faster reconnection after an ASCS failover. This setting is recommended for all Application VM OS in SAP workloads. --Learn more about [App Server Instance - AppIPV4Probes (See the parameter net.ipv4.tcp_keepalive_probes to '9' in the Application VM OS in SAP workloads)](/azure/virtual-machines/workloads/sap/high-availability-guide). --### Set the parameter net.ipv4.tcp_tw_recycle to '0' in the Application VM OS in SAP workloads --In the Application VM OS, edit the /etc/sysctl.conf file and add net.ipv4.tcp_tw_recycle = 0 to enable faster reconnection after an ASCS failover. This setting is recommended for all Application VM OS in SAP workloads. --Learn more about [App Server Instance - AppIpv4Recycle (Set the parameter net.ipv4.tcp_tw_recycle to '0' in the Application VM OS in SAP workloads)](https://www.suse.com/support/kb/doc/?id=000019722#:~:text=To%20check%20for%20current%20values%20of%20certain%20TCP%20tuning). --### Ensure the Operating system in ASCS VM is supported in combination with DB type in your SAP workload --Operating system in the VMs in your SAP workload need to be supported for the DB type selected. See SAP note 1928533 for the correct OS-DB combinations for the ASCS, Database and Application VMs. The correct OS-DB combinations help ensure better performance and support for your SAP systems --Learn more about [Central Server Instance - ASCSOSDBSupport (Ensure the Operating system in ASCS VM is supported in combination with DB type in your SAP workload)](https://launchpad.support.sap.com/#/notes/1928533). --### Azure Center for SAP recommendation: All VMs in SAP system must be certified for SAP --Azure Center for SAP solutions recommendation: All VMs in SAP system must be certified for SAP. --Learn more about [App Server Instance - VM_0001 (Azure Center for SAP recommendation: All VMs in SAP system must be certified for SAP)](https://launchpad.support.sap.com/#/notes/1928533). --### Set the parameter net.ipv4.tcp_retries1 to '3' in the Application VM OS in SAP workloads --In the Application VM OS, edit the /etc/sysctl.conf file and add net.ipv4.tcp_retries1 = 3 to enable faster reconnection after an ASCS failover. This setting is recommended for all Application VM OS in SAP workloads. --Learn more about [App Server Instance - AppIpv4Retries1 (Set the parameter net.ipv4.tcp_retries1 to '3' in the Application VM OS in SAP workloads)](https://www.suse.com/support/kb/doc/?id=000019722#:~:text=To%20check%20for%20current%20values%20of%20certain%20TCP%20tuning). --### Set the parameter net.ipv4.tcp_tw_reuse to '0' in the Application VM OS in SAP workloads --In the Application VM OS, edit the /etc/sysctl.conf file and add net.ipv4.tcp_tw_reuse = 0 to enable faster reconnection after an ASCS failover. This setting is recommended for all Application VM OS in SAP workloads. --Learn more about [App Server Instance - AppIpv4TcpReuse (Set the parameter net.ipv4.tcp_tw_reuse to '0' in the Application VM OS in SAP workloads)](https://www.suse.com/support/kb/doc/?id=000019722#:~:text=To%20check%20for%20current%20values%20of%20certain%20TCP%20tuning). --### Set the parameter net.ipv4.tcp_keepalive_intvl to '75' in the Application VM OS in SAP workloads --In the Application VM OS, edit the /etc/sysctl.conf file and add net.ipv4.tcp_keepalive_intvl = 75 to enable faster reconnection after an ASCS failover. This setting is recommended for all Application VM OS in SAP workloads. --Learn more about [App Server Instance - AppIPV4intvl (Set the parameter net.ipv4.tcp_keepalive_intvl to '75' in the Application VM OS in SAP workloads)](/azure/virtual-machines/workloads/sap/high-availability-guide). -----### Ensure Accelerated Networking is enabled on all NICs for improved performance of SAP workloads --Network latency between App VMs and DB VMs for SAP workloads is required to be 0.7ms or less. If accelerated networking isn't enabled, network latency can increase beyond the threshold of 0.7ms --Learn more about [Database Instance - NIC_0001_DB (Ensure Accelerated Networking is enabled on all NICs for improved performance of SAP workloads)](https://launchpad.support.sap.com/#/notes/1928533). --### Ensure Accelerated Networking is enabled on all NICs for improved performance of SAP workloads --Network latency between App VMs and DB VMs for SAP workloads is required to be 0.7ms or less. If accelerated networking isn't enabled, network latency can increase beyond the threshold of 0.7ms --Learn more about [App Server Instance - NIC_0001 (Ensure Accelerated Networking is enabled on all NICs for improved performance of SAP workloads)](https://launchpad.support.sap.com/#/notes/1928533). -----### Azure Center for SAP recommendation: Ensure Accelerated networking is enabled on all interfaces --Azure Center for SAP solutions recommendation: Ensure Accelerated networking is enabled on all interfaces. --Learn more about [Database Instance - NIC_0001_DB (Azure Center for SAP recommendation: Ensure Accelerated networking is enabled on all interfaces)](https://launchpad.support.sap.com/#/notes/1928533). --### Azure Center for SAP recommendation: Ensure Accelerated networking is enabled on all interfaces --Azure Center for SAP solutions recommendation: Ensure Accelerated networking is enabled on all interfaces. --Learn more about [App Server Instance - NIC_0001 (Azure Center for SAP recommendation: Ensure Accelerated networking is enabled on all interfaces)](https://launchpad.support.sap.com/#/notes/1928533). --### Azure Center for SAP recommendation: Ensure Accelerated networking is enabled on all interfaces --Azure Center for SAP solutions recommendation: Ensure Accelerated networking is enabled on all interfaces. --Learn more about [Central Server Instance - NIC_0001_ASCS (Azure Center for SAP recommendation: Ensure Accelerated networking is enabled on all interfaces)](https://launchpad.support.sap.com/#/notes/1928533). --### Azure Center for SAP recommendation: All VMs in SAP system must be certified for SAP --Azure Center for SAP solutions recommendation: All VMs in SAP system must be certified for SAP. --Learn more about [Central Server Instance - VM_0001_ASCS (Azure Center for SAP recommendation: All VMs in SAP system must be certified for SAP)](https://launchpad.support.sap.com/#/notes/1928533). --### Azure Center for SAP recommendation: All VMs in SAP system must be certified for SAP --Azure Center for SAP solutions recommendation: All VMs in SAP system must be certified for SAP. --Learn more about [Database Instance - VM_0001_DB (Azure Center for SAP recommendation: All VMs in SAP system must be certified for SAP)](https://launchpad.support.sap.com/#/notes/1928533). --### Disable fstrim in SLES OS to avoid XFS metadata corruption in SAP workloads --fstrim scans the filesystem and sends 'UNMAP' commands for each unused block it finds; useful in thin-provisioned system if the system is over-provisioned. Running SAP HANA on an over-provisioned storage array isn't recommended. Active fstrim can cause XFS metadata corruption See SAP note: 2205917 --Learn more about [App Server Instance - GetFsTrimForApp (Disable fstrim in SLES OS to avoid XFS metadata corruption in SAP workloads)](https://www.suse.com/support/kb/doc/?id=000019447). --### Disable fstrim in SLES OS to avoid XFS metadata corruption in SAP workloads --fstrim scans the filesystem and sends 'UNMAP' commands for each unused block it finds; useful in thin-provisioned system if the system is over-provisioned. Running SAP HANA on an over-provisioned storage array isn't recommended. Active fstrim can cause XFS metadata corruption See SAP note: 2205917 --Learn more about [Central Server Instance - GetFsTrimForAscs (Disable fstrim in SLES OS to avoid XFS metadata corruption in SAP workloads)](https://www.suse.com/support/kb/doc/?id=000019447). --### Disable fstrim in SLES OS to avoid XFS metadata corruption in SAP workloads --fstrim scans the filesystem and sends 'UNMAP' commands for each unused block it finds; useful in thin-provisioned system if the system is over-provisioned. Running SAP HANA on an over-provisioned storage array isn't recommended. Active fstrim can cause XFS metadata corruption See SAP note: 2205917 --Learn more about [Database Instance - GetFsTrimForDb (Disable fstrim in SLES OS to avoid XFS metadata corruption in SAP workloads)](https://www.suse.com/support/kb/doc/?id=000019447). --### For better performance and support, ensure HANA data filesystem type is supported for HANA DB --For different volumes of SAP HANA, where asynchronous I/O is used, SAP only supports filesystems validated as part of an SAP HANA appliance certification. Using an unsupported filesystem might lead to various operational issues, e.g. hanging recovery and index server crashes. See SAP note 2972496. --Learn more about [Database Instance - HanaDataFileSystemSupported (For better performance and support, ensure HANA data filesystem type is supported for HANA DB)](https://launchpad.support.sap.com/#/notes/2972496). --### For better performance and support, ensure HANA shared filesystem type is supported for HANA DB --For different volumes of SAP HANA, where asynchronous I/O is used, SAP only supports filesystems validated as part of an SAP HANA appliance certification. Using an unsupported filesystem might lead to various operational issues, e.g. hanging recovery and index server crashes. See SAP note 2972496. --Learn more about [Database Instance - HanaSharedFileSystem (For better performance and support, ensure HANA shared filesystem type is supported for HANA DB)](https://launchpad.support.sap.com/#/notes/2972496). ---### For better performance and support, ensure HANA log filesystem type is supported for HANA DB --For different volumes of SAP HANA, where asynchronous I/O is used, SAP only supports filesystems validated as part of an SAP HANA appliance certification. Using an unsupported filesystem might lead to various operational issues, e.g. hanging recovery and index server crashes. See SAP note 2972496. --Learn more about [Database Instance - HanaLogFileSystemSupported (For better performance and support, ensure HANA log filesystem type is supported for HANA DB)](https://launchpad.support.sap.com/#/notes/2972496). --### Azure Center for SAP recommendation: Ensure all NICs for a system are attached to the same VNET --Azure Center for SAP recommendation: Ensure all NICs for a system must be attached to the same VNET. --Learn more about [App Server Instance - AllVmsHaveSameVnetApp (Azure Center for SAP recommendation: Ensure all NICs for a system are attached to the same VNET)](/azure/virtual-machines/workloads/sap/sap-deployment-checklist#:~:text=this%20article.-,Networking,-.). --### Azure Center for SAP recommendation: Swap space on HANA systems must be 2GB --Azure Center for SAP solutions recommendation: Swap space on HANA systems must be 2GB. --Learn more about [Database Instance - SwapSpaceForSap (Azure Center for SAP recommendation: Swap space on HANA systems must be 2GB)](https://launchpad.support.sap.com/#/notes/1999997). --### Azure Center for SAP recommendation: Ensure all NICs for a system are attached to the same VNET --Azure Center for SAP recommendation: Ensure all NICs for a system must be attached to the same VNET. --Learn more about [Central Server Instance - AllVmsHaveSameVnetAscs (Azure Center for SAP recommendation: Ensure all NICs for a system are attached to the same VNET)](/azure/virtual-machines/workloads/sap/sap-deployment-checklist#:~:text=this%20article.-,Networking,-.). --### Azure Center for SAP recommendation: Ensure all NICs for a system are attached to the same VNET --Azure Center for SAP recommendation: Ensure all NICs for a system must be attached to the same VNET. --Learn more about [Database Instance - AllVmsHaveSameVnetDb (Azure Center for SAP recommendation: Ensure all NICs for a system are attached to the same VNET)](/azure/virtual-machines/workloads/sap/sap-deployment-checklist#:~:text=this%20article.-,Networking,-.). --### Azure Center for SAP recommendation: Ensure network configuration is optimized for HANA and OS --Azure Center for SAP solutions recommendation: Ensure network configuration is optimized for HANA and OS. --Learn more about [Database Instance - NetworkConfigForSap (Azure Center for SAP recommendation: Ensure network configuration is optimized for HANA and OS)](https://launchpad.support.sap.com/#/notes/2382421). ----## Storage --### Create a backup of HSM --Create a periodic HSM backup to prevent data loss and have ability to recover the HSM in case of a disaster. --Learn more about [Managed HSM Service - CreateHSMBackup (Create a backup of HSM)](/azure/key-vault/managed-hsm/best-practices#create-backups). --### Application Volume Group SDK Recommendation --The minimum API version for Azure NetApp Files application volume group feature must be 2022-01-01. We recommend using 2022-03-01 when possible to fully leverage the API. --Learn more about [Volume - Application Volume Group SDK version recommendation (Application Volume Group SDK Recommendation)](https://aka.ms/anf-sdkversion). --### Availability Zone Volumes SDK Recommendation --The minimum SDK version of 2022-05-01 is recommended for the Azure NetApp Files Availability zone volume placement feature, to enable deployment of new Azure NetApp Files volumes in the Azure availability zone (AZ) that you specify. --Learn more about [Volume - Azure NetApp Files AZ Volume SDK version recommendation (Availability Zone Volumes SDK Recommendation)](https://aka.ms/anf-sdkversion). --### Cross Zone Replication SDK recommendation --The minimum SDK version of 2022-05-01 is recommended for the Azure NetApp Files Cross Zone Replication feature, to enable you to replicate volumes across availability zones within the same region. --Learn more about [Volume - Azure NetApp Files Cross Zone Replication SDK recommendation](https://aka.ms/anf-sdkversion). --### Volume Encryption using Customer Managed Keys with Azure Key Vault SDK Recommendation --The minimum API version for Azure NetApp Files Customer Managed Keys with Azure Key Vault feature is 2022-05-01. --Learn more about [Volume - CMK with AKV SDK Recommendation (Volume Encryption using Customer Managed Keys with Azure Key Vault SDK Recommendation)](). --### Cool Access SDK Recommendation --The minimum SDK version of 2022-03-01 is recommended for Standard service level with cool access feature to enable moving inactive data to an Azure storage account (the cool tier) and free up storage that resides within Azure NetApp Files volumes, resulting in overall cost savings. --Learn more about [Capacity Pool - Azure NetApp Files Cool Access SDK version recommendation (Cool Access SDK Recommendation)](https://aka.ms/anf-sdkversion). --### Large Volumes SDK Recommendation --The minimum SDK version of 2022-xx-xx is recommended for automation of large volume creation, resizing and deletion. --Learn more about [Volume - Large Volumes SDK Recommendation](/azure/azure-netapp-files/azure-netapp-files-resource-limits). --### Prevent hitting subscription limit for maximum storage accounts --A region can support a maximum of 250 storage accounts per subscription. You have either already reached or are about to reach that limit. If you reach that limit, you're unable to create any more storage accounts in that subscription/region combination. Evaluate the recommended action below to avoid hitting the limit. --Learn more about [Storage Account - StorageAccountScaleTarget (Prevent hitting subscription limit for maximum storage accounts)](https://aka.ms/subscalelimit). --### Update to newer releases of the Storage Java v12 SDK for better reliability. --We noticed that one or more of your applications use an older version of the Azure Storage Java v12 SDK to write data to Azure Storage. Unfortunately, the version of the SDK being used has a critical issue that uploads incorrect data during retries (for example, in case of HTTP 500 errors), resulting in an invalid object being written. The issue is fixed in newer releases of the Java v12 SDK. --Learn more about [Storage Account - UpdateStorageJavaSDK (Update to newer releases of the Storage Java v12 SDK for better reliability.)](/azure/developer/java/sdk/?view=azure-java-stable&preserve-view=true). ------## Virtual desktop infrastructure --### Permissions missing for start VM on connect --We have determined you enabled start VM on connect but didn't grant the Azure Virtual Desktop the rights to power manage VMs in your subscription. As a result your users connecting to host pools won't receive a remote desktop session. Review feature documentation for requirements. --Learn more about [Host Pool - AVDStartVMonConnect (Permissions missing for start VM on connect)](https://aka.ms/AVDStartVMRequirement). --### No validation environment enabled --We have determined that you do not have a validation environment enabled in current subscription. When creating your host pools, you have selected "No" for "Validation environment" in the properties tab. Having at least one host pool with a validation environment enabled ensures the business continuity through Azure Virtual Desktop service deployments with early detection of potential issues. --Learn more about [Host Pool - ValidationEnvHostPools (No validation environment enabled)](../virtual-desktop/create-validation-host-pool.md). --### Not enough production environments enabled --We have determined that too many of your host pools have Validation Environment enabled. In order for Validation Environments to best serve their purpose, you must have at least one, but never more than half of your host pools in Validation Environment. By having a healthy balance between your host pools with Validation Environment enabled and those with it disabled, you're best able to utilize the benefits of the multistage deployments that Azure Virtual Desktop offers with certain updates. To fix this issue, open your host pool's properties and select "No" next to the "Validation Environment" setting. --Learn more about [Host Pool - ProductionEnvHostPools (Not enough production environments enabled)](../virtual-desktop/create-host-pools-powershell.md). -----## Web --### Set up staging environments in Azure App Service --Deploy an app to a slot first and then swap it into production to ensure that all instances of the slot are warmed up before being swapped and eliminate downtime. The traffic redirection is seamless, no requests are dropped because of swap operations. --Learn more about [App service - AzureAppService-StagingEnv (Set up staging environments in Azure App Service)](../app-service/deploy-staging-slots.md). --### Update Service Connector API Version --We have identified API calls from outdated Service Connector API for resources under this subscription. We recommend switching to the latest Service Connector API version. You need to update your existing code or tools to use the latest API version. --Learn more about [App service - UpgradeServiceConnectorAPI (Update Service Connector API Version)](/azure/service-connector). --### Update Service Connector SDK to the latest version --We have identified API calls from an outdated Service Connector SDK. We recommend upgrading to the latest version for the latest fixes, performance improvements, and new feature capabilities. --Learn more about [App service - UpgradeServiceConnectorSDK (Update Service Connector SDK to the latest version)](/azure/service-connector). -------## Next steps --Learn more about [Operational Excellence - Microsoft Azure Well Architected Framework](/azure/architecture/framework/devops/overview) |
advisor | Advisor Reference Performance Recommendations | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-reference-performance-recommendations.md | - Title: Performance recommendations -description: Full list of available performance recommendations in Advisor. - Previously updated : 6/24/2024---# Performance recommendations --The performance recommendations in Azure Advisor can help improve the speed and responsiveness of your business-critical applications. You can get performance recommendations from Advisor on the **Performance** tab of the Advisor dashboard. --1. Sign in to the [**Azure portal**](https://portal.azure.com). --1. Search for and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page. --1. On the **Advisor** dashboard, select the **Performance** tab. ---## AI + machine learning --### 429 Throttling Detected on this resource --We observed that there have been 1,000 or more 429 throttling errors on this resource in a one day timeframe. Consider enabling autoscale to better handle higher call volumes and reduce the number of 429 errors. --Learn more about [Azure AI services autoscale](/azure/ai-services/autoscale?tabs=portal). --### Text Analytics Model Version Deprecation --Upgrade the model version to a newer model version or latest to utilize the latest and highest quality models. --Learn more about [Cognitive Service - TAUpgradeToLatestModelVersion (Text Analytics Model Version Deprecation)](https://aka.ms/language-model-lifecycle). --### Text Analytics Model Version Deprecation --Upgrade the model version to a newer model version or latest to utilize the latest and highest quality models. --Learn more about [Cognitive Service - TAUpgradeModelVersiontoLatest (Text Analytics Model Version Deprecation)](https://aka.ms/language-model-lifecycle). --### Upgrade to the latest Cognitive Service Text Analytics API version --Upgrade to the latest API version to get the best results in terms of model quality, performance and service availability. Also there are new features available as new endpoints starting from V3.0 such as personal data recognition, entity recognition and entity linking available as separate endpoints. In terms of changes in preview endpoints, we have Opinion Mining in SA endpoint, redacted text property in personal data endpoint --Learn more about [Cognitive Service - UpgradeToLatestAPI (Upgrade to the latest Cognitive Service Text Analytics API version)](/azure/cognitive-services/text-analytics/how-tos/text-analytics-how-to-call-api). --### Upgrade to the latest API version of Azure Cognitive Service for Language --Upgrade to the latest API version to get the best results in terms of model quality, performance and service availability. --Learn more about [Cognitive Service - UpgradeToLatestAPILanguage (Upgrade to the latest API version of Azure Cognitive Service for Language)](https://aka.ms/language-api). --### Upgrade to the latest Cognitive Service Text Analytics SDK version --Upgrade to the latest SDK version to get the best results in terms of model quality, performance and service availability. Also there are new features available as new endpoints starting from V3.0 such as personal data recognition, entity recognition and entity linking available as separate endpoints. In terms of changes in preview endpoints, we have Opinion Mining in SA endpoint, redacted text property in personal data endpoint --Learn more about [Cognitive Service - UpgradeToLatestSDK (Upgrade to the latest Cognitive Service Text Analytics SDK version)](/azure/cognitive-services/text-analytics/quickstarts/text-analytics-sdk?tabs=version-3-1&pivots=programming-language-csharp). --### Upgrade to the latest Cognitive Service Language SDK version --Upgrade to the latest SDK version to get the best results in terms of model quality, performance and service availability. --Learn more about [Cognitive Service - UpgradeToLatestSDKLanguage (Upgrade to the latest Cognitive Service Language SDK version)](https://aka.ms/language-api). --### Upgrade to the latest Azure AI Language SDK version --Upgrade to the latest SDK version to get the best results in terms of model quality, performance and service availability. Also there are new features available as new endpoints starting from V3.0 such as personal data recognition, entity recognition and entity linking available as separate endpoints. In terms of changes in preview endpoints, we have Opinion Mining in SA endpoint, redacted text property in personal data endpoint. --Learn more about [Azure AI Language](/azure/ai-services/language-service/language-detection/overview). -----## Analytics --### Right-size Data Explorer resources for optimal performance. --This recommendation surfaces all Data Explorer resources that exceed the recommended data capacity (80%). The recommended action to improve the performance is to scale to the recommended configuration shown. --Learn more about [Data explorer resource - Right-size ADX resource (Right-size Data Explorer resources for optimal performance.)](https://aka.ms/adxskuperformance). --### Review table cache policies for Data Explorer tables --This recommendation surfaces Data Explorer tables with a high number of queries that look back beyond the configured cache period (policy) - you see the top 10 tables by query percentage that access out-of-cache data. The recommended action to improve the performance: Limit queries on this table to the minimal necessary time range (within the defined policy). Alternatively, if data from the entire time range is required, increase the cache period to the recommended value. --Learn more about [Data explorer resource - UpdateCachePoliciesForAdxTables (Review table cache policies for Data Explorer tables)](https://aka.ms/adxcachepolicy). --### Reduce Data Explorer table cache policy for better performance --Reducing the table cache policy frees up unused data from the resource's cache and improves performance. --Learn more about [Data explorer resource - ReduceCacheForAzureDataExplorerTablesToImprovePerformance (Reduce Data Explorer table cache policy for better performance)](https://aka.ms/adxcachepolicy). --### Increase the cache in the cache policy --Based on your actual usage during the last month, update the cache policy to increase the hot cache for the table. The retention period must always be larger than the cache period. If you increase the cache and the retention period is lower than the cache period, update the retention policy. The analysis is based only on user queries that scanned data. --Learn more about [Data explorer resource - IncreaseCacheForAzureDataExplorerTablesToImprovePerformance (Increase the cache in the cache policy)](https://aka.ms/adxcachepolicy). --### Enable Optimized Autoscale for Data Explorer resources --Looks like your resource could have automatically scaled to improve performance (based on your actual usage during the last week, cache utilization, ingestion utilization, CPU, and streaming ingests utilization). To optimize costs and performance, we recommend enabling Optimized Autoscale. --Learn more about [Data explorer resource - PerformanceEnableOptimizedAutoscaleAzureDataExplorer (Enable Optimized Autoscale for Data Explorer resources)](https://aka.ms/adxoptimizedautoscale). --### Reads happen on most recent data --More than 75% of your read requests are landing on the memstore, indicating that the reads are primarily on recent data. Recent data reads suggest that even if a flush happens on the memstore, the recent file needs to be accessed and put in the cache. --Learn more about [HDInsight cluster - HBaseMemstoreReadPercentage (Reads happen on most recent data)](../hdinsight/hbase/apache-hbase-advisor.md). --### Consider using Accelerated Writes feature in your HBase cluster to improve cluster performance. --You're seeing this advisor recommendation because HDInsight team's system log shows that in the past seven days, your cluster has encountered the following scenarios: --1. High WAL sync time latency --2. High write request count (at least 3 one hour windows of over 1000 avg_write_requests/second/node) --These conditions are indicators that your cluster is suffering from high write latencies, which can be due to heavy workload on your cluster. --To improve the performance of your cluster, consider utilizing the Accelerated Writes feature provided by Azure HDInsight HBase. The Accelerated Writes feature for HDInsight Apache HBase clusters attaches premium SSD-managed disks to every RegionServer (worker node) instead of using cloud storage. As a result, it provides low write-latency and better resiliency for your applications. --To read more on this feature, visit link: --Learn more about [HDInsight cluster - AccWriteCandidate (Consider using Accelerated Writes feature in your HBase cluster to improve cluster performance.)](../hdinsight/hbase/apache-hbase-accelerated-writes.md). --### More than 75% of your queries are full scan queries --More than 75% of the scan queries on your cluster are doing a full region/table scan. Modify your scan queries to avoid full region or table scans. --Learn more about [HDInsight cluster - ScanQueryTuningcandidate (More than 75% of your queries are full scan queries.)](../hdinsight/hbase/apache-hbase-advisor.md). --### Check your region counts as you have blocking updates --Region counts needs to be adjusted to avoid updates getting blocked. It might require a scale up of the cluster by adding new nodes. --Learn more about [HDInsight cluster - RegionCountCandidate (Check your region counts as you have blocking updates.)](../hdinsight/hbase/apache-hbase-advisor.md). --### Consider increasing the flusher threads --The flush queue size in your region servers is more than 100 or there are updates getting blocked frequently. Tuning of the flush handler is recommended. --Learn more about [HDInsight cluster - FlushQueueCandidate (Consider increasing the flusher threads)](../hdinsight/hbase/apache-hbase-advisor.md). --### Consider increasing your compaction threads for compactions to complete faster --The compaction queue in your region servers is more than 2000 suggesting that more data requires compaction. Slower compactions can affect read performance as the number of files to read are more. More files without compaction can also affect the heap usage related to how files interact with Azure file system. --Learn more about [HDInsight cluster - CompactionQueueCandidate (Consider increasing your compaction threads for compactions to complete faster)](/azure/hdinsight/hbase/apache-hbase-advisor). --### Tables with Clustered Columnstore Indexes (CCI) with less than 60 million rows --Clustered columnstore tables are organized in data into segments. Having high segment quality is critical to achieving optimal query performance on a columnstore table. You can measure segment quality by the number of rows in a compressed row group. --Learn more about [Synapse workspace - SynapseCCIGuidance (Tables with Clustered Columnstore Indexes (CCI) with less than 60 million rows)](https://aka.ms/AzureSynapseCCIGuidance). --### Update SynapseManagementClient SDK Version --New SynapseManagementClient is using .NET SDK 4.0 or above. --Learn more about [Synapse workspace - UpgradeSynapseManagementClientSDK (Update SynapseManagementClient SDK Version)](https://aka.ms/UpgradeSynapseManagementClientSDK). ----## Compute --### vSAN capacity utilization has crossed critical threshold --Your vSAN capacity utilization has reached 75%. The cluster utilization is required to remain below the 75% critical threshold for SLA compliance. Add new nodes to the vSphere cluster to increase capacity or delete VMs to reduce consumption or adjust VM workloads --Learn more about [Azure VMware Solution private cloud - vSANCapacity (vSAN capacity utilization has crossed critical threshold)](../azure-vmware/architecture-private-clouds.md). --### Update Automanage to the latest API Version --We have identified SDK calls from outdated API for resources under this subscription. We recommend switching to the latest SDK versions to ensure you receive the latest features and performance improvements. --Learn more about [Virtual machine - UpdateToLatestApi (Update Automanage to the latest API Version)](/azure/automanage/reference-sdk). --### Improve user experience and connectivity by deploying VMs closer to userΓÇÖs location. --We have determined that your VMs are located in a region different or far from where your users are connecting with Azure Virtual Desktop. Distant user regions might lead to prolonged connection response times and affect overall user experience. --Learn more about [Virtual machine - RegionProximitySessionHosts (Improve user experience and connectivity by deploying VMs closer to userΓÇÖs location.)](../virtual-desktop/connection-latency.md). --### Use Managed disks to prevent disk I/O throttling --Your virtual machine disks belong to a storage account that has reached its scalability target, and is susceptible to I/O throttling. To protect your virtual machine from performance degradation and to simplify storage management, use Managed Disks. --Learn more about [Virtual machine - ManagedDisksStorageAccount (Use Managed disks to prevent disk I/O throttling)](https://aka.ms/aa_avset_manageddisk_learnmore). --### Convert Managed Disks from Standard HDD to Premium SSD for performance --We have noticed your Standard HDD disk is approaching performance targets. Azure premium SSDs deliver high-performance and low-latency disk support for virtual machines with IO-intensive workloads. Give your disk performance a boost by upgrading your Standard HDD disk to Premium SSD disk. Upgrading requires a VM reboot, which takes three to five minutes. --Learn more about [Disk - MDHDDtoPremiumForPerformance (Convert Managed Disks from Standard HDD to Premium SSD for performance)](/azure/virtual-machines/windows/disks-types#premium-ssd). --### Enable Accelerated Networking to improve network performance and latency --We have detected that Accelerated Networking isn't enabled on VM resources in your existing deployment that might be capable of supporting this feature. If your VM OS image supports Accelerated Networking as detailed in the documentation, make sure to enable this free feature on these VMs to maximize the performance and latency of your networking workloads in cloud --Learn more about [Virtual machine - AccelNetConfiguration (Enable Accelerated Networking to improve network performance and latency)](../virtual-network/create-vm-accelerated-networking-cli.md#enable-accelerated-networking-on-existing-vms). --### Use SSD Disks for your production workloads --We noticed that you're using SSD disks while also using Standard HDD disks on the same VM. Standard HDD managed disks are recommended for dev-test and backup; we recommend you use Premium SSDs or Standard SSDs for production. Premium SSDs deliver high-performance and low-latency disk support for virtual machines with IO-intensive workloads. Standard SSDs provide consistent and lower latency. Upgrade your disk configuration today for improved latency, reliability, and availability. Upgrading requires a VM reboot, which takes three to five minutes. --Learn more about [Virtual machine - MixedDiskTypeToSSDPublic (Use SSD Disks for your production workloads)](/azure/virtual-machines/windows/disks-types#disk-comparison). --### Match production Virtual Machines with Production Disk for consistent performance and better latency --Production virtual machines need production disks if you want to get the best performance. We see that you're running a production level virtual machine, however, you're using a low performing disk with standard HDD. Upgrading disks that are attached to your production disks, either Standard SSD or Premium SSD, benefits you with a more consistent experience and improvements in latency. --Learn more about [Virtual machine - MatchProdVMProdDisks (Match production Virtual Machines with Production Disk for consistent performance and better latency)](/azure/virtual-machines/windows/disks-types#disk-comparison). --### Accelerated Networking might require stopping and starting the VM --We have detected that Accelerated Networking isn't engaged on VM resources in your existing deployment even though the feature has been requested. In rare cases like this, it might be necessary to stop and start your VM, at your convenience, to re-engage AccelNet. --Learn more about [Virtual machine - AccelNetDisengaged (Accelerated Networking might require stopping and starting the VM)](../virtual-network/create-vm-accelerated-networking-cli.md#enable-accelerated-networking-on-existing-vms). --### Take advantage of Ultra Disk low latency for your log disks and improve your database workload performance --Ultra disk is available in the same region as your database workload. Ultra disk offers high throughput, high IOPS, and consistent low latency disk storage for your database workloads: For Oracle DBs, you can now use either 4k or 512E sector sizes with Ultra disk depending on your Oracle DB version. For SQL server, using Ultra disk for your log disk might offer more performance for your database. See instructions here for migrating your log disk to Ultra disk. --Learn more about [Virtual machine - AzureStorageVmUltraDisk (Take advantage of Ultra Disk low latency for your log disks and improve your database workload performance.)](/azure/virtual-machines/disks-enable-ultra-ssd?tabs=azure-portal). --### Upgrade the size of your most active virtual machines to prevent resource exhaustion and improve performance --We analyzed data for the past seven days and identified virtual machines (VMs) with high utilization across different metrics (that is, CPU, Memory, and VM IO). Those VMs might experience performance issues since they're nearing or at their SKU's limits. Consider upgrading their SKU to improve performance. --Learn more about [Virtual machine - UpgradeSizeHighVMUtilV0 (Upgrade the size of your most active virtual machines to prevent resource exhaustion and improve performance)](https://aka.ms/aa_resizehighusagevmrec_learnmore). -----## Containers --### Unsupported Kubernetes version is detected --Unsupported Kubernetes version is detected. Ensure Kubernetes cluster runs with a supported version. --Learn more about [Kubernetes service - UnsupportedKubernetesVersionIsDetected (Unsupported Kubernetes version is detected)](https://aka.ms/aks-supported-versions). --### Unsupported Kubernetes version is detected --Unsupported Kubernetes version is detected. Ensure Kubernetes cluster runs with a supported version. --Learn more about [HDInsight Cluster Pool - UnsupportedHiloAKSVersionIsDetected (Unsupported Kubernetes version is detected)](https://aka.ms/aks-supported-versions). --### Clusters with a single node pool --We recommended that you add one or more node pools instead of using a single node pool. Multiple pools help to isolate critical system pods from your application to prevent misconfigured or rogue application pods from accidentally killing system pods. --Learn more about [Kubernetes service - ClustersWithASingleNodePool (Clusters with a Single Node Pool)](/azure/aks/use-system-pools?tabs=azure-cli#system-and-user-node-pools). --### Update Fleet API to the latest version --We have identified SDK calls from outdated Fleet API for resources under your subscription. We recommend switching to the latest SDK version, which ensures you receive the latest features and performance improvements. --Learn more about [Kubernetes fleet manager | PREVIEW - UpdateToLatestFleetApi (Update Fleet API to the latest Version)](/azure/kubernetes-fleet/update-orchestration). -----## Databases --### Configure your Azure Cosmos DB query page size (MaxItemCount) to -1 --You're using the query page size of 100 for queries for your Azure Cosmos DB container. We recommend using a page size of -1 for faster scans. --Learn more about [Azure Cosmos DB account - CosmosDBQueryPageSize (Configure your Azure Cosmos DB query page size (MaxItemCount) to -1)](/azure/cosmos-db/sql-api-query-metrics#max-item-count). --### Add composite indexes to your Azure Cosmos DB container --Your Azure Cosmos DB containers are running ORDER BY queries incurring high Request Unit (RU) charges. It's recommended to add composite indexes to your containers' indexing policy to improve the RU consumption and decrease the latency of these queries. --Learn more about [Azure Cosmos DB account - CosmosDBOrderByHighRUCharge (Add composite indexes to your Azure Cosmos DB container)](/azure/cosmos-db/index-policy#composite-indexes). --### Optimize your Azure Cosmos DB indexing policy to only index what's needed --Your Azure Cosmos DB containers are using the default indexing policy, which indexes every property in your documents. Because you're storing large documents, a high number of properties get indexed, resulting in high Request Unit consumption and poor write latency. To optimize write performance, we recommend overriding the default indexing policy to only index the properties used in your queries. --Learn more about [Azure Cosmos DB account - CosmosDBDefaultIndexingWithManyPaths (Optimize your Azure Cosmos DB indexing policy to only index what's needed)](/azure/cosmos-db/index-policy). --### Use hierarchical partition keys for optimal data distribution --Your account has a custom setting that allows the logical partition size in a container to exceed the limit of 20 GB. The Azure Cosmos DB team applied this setting as a temporary measure to give you time to rearchitect your application with a different partition key. It isn't recommended as a long-term solution, as SLA guarantees aren't honored when the limit is increased. You can now use hierarchical partition keys (preview) to rearchitect your application. The feature allows you to exceed the 20-GB limit by setting up to three partition keys, ideal for multitenant scenarios or workloads that use synthetic keys. --Learn more about [Azure Cosmos DB account - CosmosDBHierarchicalPartitionKey (Use hierarchical partition keys for optimal data distribution)](https://devblogs.microsoft.com/cosmosdb/hierarchical-partition-keys-private-preview/). --### Configure your Azure Cosmos DB applications to use Direct connectivity in the SDK --We noticed that your Azure Cosmos DB applications are using Gateway mode via the Azure Cosmos DB .NET or Java SDKs. We recommend switching to Direct connectivity for lower latency and higher scalability. --Learn more about [Azure Cosmos DB account - CosmosDBGatewayMode (Configure your Azure Cosmos DB applications to use Direct connectivity in the SDK)](/azure/cosmos-db/performance-tips#networking). --### Enhance Performance by Scaling Up for Optimal Resource Utilization --Maximizing the efficiency of your system's resources is crucial for maintaining top-notch performance. Our system closely monitors CPU usage, and when it crosses the 90% threshold over a 12-hour period, a proactive alert is triggered. This alert not only informs Azure Cosmos DB for MongoDB vCore users of the elevated CPU consumption but also provides valuable guidance on scaling up to a higher tier. By upgrading to a more robust tier, you can unlock improved performance and ensure your system operates at its peak potential. --Learn more about [Scaling and configuring Your Azure Cosmos DB for MongoDB vCore cluster](/azure/cosmos-db/mongodb/vcore/how-to-scale-cluster). --### PerformanceBoostervCore --When CPU usage surpasses 90% within a 12-hour timeframe, users are notified about the high usage. Additionally it advises them to scale up to a higher tier to get a better performance. --Learn more about [Cosmos DB account - ScaleUpvCoreRecommendation (PerformanceBoostervCore)](/azure/cosmos-db/mongodb/vcore/how-to-scale-cluster). ---### Scale the storage limit for MariaDB server --Our system shows that the server might be constrained because it's approaching limits for the currently provisioned storage values. Approaching the storage limits might result in degraded performance or the server moved to read-only mode. To ensure continued performance, we recommend increasing the provisioned storage amount or turning ON the "Auto-Growth" feature for automatic storage increases --Learn more about [MariaDB server - OrcasMariaDbStorageLimit (Scale the storage limit for MariaDB server)](https://aka.ms/mariadbstoragelimits). --### Increase the MariaDB server vCores --Our system shows that the CPU has been running under high utilization for an extended time period over the last seven days. High CPU utilization might lead to slow query performance. To improve performance, we recommend moving to a larger compute size. --Learn more about [MariaDB server - OrcasMariaDbCpuOverload (Increase the MariaDB server vCores)](https://aka.ms/mariadbpricing). --### Scale the MariaDB server to higher SKU --Our system shows that the server might be unable to support the connection requests because of the maximum supported connections for the given SKU, which might result in a large number of failed connections requests which adversely affect the performance. To improve performance, we recommend moving to higher memory SKU by increasing vCore or switching to Memory-Optimized SKUs. --Learn more about [MariaDB server - OrcasMariaDbConcurrentConnection (Scale the MariaDB server to higher SKU)](https://aka.ms/mariadbconnectionlimits). --### Move your MariaDB server to Memory Optimized SKU --Our system shows that there is high churn in the buffer pool for this server which can result in slower query performance and increased IOPS. To improve performance, review your workload queries to identify opportunities to minimize memory consumed. If no such opportunity found, then we recommend moving to higher SKU with more memory or increase storage size to get more IOPS. --Learn more about [MariaDB server - OrcasMariaDbMemoryCache (Move your MariaDB server to Memory Optimized SKU)](https://aka.ms/mariadbpricing). --### Increase the reliability of audit logs --Our system shows that the server's audit logs might have been lost over the past day. Lost audit logs can occur when your server is experiencing a CPU-heavy workload, or a server generates a large number of audit logs over a short time period. We recommend only logging the necessary events required for your audit purposes using the following server parameters: audit_log_events, audit_log_exclude_users, audit_log_include_users. If the CPU usage on your server is high due to your workload, we recommend increasing the server's vCores to improve performance. --Learn more about [MariaDB server - OrcasMariaDBAuditLog (Increase the reliability of audit logs)](https://aka.ms/mariadb-audit-logs). --### Scale the storage limit for MySQL server --Our system shows that the server might be constrained because it is approaching limits for the currently provisioned storage values. Approaching the storage limits might result in degraded performance or in the server being moved to read-only mode. To ensure continued performance, we recommend increasing the provisioned storage amount or turning ON the "Auto-Growth" feature for automatic storage increases --Learn more about [MySQL server - OrcasMySQLStorageLimit (Scale the storage limit for MySQL server)](https://aka.ms/mysqlstoragelimits). --### Scale the MySQL server to higher SKU --Our system shows that the server might be unable to support the connection requests because of the maximum supported connections for the given SKU, which might result in a large number of failed connections requests that adversely affect the performance. To improve performance, we recommend moving to a higher memory SKU by increasing vCore or switching to Memory-Optimized SKUs. --Learn more about [MySQL server - OrcasMySQLConcurrentConnection (Scale the MySQL server to higher SKU)](https://aka.ms/mysqlconnectionlimits). --### Increase the MySQL server vCores --Our system shows that the CPU has been running under high utilization for an extended time period over the last seven days. High CPU utilization might lead to slow query performance. To improve performance, we recommend moving to a larger compute size. --Learn more about [MySQL server - OrcasMySQLCpuOverload (Increase the MySQL server vCores)](https://aka.ms/mysqlpricing). --### Move your MySQL server to Memory Optimized SKU --Our system shows that there is high churn in the buffer pool for this server which can result in slower query performance and increased IOPS. To improve performance, review your workload queries to identify opportunities to minimize memory consumed. If no such opportunity found, then we recommend moving to higher SKU with more memory or increase storage size to get more IOPS. --Learn more about [MySQL server - OrcasMySQLMemoryCache (Move your MySQL server to Memory Optimized SKU)](https://aka.ms/mysqlpricing). --### Add a MySQL Read Replica server --Our system shows that you might have a read intensive workload running, which results in resource contention for this server. Resource contention might lead to slow query performance for the server. To improve performance, we recommend you add a read replica, and offload some of your read workloads to the replica. --Learn more about [MySQL server - OrcasMySQLReadReplica (Add a MySQL Read Replica server)](https://aka.ms/mysqlreadreplica). --### Improve MySQL connection management --Our system shows that your application connecting to MySQL server might be managing connections poorly, which might result in unnecessary resource consumption and overall higher application latency. To improve connection management, we recommend that you reduce the number of short-lived connections and eliminate unnecessary idle connections. You can do this by configuring a server side connection-pooler, such as ProxySQL. --Learn more about [MySQL server - OrcasMySQLConnectionPooling (Improve MySQL connection management)](https://aka.ms/azure_mysql_connection_pooling). --### Increase the reliability of audit logs --Our system shows that the server's audit logs might have been lost over the past day. This can occur when your server is experiencing a CPU heavy workload or a server generates a large number of audit logs over a short time period. We recommend only logging the necessary events required for your audit purposes using the following server parameters: audit_log_events, audit_log_exclude_users, audit_log_include_users. If the CPU usage on your server is high due to your workload, we recommend increasing the server's vCores to improve performance. --Learn more about [MySQL server - OrcasMySQLAuditLog (Increase the reliability of audit logs)](https://aka.ms/mysql-audit-logs). --### Improve performance by optimizing MySQL temporary-table sizing --Our system shows that your MySQL server might be incurring unnecessary I/O overhead due to low temporary-table parameter settings. This might result in unnecessary disk-based transactions and reduced performance. We recommend that you increase the 'tmp_table_size' and 'max_heap_table_size' parameter values to reduce the number of disk-based transactions. --Learn more about [MySQL server - OrcasMySqlTmpTables (Improve performance by optimizing MySQL temporary-table sizing)](https://aka.ms/azure_mysql_tmp_table). --### Improve MySQL connection latency --Our system shows that your application connecting to MySQL server might be managing connections poorly. This might result in higher application latency. To improve connection latency, we recommend that you enable connection redirection. This can be done by enabling the connection redirection feature of the PHP driver. --Learn more about [MySQL server - OrcasMySQLConnectionRedirection (Improve MySQL connection latency)](https://aka.ms/azure_mysql_connection_redirection). --### Increase the storage limit for MySQL Flexible Server --Our system shows that the server might be constrained because it is approaching limits for the currently provisioned storage values. Approaching the storage limits might result in degraded performance or in the server being moved to read-only mode. To ensure continued performance, we recommend increasing the provisioned storage amount. --Learn more about [Azure Database for MySQL flexible server - OrcasMeruMySqlStorageUpsell (Increase the storage limit for MySQL Flexible Server)](https://aka.ms/azure_mysql_flexible_server_storage). --### Scale the MySQL Flexible Server to a higher SKU --Our system shows that your Flexible Server is exceeding the connection limits associated with your current SKU. A large number of failed connection requests might adversely affect server performance. To improve performance, we recommend increasing the number of vCores or switching to a higher SKU. --Learn more about [Azure Database for MySQL flexible server - OrcasMeruMysqlConnectionUpsell (Scale the MySQL Flexible Server to a higher SKU)](https://aka.ms/azure_mysql_flexible_server_storage). --### Increase the MySQL Flexible Server vCores. --Our system shows that the CPU has been running under high utilization for an extended time period over the last seven days. High CPU utilization might lead to slow query performance. To improve performance, we recommend moving to a larger compute size. --Learn more about [Azure Database for MySQL flexible server - OrcasMeruMysqlCpuUpcell (Increase the MySQL Flexible Server vCores.)](https://aka.ms/azure_mysql_flexible_server_pricing). --### Improve performance by optimizing MySQL temporary-table sizing. --Our system shows that your MySQL server might be incurring unnecessary I/O overhead due to low temporary-table parameter settings. Unnecessary I/O overhead might result in unnecessary disk-based transactions and reduced performance. We recommend that you increase the 'tmp_table_size' and 'max_heap_table_size' parameter values to reduce the number of disk-based transactions. --Learn more about [Azure Database for MySQL flexible server - OrcasMeruMysqlTmpTable (Improve performance by optimizing MySQL temporary-table sizing.)](https://dev.mysql.com/doc/refman/8.0/en/internal-temporary-tables.html#internal-temporary-tables-engines). --### Move your MySQL server to Memory Optimized SKU --Our system shows that there is high memory usage for this server that can result in slower query performance and increased IOPS. To improve performance, review your workload queries to identify opportunities to minimize memory consumed. If no such opportunity found, then we recommend moving to higher SKU with more memory or increase storage size to get more IOPS. --Learn more about [Azure Database for MySQL flexible server - OrcasMeruMysqlMemoryUpsell (Move your MySQL server to Memory Optimized SKU)](https://aka.ms/azure_mysql_flexible_server_storage). --### Add a MySQL Read Replica server --Our system shows that you might have a read intensive workload running, which results in resource contention for this server. This might lead to slow query performance for the server. To improve performance, we recommend you add a read replica, and offload some of your read workloads to the replica. --Learn more about [Azure Database for MySQL flexible server - OrcasMeruMysqlReadReplicaUpsell (Add a MySQL Read Replica server)](https://aka.ms/flexible-server-mysql-read-replicas). --### Increase the work_mem to avoid excessive disk spilling from sort and hash --Our system shows that the configuration work_mem is too small for your PostgreSQL server which is resulting in disk spilling and degraded query performance. To improve this, we recommend increasing the work_mem limit for the server, which helps to reduce the scenarios when the sort or hash happens on disk and improves the overall query performance. --Learn more about [PostgreSQL server - OrcasPostgreSqlWorkMem (Increase the work_mem to avoid excessive disk spilling from sort and hash)](https://aka.ms/runtimeconfiguration). --### Boost your workload performance by 30% with the new Ev5 compute hardware --With the new Ev5 compute hardware, you can boost workload performance by 30% with higher concurrency and better throughput. Navigate to the Compute+Storage option on the Azure portal and switch to Ev5 compute at no extra cost. Ev5 compute provides best performance among other VM series in terms of QPS and latency. --Learn more about [Azure Database for MySQL flexible server - OrcasMeruMySqlComputeSeriesUpgradeEv5 (Boost your workload performance by 30% with the new Ev5 compute hardware)](https://techcommunity.microsoft.com/t5/azure-database-for-mysql-blog/boost-azure-mysql-business-critical-flexible-server-performance/ba-p/3603698). --### Increase the storage limit for Hyperscale (Citus) server group --Our system shows that one or more nodes in the server group might be constrained because they are approaching limits for the currently provisioned storage values. This might result in degraded performance or in the server being moved to read-only mode. To ensure continued performance, we recommend increasing the provisioned disk space. --Learn more about [PostgreSQL server - OrcasPostgreSqlCitusStorageLimitHyperscaleCitus (Increase the storage limit for Hyperscale (Citus) server group)](/azure/postgresql/howto-hyperscale-scale-grow#increase-storage-on-nodes). --### Increase the PostgreSQL server vCores --Over 7 days, CPU usage was at least one of the following: Above 90% for 2 or more hours, above 50% for 50% of the time, at max usage for 20% of the time. High CPU utilization can lead to slow query performance. To improve performance, we recommend moving your server to a larger SKU with higher compute. -Learn more about [Azure Database for PostgreSQL flexible server - Upscale Server SKU for PostgreSQL on Azure Database](/azure/postgresql/flexible-server/concepts-compute). --### Optimize log_statement settings for PostgreSQL on Azure Database --Our system shows that you have log_statement enabled, for better performance set it to NONE --Learn more about [Azure Database for PostgreSQL flexible server - Optimize log_statement settings for PostgreSQL on Azure Database](/azure/postgresql/flexible-server/concepts-logging). --### Optimize log_duration settings for PostgreSQL on Azure Database --You may experience potential performance degradation due to logging settings. To optimize these settings, set the log_duration server parameter to OFF. --Learn more about [Learn more about Azure Database for PostgreSQL flexible server - Optimize log_duration settings for PostgreSQL on Azure Database](/azure/postgresql/flexible-server/concepts-logging). --### Optimize log_min_duration settings for PostgreSQL on Azure Database --Your log_min_duration server parameter is set to less than 60,000 ms (1 minute), which can lead to potential performance degradation. You can optimize logging settings by setting the log_min_duration_statement parameter to -1. --Learn more about [Azure Database for PostgreSQL flexible server - Optimize log_min_duration settings for PostgreSQL on Azure Database](/azure/postgresql/flexible-server/concepts-logging). --### Optimize log_error_verbosity settings for PostgreSQL on Azure Database --Your server has been configured to output VERBOSE error logs. This can be useful for troubleshooting your database, but it can also result in reduced database performance. To improve performance, we recommend changing the log_error_verbosity server parameter to the DEFAULT setting. --Learn more about [Learn more about Azure Database for PostgreSQL flexible server - Optimize log_error_verbosity settings for PostgreSQL on Azure Database](/azure/postgresql/flexible-server/concepts-logging). --### Identify if checkpoints are happening too often to improve PostgreSQL - Flexible Server performance --Your sever is encountering checkpoints frequently. To resolve the issue, we recommend increasing your max_wal_size server parameter. --Learn more about [Azure Database for PostgreSQL flexible server ΓÇô Increase max_wal_size](/azure/postgresql/flexible-server/server-parameters-table-write-ahead-logcheckpoints?pivots=postgresql-16#max_wal_size). --### Identify inactive Logical Replication Slots to improve PostgreSQL - Flexible Server performance --Your server may have inactive logical replication slots which can result in degraded server performance and availability. We recommend deleting inactive replication slots or consuming the changes from the slots so the Log Sequence Number (LSN) advances to closer to the current LSN of the server. --Learn more about [Azure Database for PostgreSQL flexible server ΓÇô Unused/inactive Logical Replication Slots](/azure/postgresql/flexible-server/how-to-autovacuum-tuning#unused-replication-slots). --### Identify long-running transactions to improve PostgreSQL - Flexible Server performance --There are transactions running for more than 24 hours. Review the High CPU Usage-> Long Running Transactions section in the troubleshooting guides to identify and mitigate the issue. --Learn more about [Azure Database for PostgreSQL flexible server ΓÇô Long Running transactions using Troubleshooting guides](/azure/postgresql/flexible-server/how-to-troubleshooting-guides). --### Identify Orphaned Prepared transactions to improve PostgreSQL - Flexible Server performance --There are orphaned prepared transactions. Rollback/Commit the prepared transaction. The recommendations are shared in Autovacuum Blockers -> Autovacuum Blockers section in the troubleshooting guides. --Learn more about [Azure Database for PostgreSQL flexible server ΓÇô Orphaned Prepared transactions using Troubleshooting guides](/azure/postgresql/flexible-server/how-to-troubleshooting-guides). --### Identify Transaction Wraparound to improve PostgreSQL - Flexible Server performance --The server has crossed the 50% wraparound limit, having 1 billion transactions. Refer to the recommendations shared in the Autovacuum Blockers -> Emergency AutoVacuum and Wraparound section of the troubleshooting guides. --Learn more about [Azure Database for PostgreSQL flexible server ΓÇô Transaction Wraparound using Troubleshooting guides](/azure/postgresql/flexible-server/how-to-troubleshooting-guides). --### Identify High Bloat Ratio to improve PostgreSQL - Flexible Server performance --The server has a bloat_ratio (dead tuples/ (live tuples + dead tuples) > 80%). Refer to the recommendations shared in the Autovacuum Monitoring section of the troubleshooting guides. --Learn more about [Azure Database for PostgreSQL flexible server ΓÇô High Bloat Ratio using Troubleshooting guides](/azure/postgresql/flexible-server/how-to-troubleshooting-guides). --### Increase the storage limit for Hyperscale (Citus) server group --Our system shows that one or more nodes in the server group might be constrained because they are approaching limits for the currently provisioned storage values. This might result in degraded performance or in the server being moved to read-only mode. To ensure continued performance, we recommend increasing the provisioned disk space. --Learn more about [Hyperscale (Citus) server group - MarlinStorageLimitRecommendation (Increase the storage limit for Hyperscale (Citus) server group)](/azure/postgresql/howto-hyperscale-scale-grow#increase-storage-on-nodes). --### Migrate your database from SSPG to FSPG --Consider our new offering, Azure Database for PostgreSQL Flexible Server, which provides richer capabilities such as zone resilient HA, predictable performance, maximum control, custom maintenance window, cost optimization controls, and simplified developer experience. --Learn more about [Azure Database for PostgreSQL flexible server - OrcasPostgreSqlMeruMigration (Migrate your database from SSPG to FSPG)](/azure/postgresql/how-to-upgrade-using-dump-and-restore). --### Improve your Cache and application performance when running with high network bandwidth --Cache instances perform best when not running under high network bandwidth that might cause unresponsiveness, data loss, or unavailability. Apply best practices to reduce network bandwidth or scale to a different size or SKU with more capacity. --Learn more about [Redis Cache Server - RedisCacheNetworkBandwidth (Improve your Cache and application performance when running with high network bandwidth)](https://aka.ms/redis/recommendations/bandwidth). --### Improve your Cache and application performance when running with many connected clients --Cache instances perform best when not running under high network bandwidth that might cause unresponsiveness, data loss, or unavailability. Apply best practices to reduce the server load or scale to a different size or SKU with more capacity. --Learn more about [Redis Cache Server - RedisCacheConnectedClients (Improve your Cache and application performance when running with many connected clients)](https://aka.ms/redis/recommendations/connections). --### Improve your Cache and application performance when running with many connected clients --Cache instances perform best when not running under high network bandwidth that might cause unresponsiveness, data loss, or unavailability. Apply best practices to reduce the server load or scale to a different size or SKU with more capacity. --Learn more about [Redis Cache Server - RedisCacheConnectedClientsHigh (Improve your Cache and application performance when running with many connected clients)](https://aka.ms/redis/recommendations/connections). --### Improve your Cache and application performance when running with high server load --Cache instances perform best when not running under high network bandwidth that might cause unresponsiveness, data loss, or unavailability. Apply best practices to reduce the server load or scale to a different size or SKU with more capacity. --Learn more about [Redis Cache Server - RedisCacheServerLoad (Improve your Cache and application performance when running with high server load)](https://aka.ms/redis/recommendations/cpu). --### Improve your Cache and application performance when running with high server load --Cache instances perform best when not running under high network bandwidth that might cause unresponsiveness, data loss, or unavailability. Apply best practices to reduce the server load or scale to a different size or SKU with more capacity. --Learn more about [Redis Cache Server - RedisCacheServerLoadHigh (Improve your Cache and application performance when running with high server load)](https://aka.ms/redis/recommendations/cpu). --### Improve your Cache and application performance when running with high memory pressure --Cache instances perform best when not running under high network bandwidth that might cause unresponsiveness, data loss, or unavailability. Apply best practices to reduce used memory or scale to a different size or SKU with more capacity. --Learn more about [Redis Cache Server - RedisCacheUsedMemory (Improve your Cache and application performance when running with high memory pressure)](https://aka.ms/redis/recommendations/memory). --### Improve your Cache and application performance when memory rss usage is high. --Cache instances perform best when not running under high network bandwidth that might cause unresponsiveness, data loss, or unavailability. Apply best practices to reduce used memory or scale to a different size or SKU with more capacity. --Learn more about [Redis Cache Server - RedisCacheUsedMemoryRSS (Improve your Cache and application performance when memory rss usage is high.)](https://aka.ms/redis/recommendations/memory). --### Cache instances perform best when the host machines where client application runs is able to keep up with responses from the cache --Cache instances perform best when the host machines where the client application runs, is able to keep up with responses from the cache. If client host machine is running hot on memory, CPU, or network bandwidth, the cache responses don't reach your application fast enough and can result in higher latency. --Learn more about [Redis Cache Server - UnresponsiveClient (Cache instances perform best when the host machines where client application runs is able to keep up with responses from the cache.)](/azure/azure-cache-for-redis/cache-troubleshoot-client). ---## DevOps --### Update to the latest AMS API Version --We have identified calls to an Azure Media Services (AMS) API version that is not recommended. We recommend switching to the latest AMS API version to ensure uninterrupted access to AMS, latest features, and performance improvements. --Learn more about [Monitor - UpdateToLatestAMSApiVersion (Update to the latest AMS API Version)](https://aka.ms/AMSAdvisor). --### Upgrade to the latest Workloads SDK version --Upgrade to the latest Workloads SDK version to get the best results in terms of model quality, performance and service availability. --Learn more about [Monitor - UpgradeToLatestAMSSdkVersion (Upgrade to the latest Workloads SDK version)](https://aka.ms/AMSAdvisor). ----## Integration --### Upgrade your API Management resource to an alternative version --Your subscription is running on versions that have been scheduled for deprecation. On 30 September 2023, all API versions for the Azure API Management service prior to 2021-08-01 retire and API calls fail. Upgrade to newer version to prevent disruption to your services. --Learn more about [Api Management - apimgmtdeprecation (Upgrade your API Management resource to an alternative version)](https://azure.microsoft.com/updates/api-versions-being-retired-for-azure-api-management/). ------## Mobile --### Use recommended version of Chat SDK --Azure Communication Services Chat SDK can be used to add rich, real-time chat to your applications. Update to the recommended version of Chat SDK to ensure the latest fixes and features. --Learn more about [Communication service - UpgradeChatSdk (Use recommended version of Chat SDK)](../communication-services/concepts/chat/sdk-features.md). --### Use recommended version of Resource Manager SDK --Resource Manager SDK can be used to create and manage Azure Communication Services resources. Update to the recommended version of Resource Manager SDK to ensure the latest fixes and features. --Learn more about [Communication service - UpgradeResourceManagerSdk (Use recommended version of Resource Manager SDK)](../communication-services/quickstarts/create-communication-resource.md?pivots=platform-net&tabs=windows). --### Use recommended version of Identity SDK --Azure Communication Services Identity SDK can be used to manage identities, users, and access tokens. Update to the recommended version of Identity SDK to ensure the latest fixes and features. --Learn more about [Communication service - UpgradeIdentitySdk (Use recommended version of Identity SDK)](../communication-services/concepts/sdk-options.md). --### Use recommended version of SMS SDK --Azure Communication Services SMS SDK can be used to send and receive SMS messages. Update to the recommended version of SMS SDK to ensure the latest fixes and features. --Learn more about [Communication service - UpgradeSmsSdk (Use recommended version of SMS SDK)](/azure/communication-services/concepts/telephony-sms/sdk-features). --### Use recommended version of Phone Numbers SDK --Azure Communication Services Phone Numbers SDK can be used to acquire and manage phone numbers. Update to the recommended version of Phone Numbers SDK to ensure the latest fixes and features. --Learn more about [Communication service - UpgradePhoneNumbersSdk (Use recommended version of Phone Numbers SDK)](../communication-services/concepts/sdk-options.md). --### Use recommended version of Calling SDK --Azure Communication Services Calling SDK can be used to enable voice, video, screen-sharing, and other real-time communication. Update to the recommended version of Calling SDK to ensure the latest fixes and features. --Learn more about [Communication service - UpgradeCallingSdk (Use recommended version of Calling SDK)](../communication-services/concepts/voice-video-calling/calling-sdk-features.md). --### Use recommended version of Call Automation SDK --Azure Communication Services Call Automation SDK can be used to make and manage calls, play audio, and configure recording. Update to the recommended version of Call Automation SDK to ensure the latest fixes and features. --Learn more about [Communication service - UpgradeServerCallingSdk (Use recommended version of Call Automation SDK)](../communication-services/concepts/voice-video-calling/call-automation-apis.md). --### Use recommended version of Network Traversal SDK --Azure Communication Services Network Traversal SDK can be used to access TURN servers for low-level data transport. Update to the recommended version of Network Traversal SDK to ensure the latest fixes and features. --Learn more about [Communication service - UpgradeTurnSdk (Use recommended version of Network Traversal SDK)](../communication-services/concepts/sdk-options.md). --### Use recommended version of Rooms SDK --Azure Communication Services Rooms SDK can be used to control who can join a call, when they can meet, and how they can collaborate. Update to the recommended version of Rooms SDK to ensure the latest fixes and features. A non-recommended version was detected in the last 48-60 hours. --Learn more about [Communication service - UpgradeRoomsSdk (Use recommended version of Rooms SDK)](/azure/communication-services/concepts/rooms/room-concept). -----## Networking --### Upgrade SDK version recommendation --The latest version of Azure Front Door Standard and Premium Client Library or SDK contains fixes to issues reported by customers and proactively identified through our QA process. The latest version also carries reliability and performance optimization in addition to new features that can improve your overall experience using Azure Front Door Standard and Premium. --Learn more about [Front Door Profile - UpgradeCDNToLatestSDKLanguage (Upgrade SDK version recommendation)](https://aka.ms/afd/tiercomparison). --### Upgrade SDK version recommendation --The latest version of Azure Traffic Collector SDK contains fixes to issues proactively identified through our QA process, supports the latest resource model & has reliability and performance optimization that can improve your overall experience of using ATC. --Learn more about [Azure Traffic Collector - UpgradeATCToLatestSDKLanguage (Upgrade SDK version recommendation)](/azure/expressroute/traffic-collector). --### Upgrade your ExpressRoute circuit bandwidth to accommodate your bandwidth needs --You have been using over 90% of your procured circuit bandwidth recently. If you exceed your allocated bandwidth, you experience an increase in dropped packets sent over ExpressRoute. Upgrade your circuit bandwidth to maintain performance if your bandwidth needs remain this high. --Learn more about [ExpressRoute circuit - UpgradeERCircuitBandwidth (Upgrade your ExpressRoute circuit bandwidth to accommodate your bandwidth needs)](../expressroute/about-upgrade-circuit-bandwidth.md). --### Experience more predictable, consistent latency with a private connection to Azure --Improve the performance, privacy, and reliability of your business-critical apps by extending your on-premises networks to Azure with Azure ExpressRoute. Establish private ExpressRoute connections directly from your WAN, through a cloud exchange facility, or through POP and IPVPN connections. --Learn more about [Subscription - AzureExpressRoute (Experience more predictable, consistent latency with a private connection to Azure)](/azure/expressroute/expressroute-howto-circuit-portal-resource-manager). --### Upgrade Workloads API to the latest version (Azure Center for SAP solutions API) --We have identified calls to an outdated Workloads API version for resources under this resource group. We recommend switching to the latest Workloads API version to ensure uninterrupted access to latest features and performance improvements in Azure Center for SAP solutions. If there are multiple Virtual Instances for SAP solutions (VIS) shown in the recommendation, ensure you update the API version for all VIS resources. --Learn more about [Subscription - UpdateToLatestWaasApiVersionAtSub (Upgrade Workloads API to the latest version (Azure Center for SAP solutions API))](https://go.microsoft.com/fwlink/?linkid=2228001). --### Upgrade Workloads SDK to the latest version (Azure Center for SAP solutions SDK) --We have identified calls to an outdated Workloads SDK version from resources in this Resource Group. Upgrade to the latest Workloads SDK version to get the latest features and the best results in terms of model quality, performance and service availability for Azure Center for SAP solutions. If there are multiple Virtual Instances for SAP solutions (VIS) shown in the recommendation, ensure you update the SDK version for all VIS resources. --Learn more about [Subscription - UpgradeToLatestWaasSdkVersionAtSub (Upgrade Workloads SDK to the latest version (Azure Center for SAP solutions SDK))](https://go.microsoft.com/fwlink/?linkid=2228000). --### Configure DNS Time to Live to 60 seconds --Time to Live (TTL) affects how recent the response a client gets when it makes a request to Azure Traffic Manager. Reducing the TTL value means that the client is routed to a functioning endpoint more quickly, in the case of a failover. Configure your TTL to 60 seconds to route traffic to a health endpoint as quickly as possible. --Learn more about [Traffic Manager profile - ProfileTTL (Configure DNS Time to Live to 60 seconds)](https://aka.ms/Um3xr5). --### Configure DNS Time to Live to 20 seconds --Time to Live (TTL) affects how recent the response a client gets when it makes a request to Azure Traffic Manager. Reducing the TTL value means that the client is routed to a functioning endpoint more quickly, in the case of a failover. Configure your TTL to 20 seconds to route traffic to a health endpoint as quickly as possible. --Learn more about [Traffic Manager profile - FastFailOverTTL (Configure DNS Time to Live to 20 seconds)](https://aka.ms/Ngfw4r). --### Configure DNS Time to Live to 60 seconds --Time to Live (TTL) affects how recent the response a client gets when it makes a request to Azure Traffic Manager. Reducing the TTL value means that the client is routed to a functioning endpoint more quickly, in the case of a failover. Configure your TTL to 60 seconds to route traffic to a health endpoint as quickly as possible. --Learn more about [Traffic Manager profile - ProfileTTL (Configure DNS Time to Live to 60 seconds)](https://aka.ms/Um3xr5). --### Consider increasing the size of your virtual network Gateway SKU to address consistently high CPU use --Under high traffic load, the VPN gateway might drop packets due to high CPU. --Learn more about [Virtual network gateway - HighCPUVNetGateway (Consider increasing the size of your virtual network (VNet) Gateway SKU to address consistently high CPU use)](https://aka.ms/HighCPUP2SVNetGateway). --### Consider increasing the size of your virtual network Gateway SKU to address high P2S use --Each gateway SKU can only support a specified count of concurrent P2S connections. Your connection count is close to your gateway limit, so more connection attempts might fail. --Learn more about [Virtual network gateway - HighP2SConnectionsVNetGateway (Consider increasing the size of your VNet Gateway SKU to address high P2S use)](https://aka.ms/HighP2SConnectionsVNetGateway). --### Make sure you have enough instances in your Application Gateway to support your traffic --Your Application Gateway has been running on high utilization recently and under heavy load you might experience traffic loss or increase in latency. It is important that you scale your Application Gateway accordingly and add a buffer so that you're prepared for any traffic surges or spikes and minimize the effect that it might have in your QoS. Application Gateway v1 SKU (Standard/WAF) supports manual scaling and v2 SKU (Standard_v2/WAF_v2) supports manual and autoscaling. With manual scaling, increase your instance count. If autoscaling is enabled, make sure your maximum instance count is set to a higher value so Application Gateway can scale out as the traffic increases. --Learn more about [Application gateway - HotAppGateway (Make sure you have enough instances in your Application Gateway to support your traffic)](https://aka.ms/hotappgw). -------## SAP for Azure --### To avoid soft-lockup in Mellanox driver, reduce the can_queue value in the App VM OS in SAP workloads --To avoid sporadic soft-lockup in Mellanox driver, reduce the can_queue value in the OS. The value cannot be set directly. Add the following kernel boot line options to achieve the same effect:'hv_storvsc.storvsc_ringbuffer_size=131072 hv_storvsc.storvsc_vcpus_per_sub_channel=1024' --Learn more about [App Server Instance - AppSoftLockup (To avoid soft-lockup in Mellanox driver, reduce the can_queue value in the App VM OS in SAP workloads)](https://www.suse.com/support/kb/doc/?id=000020248). --### To avoid soft-lockup in Mellanox driver, reduce the can_queue value in the ASCS VM OS in SAP workloads --To avoid sporadic soft-lockup in Mellanox driver, reduce the can_queue value in the OS. The value cannot be set directly. Add the following kernel boot line options to achieve the same effect:'hv_storvsc.storvsc_ringbuffer_size=131072 hv_storvsc.storvsc_vcpus_per_sub_channel=1024' --Learn more about [Central Server Instance - AscsoftLockup (To avoid soft-lockup in Mellanox driver, reduce the can_queue value in the ASCS VM OS in SAP workloads)](https://www.suse.com/support/kb/doc/?id=000020248). --### To avoid soft-lockup in Mellanox driver, reduce the can_queue value in the DB VM OS in SAP workloads --To avoid sporadic soft-lockup in Mellanox driver, reduce the can_queue value in the OS. The value cannot be set directly. Add the following kernel boot line options to achieve the same effect:'hv_storvsc.storvsc_ringbuffer_size=131072 hv_storvsc.storvsc_vcpus_per_sub_channel=1024' --Learn more about [Database Instance - DBSoftLockup (To avoid soft-lockup in Mellanox driver, reduce the can_queue value in the DB VM OS in SAP workloads)](https://www.suse.com/support/kb/doc/?id=000020248). --### For improved file system performance in HANA DB with ANF, optimize tcp_wmem OS parameter --The parameter net.ipv4.tcp_wmem specifies minimum, default, and maximum send buffer sizes that are used for a TCP socket. Set the parameter as per SAP note: 302436 to certify HANA DB to run with ANF and improve file system performance. The maximum value must not exceed net.core.wmem_max parameter. --Learn more about [Database Instance - WriteBuffersAllocated (For improved file system performance in HANA DB with ANF, optimize tcp_wmem OS parameter)](https://launchpad.support.sap.com/#/notes/3024346). --### For improved file system performance in HANA DB with ANF, optimize tcp_rmem OS parameter --The parameter net.ipv4.tcp_rmem specifies minimum, default, and maximum receive buffer sizes used for a TCP socket. Set the parameter as per SAP note 3024346 to certify HANA DB to run with ANF and improve file system performance. The maximum value must not exceed net.core.rmem_max parameter. --Learn more about [Database Instance - OptimiseReadTcp (For improved file system performance in HANA DB with ANF, optimize tcp_rmem OS parameter)](https://launchpad.support.sap.com/#/notes/3024346). --### For improved file system performance in HANA DB with ANF, optimize wmem_max OS parameter --In HANA DB with ANF storage type, the maximum write socket buffer, defined by the parameter net.core.wmem_max must be set large enough to handle outgoing network packets. The net.core.wmem_max configuration certifies HANA DB to run with ANF and improves file system performance. See SAP note: 3024346. --Learn more about [Database Instance - MaxWriteBuffer (For improved file system performance in HANA DB with ANF, optimize wmem_max OS parameter)](https://launchpad.support.sap.com/#/notes/3024346). --### For improved file system performance in HANA DB with ANF, optimize tcp_rmem OS parameter --The parameter net.ipv4.tcp_rmem specifies minimum, default, and maximum receive buffer sizes used for a TCP socket. Set the parameter as per SAP note 3024346 to certify HANA DB to run with ANF and improve file system performance. The maximum value must not exceed net.core.rmem_max parameter. --Learn more about [Database Instance - OptimizeReadTcp (For improved file system performance in HANA DB with ANF, optimize tcp_rmem OS parameter)](https://launchpad.support.sap.com/#/notes/3024346). --### For improved file system performance in HANA DB with ANF, optimize rmem_max OS parameter --In HANA DB with ANF storage type, the maximum read socket buffer, defined by the parameter, net.core.rmem_max must be set large enough to handle incoming network packets. The net.core.rmem_max configuration certifies HANA DB to run with ANF and improves file system performance. See SAP note: 3024346. --Learn more about [Database Instance - MaxReadBuffer (For improved file system performance in HANA DB with ANF, optimize rmem_max OS parameter)](https://launchpad.support.sap.com/#/notes/3024346). --### For improved file system performance in HANA DB with ANF, set receiver backlog queue size to 300000 --The parameter net.core.netdev_max_backlog specifies the size of the receiver backlog queue, used if a network interface receives packets faster than the kernel can process. Set the parameter as per SAP note: 3024346. The net.core.netdev_max_backlog configuration certifies HANA DB to run with ANF and improves file system performance. --Learn more about [Database Instance - BacklogQueueSize (For improved file system performance in HANA DB with ANF, set receiver backlog queue size to 300000)](https://launchpad.support.sap.com/#/notes/3024346). --### To improve file system performance in HANA DB with ANF, enable the TCP window scaling OS parameter --Enable the TCP window scaling parameter as per SAP note: 302436. The TCP window scaling configuration certifies HANA DB to run with ANF and improves file system performance in HANA DB with ANF in SAP workloads. --Learn more about [Database Instance - EnableTCPWindowScaling (To improve file system performance in HANA DB with ANF, enable the TCP window scaling OS parameter )](https://launchpad.support.sap.com/#/notes/3024346). --### For improved file system performance in HANA DB with ANF, disable IPv6 protocol in OS --Disable IPv6 as per recommendation for SAP on Azure for HANA DB with ANF to improve file system performance. --Learn more about [Database Instance - DisableIPv6Protocol (For improved file system performance in HANA DB with ANF, disable IPv6 protocol in OS)](/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-suse). --### To improve file system performance in HANA DB with ANF, disable parameter for slow start after idle --The parameter net.ipv4.tcp_slow_start_after_idle disables the need to scale-up incrementally the TCP window size for TCP connections that were idle for some time. By setting this parameter to zero as per SAP note: 302436, the maximum speed is used from beginning for previously idle TCP connections. --Learn more about [Database Instance - ParameterSlowStart (To improve file system performance in HANA DB with ANF, disable parameter for slow start after idle)](https://launchpad.support.sap.com/#/notes/3024346). --### For improved file system performance in HANA DB with ANF optimize tcp_max_syn_backlog OS parameter --To prevent the kernel from using SYN cookies in a situation where lots of connection requests are sent in a short timeframe and to prevent a warning about a potential SYN flooding attack in the system log, the size of the SYN backlog must be set to a reasonably high value. See SAP note 2382421. --Learn more about [Database Instance - TCPMaxSynBacklog (For improved file system performance in HANA DB with ANF optimize tcp_max_syn_backlog OS parameter)](/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-suse). --### For improved file system performance in HANA DB with ANF, enable the tcp_sack OS parameter --Enable the tcp_sack parameter as per SAP note: 302436. The tcp_sack configuration certifies HANA DB to run with ANF and improves file system performance in HANA DB with ANF in SAP workloads. --Learn more about [Database Instance - TCPSackParameter (For improved file system performance in HANA DB with ANF, enable the tcp_sack OS parameter)](https://launchpad.support.sap.com/#/notes/3024346). --### In high-availability scenario for HANA DB with ANF, disable the tcp_timestamps OS parameter --Disable the tcp_timestamps parameter as per SAP note: 302436. The tcp_timestamps configuration certifies HANA DB to run with ANF and improves file system performance in high-availability scenarios for HANA DB with ANF in SAP workloads --Learn more about [Database Instance - DisableTCPTimestamps (In high-availability scenario for HANA DB with ANF, disable the tcp_timestamps OS parameter)](https://launchpad.support.sap.com/#/notes/3024346). --### For improved file system performance in HANA DB with ANF, enable the tcp_timestamps OS parameter --Enable the tcp_timestamps parameter as per SAP note: 302436. The tcp_timestamps configuration certifies HANA DB to run with ANF and improves file system performance in HANA DB with ANF in SAP workloads. --Learn more about [Database Instance - EnableTCPTimestamps (For improved file system performance in HANA DB with ANF, enable the tcp_timestamps OS parameter)](https://launchpad.support.sap.com/#/notes/3024346). --### To improve file system performance in HANA DB with ANF, enable auto-tuning TCP receive buffer size --The parameter net.ipv4.tcp_moderate_rcvbuf enables TCP to perform buffer auto-tuning, to automatically size the buffer (no greater than tcp_rmem to match the size required by the path for full throughput. Enable this parameter as per SAP note: 302436 for improved file system performance. --Learn more about [Database Instance - EnableAutoTuning (To improve file system performance in HANA DB with ANF, enable auto-tuning TCP receive buffer size)](https://launchpad.support.sap.com/#/notes/3024346). --### For improved file system performance in HANA DB with ANF, optimize net.ipv4.ip_local_port_range --As HANA uses a considerable number of connections for the internal communication, it makes sense to have as many client ports available as possible for this purpose. Set the OS parameter, net.ipv4.ip_local_port_range parameter as per SAP note 2382421 to ensure optimal internal HANA communication. --Learn more about [Database Instance - IPV4LocalPortRange (For improved file system performance in HANA DB with ANF, optimize net.ipv4.ip_local_port_range)](https://launchpad.support.sap.com/#/notes/2382421). --### To improve file system performance in HANA DB with ANF, optimize sunrpc.tcp_slot_table_entries --Set the parameter sunrpc.tcp_slot_table_entries to 128 as per recommendation for improved file system performance in HANA DB with ANF in SAP workloads. --Learn more about [Database Instance - TCPSlotTableEntries (To improve file system performance in HANA DB with ANF, optimize sunrpc.tcp_slot_table_entries)](/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-suse). --### All disks in LVM for /hana/data volume must be of the same type to ensure high performance in HANA DB --If multiple disk types are selected in the /hana/data volume, performance of HANA DB in SAP workloads might get restricted. Ensure all HANA Data volume disks are of the same type and are configured as per recommendation for SAP on Azure. --Learn more about [Database Instance - HanaDataDiskTypeSame (All disks in LVM for /hana/data volume must be of the same type to ensure high performance in HANA DB)](/azure/virtual-machines/workloads/sap/hana-vm-operations-storage). --### Stripe size for /hana/data must be 256 kb for improved performance of HANA DB in SAP workloads --If you're using LVM or mdadm to build stripe sets across several Azure premium disks, you need to define stripe sizes. Based on experience with recentLinux versions, Azure recommends using stripe size of 256 kb for /hana/data filesystem for better performance of HANA DB. --Learn more about [Database Instance - HanaDataStripeSize (Stripe size for /hana/data must be 256 kb for improved performance of HANA DB in SAP workloads)](/azure/virtual-machines/workloads/sap/hana-vm-operations-storage). --### To improve file system performance in HANA DB with ANF, optimize the parameter vm.swappiness --Set the OS parameter vm.swappiness to 10 as per recommendation for improved file system performance in HANA DB with ANF in SAP workloads. --Learn more about [Database Instance - VmSwappiness (To improve file system performance in HANA DB with ANF, optimize the parameter vm.swappiness)](/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-suse). --### To improve file system performance in HANA DB with ANF, disable net.ipv4.conf.all.rp_filter --Disable the reverse path filter linux OS parameter, net.ipv4.conf.all.rp_filter as per recommendation for improved file system performance in HANA DB with ANF in SAP workloads. --Learn more about [Database Instance - DisableIPV4Conf (To improve file system performance in HANA DB with ANF, disable net.ipv4.conf.all.rp_filter)](/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-suse). --### If using Ultradisk, the IOPS for /hana/data volume must be >=7000 for better HANA DB performance --IOPS of at least 7000 in /hana/data volume is recommended for SAP workloads when using Ultradisk. Select the disk type for /hana/data volume as per this requirement to ensure high performance of the DB. --Learn more about [Database Instance - HanaDataIOPS (If using Ultradisk, the IOPS for /hana/data volume must be >=7000 for better HANA DB performance)](/azure/virtual-machines/workloads/sap/hana-vm-operations-storage#azure-ultra-disk-storage-configuration-for-sap-hana). --### To improve file system performance in HANA DB with ANF, change parameter tcp_max_slot_table_entries --Set the OS parameter tcp_max_slot_table_entries to 128 as per SAP note: 302436 for improved file transfer performance in HANA DB with ANF in SAP workloads. --Learn more about [Database Instance - OptimizeTCPMaxSlotTableEntries (To improve file system performance in HANA DB with ANF, change parameter tcp_max_slot_table_entries)](/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-suse#:~:text=Create%20configuration%20file%20/etc/sysctl.d/ms%2Daz.conf%20with%20Microsoft%20for%20Azure%20configuration%20settings). --### Ensure the read performance of /hana/data volume is >=400 MB/sec for better performance in HANA DB --Read activity of at least 400 MB/sec for /hana/data for 16 MB and 64 MB I/O sizes is recommended for SAP workloads on Azure. Select the disk type for /hana/data as per this requirement to ensure high performance of the DB and to meet minimum storage requirements for SAP HANA. --Learn more about [Database Instance - HanaDataVolumePerformance (Ensure the read performance of /hana/data volume is >=400 MB/sec for better performance in HANA DB)](/azure/virtual-machines/workloads/sap/hana-vm-operations-storage#:~:text=Read%20activity%20of%20at%20least%20400%20MB/sec%20for%20/hana/data). --### Read/write performance of /hana/log volume must be >=250 MB/sec for better performance in HANA DB --Read/Write activity of at least 250 MB/sec for /hana/log for 1 MB I/O size is recommended for SAP workloads on Azure. Select the disk type for /hana/log volume as per this requirement to ensure high performance of the DB and to meet minimum storage requirements for SAP HANA. --Learn more about [Database Instance - HanaLogReadWriteVolume (Read/write performance of /hana/log volume must be >=250 MB/sec for better performance in HANA DB)](/azure/virtual-machines/workloads/sap/hana-vm-operations-storage#:~:text=Read/write%20on%20/hana/log%20of%20250%20MB/sec%20with%201%20MB%20I/O%20sizes). --### If using Ultradisk, the IOPS for /hana/log volume must be >=2000 for better performance in HANA DB --IOPS of at least 2000 in /hana/log volume is recommended for SAP workloads when using Ultradisk. Select the disk type for /hana/log volume as per this requirement to ensure high performance of the DB. --Learn more about [Database Instance - HanaLogIOPS (If using Ultradisk, the IOPS for /hana/log volume must be >=2000 for better performance in HANA DB)](/azure/virtual-machines/workloads/sap/hana-vm-operations-storage#azure-ultra-disk-storage-configuration-for-sap-hana:~:text=1%20x%20P6-,Azure%20Ultra%20disk%20storage%20configuration%20for%20SAP%20HANA,-Another%20Azure%20storage). --### All disks in LVM for /hana/log volume must be of the same type to ensure high performance in HANA DB --If multiple disk types are selected in the /hana/log volume, performance of HANA DB in SAP workloads might get restricted. Ensure all HANA Data volume disks are of the same type and are configured as per recommendation for SAP on Azure. --Learn more about [Database Instance - HanaDiskLogVolumeSameType (All disks in LVM for /hana/log volume must be of the same type to ensure high performance in HANA DB)](/azure/virtual-machines/workloads/sap/hana-vm-operations-storage#:~:text=For%20the%20/hana/log%20volume.%20the%20configuration%20would%20look%20like). --### Enable Write Accelerator on /hana/log volume with Premium disk for improved write latency in HANA DB --Azure Write Accelerator is a functionality for Azure M-Series VMs. It improves I/O latency of writes against the Azure premium storage. For SAP HANA, Write Accelerator is to be used against the /hana/log volume only. --Learn more about [Database Instance - WriteAcceleratorEnabled (Enable Write Accelerator on /hana/log volume with Premium disk for improved write latency in HANA DB)](/azure/virtual-machines/workloads/sap/hana-vm-operations-storage#:~:text=different%20SAP%20applications.-,Solutions%20with%20premium%20storage%20and%20Azure%20Write%20Accelerator%20for%20Azure%20M%2DSeries%20virtual%20machines,-Azure%20Write%20Accelerator). --### Stripe size for /hana/log must be 64 kb for improved performance of HANA DB in SAP workloads --If you're using LVM or mdadm to build stripe sets across several Azure premium disks, you need to define stripe sizes. To get enough throughput with larger I/O sizes, Azure recommends using stripe size of 64 kb for /hana/log filesystem for better performance of HANA DB. --Learn more about [Database Instance - HanaLogStripeSize (Stripe size for /hana/log must be 64 kb for improved performance of HANA DB in SAP workloads)](/azure/virtual-machines/workloads/sap/hana-vm-operations-storage#:~:text=As%20stripe%20sizes%20the%20recommendation%20is%20to%20use). ------## Security --### Update Attestation API Version --We have identified API calls from outdated an Attestation API for resources under this subscription. We recommend switching to the latest Attestation API versions. You need to update your existing code to use the latest API version. Using the latest API version ensures you receive the latest features and performance improvements. --Learn more about [Attestation provider - UpgradeAttestationAPI (Update Attestation API Version)](/rest/api/attestation). --### Update Key Vault SDK Version --New Key Vault Client Libraries are split to keys, secrets, and certificates SDKs, which are integrated with recommended Azure Identity library to provide seamless authentication to Key Vault across all languages and environments. It also contains several performance fixes to issues reported by customers and proactively identified through our QA process. If Key Vault is integrated with Azure Storage, Disk or other Azure services that can use old Key Vault SDK and when all your current custom applications are using .NET SDK 4.0 or above, dismiss the recommendation. --Learn more about [Key vault - UpgradeKeyVaultSDK (Update Key Vault SDK Version)](/azure/key-vault/general/client-libraries). --### Update Key Vault SDK Version --New Key Vault Client Libraries are split to keys, secrets, and certificates SDKs, which are integrated with recommended Azure Identity library to provide seamless authentication to Key Vault across all languages and environments. It also contains several performance fixes to issues reported by customers and proactively identified through our QA process. --> [!IMPORTANT] -> Be aware that you can only remediate recommendation for custom applications you have access to. Recommendations can be shown due to integration with other Azure services like Storage, Disk encryption, which are in process to update to new version of our SDK. If you use .NET 4.0 in all your applications, dismiss the recommendation. --Learn more about [Managed HSM Service - UpgradeKeyVaultMHSMSDK (Update Key Vault SDK Version)](/azure/key-vault/general/client-libraries). -----## Storage --### Use "Put Blob" for blobs smaller than 256 MB --When writing a block blob that is 256 MB or less (64 MB for requests using REST versions before 2016-05-31), you can upload it in its entirety with a single write operation using "Put Blob". Based on your aggregated metrics, we believe your storage account's write operations can be optimized. --Learn more about [Storage Account - StorageCallPutBlob (Use \""Put Blob\"" for blobs smaller than 256 MB)](https://aka.ms/understandblockblobs). --### Increase provisioned size of premium file share to avoid throttling of requests --Your requests for premium file share are throttled as the I/O operations per second (IOPS) or throughput limits for the file share have reached. To protect your requests from being throttled, increase the size of the premium file share. --Learn more about [Storage Account - AzureStorageAdvisorAvoidThrottlingPremiumFiles (Increase provisioned size of premium file share to avoid throttling of requests)](). --### Create statistics on table columns --We have detected that you're missing table statistics that might be impacting query performance. The query optimizer uses statistics to estimate the cardinality or number of rows in the query result which enables the query optimizer to create a high quality query plan. --Learn more about [SQL data warehouse - CreateTableStatisticsSqlDW (Create statistics on table columns)](https://aka.ms/learnmorestatistics). --### Remove data skew to increase query performance --We have detected distribution data skew greater than 15%, which can cause costly performance bottlenecks. --Learn more about [SQL data warehouse - DataSkewSqlDW (Remove data skew to increase query performance)](https://aka.ms/learnmoredataskew). --### Update statistics on table columns --We have detected that you don't have up-to-date table statistics, which might be impacting query performance. The query optimizer uses up-to-date statistics to estimate the cardinality or number of rows in the query result that enables the query optimizer to create a high quality query plan. --Learn more about [SQL data warehouse - UpdateTableStatisticsSqlDW (Update statistics on table columns)](https://aka.ms/learnmorestatistics). --### Scale up to optimize cache utilization with SQL Data Warehouse --We have detected that you had high cache used percentage with low hit percentage, indicating a high cache eviction rate that can affect the performance of your workload. --Learn more about [SQL data warehouse - SqlDwIncreaseCacheCapacity (Scale up to optimize cache utilization with SQL Data Warehouse)](https://aka.ms/learnmoreadaptivecache). --### Scale up or update resource class to reduce tempdb contention with SQL Data Warehouse --We have detected that you had high tempdb utilization that can affect the performance of your workload. --Learn more about [SQL data warehouse - SqlDwReduceTempdbContention (Scale up or update resource class to reduce tempdb contention with SQL Data Warehouse)](https://aka.ms/learnmoretempdb). --### Convert tables to replicated tables with SQL Data Warehouse --We have detected that you might benefit from using replicated tables. Replicated tables avoid costly data movement operations and significantly increase the performance of your workload. --Learn more about [SQL data warehouse - SqlDwReplicateTable (Convert tables to replicated tables with SQL Data Warehouse)](https://aka.ms/learnmorereplicatedtables). --### Split staged files in the storage account to increase load performance --We have detected that you can increase load throughput by splitting your compressed files that are staged in your storage account. A good rule of thumb is to split compressed files into 60 or more to maximize the parallelism of your load. --Learn more about [SQL data warehouse - FileSplittingGuidance (Split staged files in the storage account to increase load performance)](https://aka.ms/learnmorefilesplit). --### Increase batch size when loading to maximize load throughput, data compression, and query performance --We have detected that you can increase load performance and throughput by increasing the batch size when loading into your database. Consider using the COPY statement. If you're unable to use the COPY statement, consider increasing the batch size when using loading utilities such as the SQLBulkCopy API or BCP - a good rule of thumb is a batch size between 100K to 1M rows. --Learn more about [SQL data warehouse - LoadBatchSizeGuidance (Increase batch size when loading to maximize load throughput, data compression, and query performance)](https://aka.ms/learnmoreincreasebatchsize). --### Co-locate the storage account within the same region to minimize latency when loading --We have detected that you're loading from a region that is different from your SQL pool. Consider loading from a storage account that is within the same region as your SQL pool to minimize latency when loading data. --Learn more about [SQL data warehouse - ColocateStorageAccount (Co-locate the storage account within the same region to minimize latency when loading)](https://aka.ms/learnmorestoragecolocation). --### Upgrade your Storage Client Library to the latest version for better reliability and performance --The latest version of Storage Client Library/ SDK contains fixes to issues reported by customers and proactively identified through our QA process. The latest version also carries reliability and performance optimization in addition to new features that can improve your overall experience using Azure Storage. --Learn more about [Storage Account - UpdateStorageSDK (Upgrade your Storage Client Library to the latest version for better reliability and performance)](https://aka.ms/learnmorestoragecolocation). --### Upgrade your Storage Client Library to the latest version for better reliability and performance --The latest version of Storage Client Library/ SDK contains fixes to issues reported by customers and proactively identified through our QA process. The latest version also carries reliability and performance optimization in addition to new features that can improve your overall experience using Azure Storage. --Learn more about [Storage Account - UpdateStorageDataMovementSDK (Upgrade your Storage Client Library to the latest version for better reliability and performance)](https://aka.ms/AA5wtca). --### Upgrade to Standard SSD Disks for consistent and improved performance --Because you're running IaaS virtual machine workloads on Standard HDD managed disks, be aware that a Standard SSD disk option is now available for all Azure VM types. Standard SSD disks are a cost-effective storage option optimized for enterprise workloads that need consistent performance. Upgrade your disk configuration today for improved latency, reliability, and availability. Upgrading requires a VM reboot, which takes three to five minutes. --Learn more about [Storage Account - StandardSSDForNonPremVM (Upgrade to Standard SSD Disks for consistent and improved performance)](/azure/virtual-machines/windows/disks-types#standard-ssd). --### Use premium performance block blob storage --One or more of your storage accounts has a high transaction rate per GB of block blob data stored. Use premium performance block blob storage instead of standard performance storage for your workloads that require fast storage response times and/or high transaction rates and potentially save on storage costs. --Learn more about [Storage Account - PremiumBlobStorageAccount (Use premium performance block blob storage)](https://aka.ms/usePremiumBlob). --### Convert Unmanaged Disks from Standard HDD to Premium SSD for performance --We have noticed your Unmanaged HDD Disk is approaching performance targets. Azure premium SSDs deliver high-performance and low-latency disk support for virtual machines with IO-intensive workloads. Give your disk performance a boost by upgrading your Standard HDD disk to Premium SSD disk. Upgrading requires a VM reboot, which takes three to five minutes. --Learn more about [Storage Account - UMDHDDtoPremiumForPerformance (Convert Unmanaged Disks from Standard HDD to Premium SSD for performance)](/azure/virtual-machines/windows/disks-types#premium-ssd). --### Distribute data in server group to distribute workload among nodes --It looks like the data is not distributed in this server group but stays on the coordinator. For full Hyperscale (Citus) benefits, distribute data on worker nodes in the server group. --Learn more about [Hyperscale (Citus) server group - OrcasPostgreSqlCitusDistributeData (Distribute data in server group to distribute workload among nodes)](https://go.microsoft.com/fwlink/?linkid=2135201). --### Rebalance data in Hyperscale (Citus) server group to distribute workload among worker nodes more evenly --It looks like the data is not well balanced between worker nodes in this Hyperscale (Citus) server group. In order to use each worker node of the Hyperscale (Citus) server group effectively rebalance data in the server group. --Learn more about [Hyperscale (Citus) server group - OrcasPostgreSqlCitusRebalanceData (Rebalance data in Hyperscale (Citus) server group to distribute workload among worker nodes more evenly)](https://go.microsoft.com/fwlink/?linkid=2148869). -----## Virtual desktop infrastructure --### Improve user experience and connectivity by deploying VMs closer to userΓÇÖs location --We have determined that your VMs are located in a region different or far from where your users are connecting with Azure Virtual Desktop, which might lead to prolonged connection response times and affect overall user experience. When you create VMs for your host pools, try to use a region closer to the user. Having close proximity ensures continuing satisfaction with the Azure Virtual Desktop service and a better overall quality of experience. --Learn more about [Host Pool - RegionProximityHostPools (Improve user experience and connectivity by deploying VMs closer to userΓÇÖs location.)](../virtual-desktop/connection-latency.md). --### Change the max session limit for your depth first load balanced host pool to improve VM performance --Depth first load balancing uses the max session limit to determine the maximum number of users that can have concurrent sessions on a single session host. If the max session limit is too high, all user sessions are directed to the same session host and this might cause performance and reliability issues. Therefore, when setting a host pool to have depth first load balancing, also set an appropriate max session limit according to the configuration of your deployment and capacity of your VMs. To fix this, open your host pool's properties and change the value next to the "Max session limit" setting. --Learn more about [Host Pool - ChangeMaxSessionLimitForDepthFirstHostPool (Change the max session limit for your depth first load balanced host pool to improve VM performance )](../virtual-desktop/configure-host-pool-load-balancing.md). -----## Web --### Move your App Service Plan to PremiumV2 for better performance --Your app served more than 1000 requests per day for the past 3 days. Your app might benefit from the higher performance infrastructure available with the Premium V2 App Service tier. The Premium V2 tier features Dv2-series VMs with faster processors, SSD storage, and doubled memory-to-core ratio when compared to the previous instances. Learn more about upgrading to Premium V2 from our documentation. --Learn more about [App service - AppServiceMoveToPremiumV2 (Move your App Service Plan to PremiumV2 for better performance)](https://aka.ms/ant-premiumv2). --### Check outbound connections from your App Service resource --Your app has opened too many TCP/IP socket connections. Exceeding ephemeral TCP/IP port connection limits can cause unexpected connectivity issues for your apps. --Learn more about [App service - AppServiceOutboundConnections (Check outbound connections from your App Service resource)](https://aka.ms/antbc-socket). -----## Next steps --Learn more about [Performance Efficiency - Microsoft Azure Well Architected Framework](/azure/architecture/framework/scalability/overview) |
advisor | Advisor Reference Reliability Recommendations | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-reference-reliability-recommendations.md | - Title: Reliability recommendations -description: Full list of available reliability recommendations in Advisor. --- Previously updated : 09/03/2024---# Reliability recommendations --Azure Advisor helps you ensure and improve the continuity of your business-critical applications. You can get reliability recommendations on the **Reliability** tab on the Advisor dashboard. --1. Sign in to the [**Azure portal**](https://portal.azure.com). --1. Search for and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page. --1. On the **Advisor** dashboard, select the **Reliability** tab. ---## AgFood Platform -<!--77f976ab-59e3-474d-ba04-32a7d41c9cb1_begin--> -#### Upgrade to the latest ADMA DotNet SDK version - -We identified calls to an ADMA DotNet SDK version that is scheduled for deprecation. To ensure uninterrupted access to ADMA, latest features, and performance improvements, switch to the latest SDK version. - -**Potential benefits**: Ensure uninterrupted access to ADMA - -For More information, see [What is Azure Data Manager for Agriculture?](https://aka.ms/FarmBeatsPaaSAzureAdvisorFAQ) --<!--77f976ab-59e3-474d-ba04-32a7d41c9cb1_end--> --<!--1233e513-ac1c-402d-be94-7133dc37cac6_begin--> -#### Upgrade to the latest ADMA Java SDK version - -We have identified calls to a ADMA Java Sdk version that is scheduled for deprecation. We recommend switching to the latest Sdk version to ensure uninterrupted access to ADMA, latest features, and performance improvements. - -**Potential benefits**: Ensure uninterrupted access to ADMA - -For More information, see [What is Azure Data Manager for Agriculture?](https://aka.ms/FarmBeatsPaaSAzureAdvisorFAQ) --<!--1233e513-ac1c-402d-be94-7133dc37cac6_end--> - --<!--c4ec2fa1-19f4-491f-9311-ca023ee32c38_begin--> -#### Upgrade to the latest ADMA Python SDK version - -We identified calls to an ADMA Python SDK version that is scheduled for deprecation. To ensure uninterrupted access to ADMA, latest features, and performance improvements, switch to the latest SDK version. - -**Potential benefits**: Ensure uninterrupted access to ADMA - -For More information, see [What is Azure Data Manager for Agriculture?](https://aka.ms/FarmBeatsPaaSAzureAdvisorFAQ) --<!--c4ec2fa1-19f4-491f-9311-ca023ee32c38_end--> - --<!--9e49a43a-dbe2-477d-9d34-a4f209617fdb_begin--> -#### Upgrade to the latest ADMA JavaScript SDK version - -We identified calls to an ADMA JavaScript SDK version that is scheduled for deprecation. To ensure uninterrupted access to ADMA, latest features, and performance improvements, switch to the latest SDK version. - -**Potential benefits**: Ensure uninterrupted access to ADMA - -For More information, see [What is Azure Data Manager for Agriculture?](https://aka.ms/FarmBeatsPaaSAzureAdvisorFAQ) --<!--9e49a43a-dbe2-477d-9d34-a4f209617fdb_end--> - -<!--microsoft_agfoodplatform_end> -## API Management -<!--3dd24a8c-af06-49c3-9a04-fb5721d7a9bb_begin--> -#### Migrate API Management service to stv2 platform - -Support for API Management instances hosted on the stv1 platform will be retired by 31 August 2024. Migrate to stv2 based platform before that to avoid service disruption. - -**Potential benefits**: Improve service stability and leverage new platform features - -For More information, see [API Management stv1 platform retirement - Global Azure cloud (August 2024)](/azure/api-management/breaking-changes/stv1-platform-retirement-august-2024) --<!--3dd24a8c-af06-49c3-9a04-fb5721d7a9bb_end--> --<!--8962964c-a6d6-4c3d-918a-2777f7fbdca7_begin--> -#### Hostname certificate rotation failed - -The API Management service failing to refresh the hostname certificate from the Key Vault can lead to the service using a stale certificate and runtime API traffic being blocked. Ensure that the certificate exists in the Key Vault, and the API Management service identity is granted secret read access. - -**Potential benefits**: Ensure service availability - -For More information, see [Configure a custom domain name for your Azure API Management instance](https://aka.ms/apimdocs/customdomain) --<!--8962964c-a6d6-4c3d-918a-2777f7fbdca7_end--> - --<!--6124b23c-0d97-4098-9009-79e8c56cbf8c_begin--> -#### The legacy portal was deprecated 3 years ago and retired in October 2023. However, we are seeing active usage of the portal which may cause service disruption soon when we disable it. - -We highly recommend that you migrate to the new developer portal as soon as possible to continue enjoying our services and take advantage of the new features and improvements. - -**Potential benefits**: Ensure business continuity - -For More information, see [Migrate to the new developer portal](/previous-versions/azure/api-management/developer-portal-deprecated-migration) --<!--6124b23c-0d97-4098-9009-79e8c56cbf8c_end--> - --<!--53fd1359-ace2-4712-911c-1fc420dd23e8_begin--> -#### Dependency network status check failed - -Azure API Management service dependency not available. Please, check virtual network configuration. - -**Potential benefits**: Improve service stability - -For More information, see [Deploy your Azure API Management instance to a virtual network - external mode](https://aka.ms/apim-vnet-common-issues) --<!--53fd1359-ace2-4712-911c-1fc420dd23e8_end--> - --<!--b7316772-5c8f-421f-bed0-d86b0f128e25_begin--> -#### SSL/TLS renegotiation blocked - -SSL/TLS renegotiation attempt blocked; secure communication might fail. To support client certificate authentication scenarios, enable 'Negotiate client certificate' on listed hostnames. For browser-based clients, this option might result in a certificate prompt being presented to the client. - -**Potential benefits**: Ensure service availability - -For More information, see [How to secure APIs using client certificate authentication in API Management](/azure/api-management/api-management-howto-mutual-certificates-for-clients) --<!--b7316772-5c8f-421f-bed0-d86b0f128e25_end--> - --<!--2e4d65a3-1e77-4759-bcaa-13009484a97e_begin--> -#### Deploy an Azure API Management instance to multiple Azure regions for increased service availability - -Azure API Management supports multi-region deployment, which enables API publishers to add regional API gateways to an existing API Management instance. Multi-region deployment helps reduce request latency perceived by geographically distributed API consumers and improves service availability. - -**Potential benefits**: Increased resilience against regional failures - -For More information, see [Deploy an Azure API Management instance to multiple Azure regions](/azure/api-management/api-management-howto-deploy-multi-region) --<!--2e4d65a3-1e77-4759-bcaa-13009484a97e_end--> - --<!--f4c48f42-74f2-41bf-bf99-14e2f9ea9ac9_begin--> -#### Enable and configure autoscale for API Management instance on production workloads. - -API Management instance in production service tiers can be scaled by adding and removing units. The autoscaling feature can dynamically adjust the units of an API Management instance to accommodate a change in load without manual intervention. - -**Potential benefits**: Increase scalability and optimize cost. - -For More information, see [Automatically scale an Azure API Management instance](https://aka.ms/apimautoscale) --<!--f4c48f42-74f2-41bf-bf99-14e2f9ea9ac9_end--> - -<!--microsoft_apimanagement_end> -## App Service -<!--1294987d-c97d-41d0-8fd8-cb6eab52d87b_begin--> -#### Scale out your App Service plan to avoid CPU exhaustion - -High CPU utilization can lead to runtime issues with applications. Your application exceeded 90% CPU over the last couple of days. To reduce CPU usage and avoid runtime issues, scale out the application. - -**Potential benefits**: Keep your app healthy - -For More information, see [Best practices for Azure App Service](https://aka.ms/antbc-cpu) --<!--1294987d-c97d-41d0-8fd8-cb6eab52d87b_end--> --<!--a85f5f1c-c01f-4926-84ec-700b7624af8c_begin--> -#### Check your app's service health issues - -We have a recommendation related to your app's service health. Open the Azure Portal, go to the app, click the Diagnose and Solve to see more details. - -**Potential benefits**: Keep your app healthy - -For More information, see [Best practices for Azure App Service](/azure/app-service/app-service-best-practices) --<!--a85f5f1c-c01f-4926-84ec-700b7624af8c_end--> - --<!--b30897cc-2c2e-4677-a2a1-107ae982ff49_begin--> -#### Fix the backup database settings of your App Service resource - -When an application has an invalid database configuration, its backups fail. For details, see your application's backup history on your app management page. - -**Potential benefits**: Ensure business continuity - -For More information, see [Best practices for Azure App Service](https://aka.ms/antbc) --<!--b30897cc-2c2e-4677-a2a1-107ae982ff49_end--> - --<!--80efd6cb-dcee-491b-83a4-7956e9e058d5_begin--> -#### Fix the backup storage settings of your App Service resource - -When an application has invalid storage settings, its backups fail. For details, see your application's backup history on your app management page. - -**Potential benefits**: Ensure business continuity - -For More information, see [Best practices for Azure App Service](https://aka.ms/antbc) --<!--80efd6cb-dcee-491b-83a4-7956e9e058d5_end--> - --<!--66d3137a-c4da-4c8a-b6b8-e03f5dfba66e_begin--> -#### Scale up your App Service plan SKU to avoid memory problems - -The App Service Plan containing your application exceeded 85% memory allocation. High memory consumption can lead to runtime issues your applications. Find the problem application and scale it up to a higher plan with more memory resources. - -**Potential benefits**: Keep your app healthy - -For More information, see [Best practices for Azure App Service](https://aka.ms/antbc-memory) --<!--66d3137a-c4da-4c8a-b6b8-e03f5dfba66e_end--> - --<!--45cfc38d-3ffd-4088-bb15-e4d0e1e160fe_begin--> -#### Scale out your App Service plan - -Consider scaling out your App Service Plan to at least two instances to avoid cold start delays and service interruptions during routine maintenance. - -**Potential benefits**: Optimize user experience and availability - -For More information, see [https://aka.ms/appsvcnuminstances](https://aka.ms/appsvcnuminstances) --<!--45cfc38d-3ffd-4088-bb15-e4d0e1e160fe_end--> - --<!--3e35f804-52cb-4ebf-84d5-d15b3ab85dfc_begin--> -#### Fix application code, a worker process crashed due to an unhandled exception - -A worker process in your application crashed due to an unhandled exception. To identify the root cause, collect memory dumps and call stack information at the time of the crash. - -**Potential benefits**: Keep your app healthy and highly available - -For More information, see [https://aka.ms/appsvcproactivecrashmonitoring](https://aka.ms/appsvcproactivecrashmonitoring) --<!--3e35f804-52cb-4ebf-84d5-d15b3ab85dfc_end--> - --<!--78c5ab69-858a-43ca-a5ac-4ca6f9cdc30d_begin--> -#### Upgrade your App Service to a Standard plan to avoid request rejects - -When an application is part of a shared App Service plan and meets its quota multiple times, incoming requests might be rejected. Your web application canΓÇÖt accept incoming requests after meeting a quota. To remove the quota, upgrade to a Standard plan. - -**Potential benefits**: Keep your app healthy - -For More information, see [Azure App Service plan overview](https://aka.ms/ant-asp) --<!--78c5ab69-858a-43ca-a5ac-4ca6f9cdc30d_end--> - --<!--59a83512-d885-4f09-8e4f-c796c71c686e_begin--> -#### Move your App Service resource to Standard or higher and use deployment slots - -When an application is deployed multiple times in a week, problems might occur. You deployed your application multiple times last week. To help you reduce deployment impact to your production web application, move your App Service resource to the Standard (or higher) plan, and use deployment slots. - -**Potential benefits**: Keep your app healthy while updating - -For More information, see [Set up staging environments in Azure App Service](https://aka.ms/ant-staging) --<!--59a83512-d885-4f09-8e4f-c796c71c686e_end--> - --<!--dc3edeee-f0ab-44ae-b612-605a0a739612_begin--> -#### Consider upgrading the hosting plan of the Static Web App(s) in this subscription to Standard SKU. - -The combined bandwidth used by all the Free SKU Static Web Apps in this subscription is exceeding the monthly limit of 100GB. Consider upgrading these applications to Standard SKU to avoid throttling. - -**Potential benefits**: Higher availability for the apps by avoiding throttling. - -For More information, see [Pricing ΓÇô Static Web Apps ](https://azure.microsoft.com/pricing/details/app-service/static/) --<!--dc3edeee-f0ab-44ae-b612-605a0a739612_end--> - --<!--0dc165fd-69bf-468a-aa04-a69377b6feb0_begin--> -#### Use deployment slots for your App Service resource - -When an application is deployed multiple times in a week, problems might occur. You deployed your application multiple times over the last week. To help you manage changes and help reduce deployment impact to your production web application, use deployment slots. - -**Potential benefits**: Keep your app healthy while updating - -For More information, see [Set up staging environments in Azure App Service](https://aka.ms/ant-staging) --<!--0dc165fd-69bf-468a-aa04-a69377b6feb0_end--> - --<!--6d732ac5-82e0-4a66-887e-eccee79a2063_begin--> -#### CX Observer Personalized Recommendation - -CX Observer Personalized Recommendation - -**Potential benefits**: NA - - --<!--6d732ac5-82e0-4a66-887e-eccee79a2063_end--> - --<!--8be322ab-e38b-4391-a5f3-421f2270d825_begin--> -#### Consider changing your application architecture to 64-bit - -Your App Service is configured as 32-bit, and its memory consumption is approaching the limit of 2 GB. If your application supports, consider recompiling your application and changing the App Service configuration to 64-bit instead. - -**Potential benefits**: Improve your application reliability - -For More information, see [Application performance FAQs for Web Apps in Azure](https://aka.ms/appsvc32bit) --<!--8be322ab-e38b-4391-a5f3-421f2270d825_end--> - -<!--microsoft_web_end> -## App Service Certificates -<!--a2385343-200c-4eba-bbe2-9252d3f1d6ea_begin--> -#### Domain verification required to issue your App Service Certificate - -You have an App Service Certificate that's currently in a Pending Issuance status and requires domain verification. Failure to validate domain ownership will result in an unsuccessful certificate issuance. Domain verification isn't automated for App Service Certificates and will require action. If you've recently verified domain ownership and have been issued a certificate, you may disregard this message. - -**Potential benefits**: Ensure successful issuance of App Service Certificate. - -For More information, see [Add and manage TLS/SSL certificates in Azure App Service](https://aka.ms/ASCDomainVerificationRequired) --<!--a2385343-200c-4eba-bbe2-9252d3f1d6ea_end--> -<!--microsoft_certificateregistration_end> -## Application Gateway -<!--6a2b1e70-bd4c-4163-86de-5243d7ac05ee_begin--> -#### Upgrade your SKU or add more instances - -Deploying two or more medium or large sized instances ensures business continuity (fault tolerance) during outages caused by planned or unplanned maintenance. - -**Potential benefits**: Ensure business continuity through application gateway resilience - -For More information, see [Multi-region load balancing - Azure Reference Architectures ](https://aka.ms/aa_gatewayrec_learnmore) --<!--6a2b1e70-bd4c-4163-86de-5243d7ac05ee_end--> --<!--52a9d0a7-efe1-4512-9716-394abd4e0ab1_begin--> -#### Avoid hostname override to ensure site integrity - -Avoid overriding the hostname when configuring Application Gateway. Having a domain on the frontend of Application Gateway different than the one used to access the backend, can lead to broken cookies or redirect URLs. Make sure the backend is able to deal with the domain difference, or update the Application Gateway configuration so the hostname doesn't need to be overwritten towards the backend. When used with App Service, attach a custom domain name to the Web App and avoid use of the *.azurewebsites.net host name towards the backend. Note that a different frontend domain isn't a problem in all situations, and certain categories of backends like REST APIs, are less sensitive in general. - -**Potential benefits**: Ensure site integrity and avoid broken cookies or redirect urls through a resilient Application Gateway configuration. - -For More information, see [Troubleshoot App Service issues in Application Gateway](https://aka.ms/appgw-advisor-usecustomdomain) --<!--52a9d0a7-efe1-4512-9716-394abd4e0ab1_end--> - --<!--17454550-1543-4068-bdaf-f3ed7cdd3d86_begin--> -#### Implement ExpressRoute Monitor on Network Performance Monitor - -When ExpressRoute circuit isn't monitored by ExpressRoute Monitor on Network Performance, you miss notifications of loss, latency, and performance of on-premises to Azure resources, and Azure to on-premises resources. For end-to-end monitoring, implement ExpressRoute Monitor on Network Performance. - -**Potential benefits**: Improve time-to-detect and time-to-mitigate issues in your network and provide insights on your network path via ExpressRoute - -For More information, see [Configure Network Performance Monitor for ExpressRoute (deprecated)](/azure/expressroute/how-to-npm) --<!--17454550-1543-4068-bdaf-f3ed7cdd3d86_end--> - --<!--70f87e66-9b2d-4bfa-ae38-1d7d74837689_begin--> -#### Implement multiple ExpressRoute circuits in your Virtual Network for cross premises resiliency - -When an ExpressRoute gateway only has one ExpressRoute circuit associated to it, resiliency issues might occur. To ensure peering location redundancy and resiliency, connect one or more additional circuits to your gateway. - -**Potential benefits**: Improve resiliency in case of ExpressRoute peering location failure - -For More information, see [Designing for high availability with ExpressRoute](/azure/expressroute/designing-for-high-availability-with-expressroute) --<!--70f87e66-9b2d-4bfa-ae38-1d7d74837689_end--> - --<!--6cd70072-c45c-4716-bf7b-b35c18e46e72_begin--> -#### Add at least one more endpoint to the profile, preferably in another Azure region - -Profiles need more than one endpoint to ensure availability if one of the endpoints fails. We also recommend that endpoints be in different regions. - -**Potential benefits**: Improve resiliency by allowing failover - -For More information, see [Traffic Manager endpoints](https://aka.ms/AA1o0x4) --<!--6cd70072-c45c-4716-bf7b-b35c18e46e72_end--> - --<!--0bbe0a49-3c63-49d3-ab4a-aa24198f03f7_begin--> -#### Add an endpoint configured to "All (World)" - -For geographic routing, traffic is routed to endpoints in defined regions. When a region fails, there is no pre-defined failover. Having an endpoint where the Regional Grouping is configured to "All (World)" for geographic profiles avoids traffic black holing and guarantees service availablity. - -**Potential benefits**: Improve resiliency by avoiding traffic black holes - -For More information, see [Add, disable, enable, delete, or move endpoints](https://aka.ms/Rf7vc5) --<!--0bbe0a49-3c63-49d3-ab4a-aa24198f03f7_end--> - --<!--0db76759-6d22-4262-93f0-2f989ba2b58e_begin--> -#### Add or move one endpoint to another Azure region - -All endpoints associated to this proximity profile are in the same region. Users from other regions may experience long latency when attempting to connect. Adding or moving an endpoint to another region will improve overall performance for proximity routing and provide better availability if all endpoints in one region fail. - -**Potential benefits**: Improve resiliency by allowing failover to another region - -For More information, see [Configure the performance traffic routing method](https://aka.ms/Ldkkdb) --<!--0db76759-6d22-4262-93f0-2f989ba2b58e_end--> - --<!--e070c4bf-afaf-413e-bc00-e476b89c5f3d_begin--> -#### Move to production gateway SKUs from Basic gateways - -The Basic VPN SKU is for development or testing scenarios. If you're using the VPN gateway for production, move to a production SKU, which offers higher numbers of tunnels, Border Gateway Protocol (BGP), active-active configuration, custom IPsec/IKE policy, and increased stability and availability. - -**Potential benefits**: Additional available features and higher stability and availability - -For More information, see [About VPN Gateway configuration settings](https://aka.ms/aa_basicvpngateway_learnmore) --<!--e070c4bf-afaf-413e-bc00-e476b89c5f3d_end--> - --<!--c249dc0e-9a17-423e-838a-d72719e8c5dd_begin--> -#### Enable Active-Active gateways for redundancy - -In active-active configuration, both instances of the VPN gateway establish site-to-site (S2S) VPN tunnels to your on-premise VPN device. When a planned maintenance or unplanned event happens to one gateway instance, traffic is automatically switched over to the other active IPsec tunnel. - -**Potential benefits**: Ensure business continuity through connection resilience - -For More information, see [Design highly available gateway connectivity for cross-premises and VNet-to-VNet connections](https://aka.ms/aa_vpnha_learnmore) --<!--c249dc0e-9a17-423e-838a-d72719e8c5dd_end--> - --<!--1c7fc5ab-f776-4aee-8236-ab478519f68f_begin--> -#### Disable health probes when there is only one origin in an origin group - -If you only have a single origin, Front Door always routes traffic to that origin even if its health probe reports an unhealthy status. The status of the health probe doesn't do anything to change Front Door's behavior. In this scenario, health probes don't provide a benefit. - -**Potential benefits**: Ensure service availability by reducing unnecessary health probe traffic - -For More information, see [Best practices for Front Door](https://aka.ms/afd-disable-health-probes) --<!--1c7fc5ab-f776-4aee-8236-ab478519f68f_end--> - --<!--5185d64e-46fd-4ed2-8633-6d81f5e3ca59_begin--> -#### Use managed TLS certificates - -When Front Door manages your TLS certificates, it reduces your operational costs, and helps you to avoid costly outages caused by forgetting to renew a certificate. Front Door automatically issues and rotates the managed TLS certificates. - -**Potential benefits**: Ensure service availability by having Front Door manage and rotate your certificates - -For More information, see [Best practices for Front Door](https://aka.ms/afd-use-managed-tls) --<!--5185d64e-46fd-4ed2-8633-6d81f5e3ca59_end--> - --<!--56f0c458-521d-4b8b-a704-c0a099483d19_begin--> -#### Use NAT gateway for outbound connectivity - -Prevent connectivity failures due to source network address translation (SNAT) port exhaustion by using NAT gateway for outbound traffic from your virtual networks. NAT gateway scales dynamically and provides secure connections for traffic headed to the internet. - -**Potential benefits**: Prevent outbound connection failures with NAT gateway - -For More information, see [Use Source Network Address Translation (SNAT) for outbound connections](/azure/load-balancer/load-balancer-outbound-connections#2-associate-a-nat-gateway-to-the-subnet) --<!--56f0c458-521d-4b8b-a704-c0a099483d19_end--> - --<!--5c488377-be3e-4365-92e8-09d1e8d9038c_begin--> -#### Deploy your Application Gateway across Availability Zones - -Achieve zone redundancy by deploying Application Gateway across Availability Zones. Zone redundancy boosts resilience by enabling Application Gateway to survive various outages, which ensures continuity even if one zone is affected, and enhances overall reliability. - -**Potential benefits**: Resiliency of Application Gateways is considerably increased when using Availability Zones. - -For More information, see [Scaling Application Gateway v2 and WAF v2](https://aka.ms/appgw/az) --<!--5c488377-be3e-4365-92e8-09d1e8d9038c_end--> - --<!--6cc8be07-8c03-4bd7-ad9b-c2985b261e01_begin--> -#### Update VNet permission of Application Gateway users - -To improve security and provide a more consistent experience across Azure, all users must pass a permission check to create or update an Application Gateway in a Virtual Network. The users or service principals minimum permission required is Microsoft.Network/virtualNetworks/subnets/join/action. - -**Potential benefits**: Avoid disruptions in management of Application Gateway resource - -For More information, see [Application Gateway infrastructure configuration](https://aka.ms/agsubnetjoin) --<!--6cc8be07-8c03-4bd7-ad9b-c2985b261e01_end--> - --<!--79f543f9-60e6-4ef6-ae42-2095f6149cba_begin--> -#### Use the same domain name on Front Door and your origin - -When you rewrite the Host header, request cookies and URL redirections might break. When you use platforms like Azure App Service, features like session affinity and authentication and authorization might not work correctly. Make sure to validate whether your application is going to work correctly. - -**Potential benefits**: Ensure application integrity by preserving original host name - -For More information, see [Best practices for Front Door](https://aka.ms/afd-same-domain-origin) --<!--79f543f9-60e6-4ef6-ae42-2095f6149cba_end--> - --<!--8d61a7d4-5405-4f43-81e3-8c6239b844a6_begin--> -#### Implement Site Resiliency for ExpressRoute - -To ensure maximum resiliency, Microsoft recommends that you connect to two ExpressRoute circuits in two peering locations. The goal of Maximum Resiliency is to enhance availability and ensure the highest level of resilience for critical workloads. - -**Potential benefits**: Maximum Resiliency in ExpressRoute is designed to ensure there isnΓÇÖt a single point of failure within the Microsoft network path. This is achieved by offering dual (2) circuits across two different locations for site diversity in ExpressRoute. The goal of Maximum Resiliency is to enhance availability and ensure the highest level of resilience for critical workloads. - -For More information, see [Design and architect Azure ExpressRoute for resiliency](https://aka.ms/ersiteresiliency) --<!--8d61a7d4-5405-4f43-81e3-8c6239b844a6_end--> - --<!--c9af1ef6-55bc-48af-bfe4-2c80490159f8_begin--> -#### Implement Zone Redundant ExpressRoute Gateways - -Implement zone-redundant Virtual Network Gateway in Azure Availability Zones. This brings resiliency, scalability, and higher availability to your Virtual Network Gateways. - -**Potential benefits**: Provides zonal resiliency and redundancy for ExpressRoute - -For More information, see [Create a zone-redundant virtual network gateway in availability zones](/azure/vpn-gateway/create-zone-redundant-vnet-gateway) --<!--c9af1ef6-55bc-48af-bfe4-2c80490159f8_end--> - --<!--c9c9750b-9ddb-436f-b19a-9c725539a0b5_begin--> -#### Ensure autoscaling is used for increased performance and resiliency - -When configuring the Application Gateway, it's recommended to provision autoscaling to scale in and out in response to changes in demand. This helps to minimize the effects of a single failing component. - -**Potential benefits**: Increase performance and resiliency. - -For More information, see [Scaling Application Gateway v2 and WAF v2](/azure/application-gateway/application-gateway-autoscaling-zone-redundant) --<!--c9c9750b-9ddb-436f-b19a-9c725539a0b5_end--> - -<!--microsoft_network_end> -## Application Gateway for Containers -<!--db83b3d4-96e5-4cfe-b736-b3280cadd163_begin--> -#### Migrate to supported version of AGC - -The version of Application Gateway for Containers was provisioned with a preview version and isn't supported for production. Ensure you provision a new gateway using the latest API version. - -**Potential benefits**: Ensure supportability and resiliency for production workloads - -For More information, see [What is Application Gateway for Containers?](https://aka.ms/appgwcontainers/docs) --<!--db83b3d4-96e5-4cfe-b736-b3280cadd163_end--> -<!--microsoft_servicenetworking_end> -## Azure AI Search -<!--97b38421-f88c-4db0-b397-b2d81eff6630_begin--> -#### Create a Standard search service (2GB) - -When you exceed your storage quota, indexing operations stop working. You're close to exceeding your storage quota of 2GB. If you need more storage, create a Standard search service or add extra partitions. - -**Potential benefits**: capability to handle more data - -For More information, see [https://aka.ms/azs/search-limits-quotas-capacity](https://aka.ms/azs/search-limits-quotas-capacity) --<!--97b38421-f88c-4db0-b397-b2d81eff6630_end--> --<!--8d31f25f-31a9-4267-b817-20ee44f88069_begin--> -#### Create a Standard search service (50MB) - -When you exceed your storage quota, indexing operations stop working. You're close to exceeding your storage quota of 50MB. To maintain operations, create a Basic or Standard search service. - -**Potential benefits**: capability to handle more data - -For More information, see [https://aka.ms/azs/search-limits-quotas-capacity](https://aka.ms/azs/search-limits-quotas-capacity) --<!--8d31f25f-31a9-4267-b817-20ee44f88069_end--> - --<!--b3efb46f-6d30-4201-98de-6492c1f8f10d_begin--> -#### Avoid exceeding your available storage quota by adding more partitions - -When you exceed your storage quota, you can still query, but indexing operations stop working. You're close to exceeding your available storage quota. If you need more storage, add extra partitions. - -**Potential benefits**: Able to index additional data - -For More information, see [https://aka.ms/azs/search-limits-quotas-capacity](https://aka.ms/azs/search-limits-quotas-capacity) --<!--b3efb46f-6d30-4201-98de-6492c1f8f10d_end--> - -<!--microsoft_search_end> -## Azure Arc-enabled Kubernetes -<!--6d55ea5b-6e80-4313-9b80-83d384667eaa_begin--> -#### Upgrade to the latest agent version of Azure Arc-enabled Kubernetes - -For the best Azure Arc enabled Kubernetes experience, improved stability and new functionality, upgrade to the latest agent version. - -**Potential benefits**: Arc-enabled K8s latest agent version - -For More information, see [Upgrade Azure Arc-enabled Kubernetes agents](https://aka.ms/ArcK8sAgentUpgradeDocs) --<!--6d55ea5b-6e80-4313-9b80-83d384667eaa_end--> -<!--microsoft_kubernetes_end> -## Azure Arc-enabled Kubernetes Configuration -<!--4bc7a00b-edbb-4963-8800-1b0f8897fecf_begin--> -#### Upgrade Microsoft Flux extension to the newest major version - -The Microsoft Flux extension has a major version release. Plan for a manual upgrade to the latest major version for Microsoft Flux for all Azure Arc-enabled Kubernetes and Azure Kubernetes Service (AKS) clusters within 6 months for continued support and new functionality. - -**Potential benefits**: Continued support and new functionality - -For More information, see [Available extensions for Azure Arc-enabled Kubernetes clusters](https://aka.ms/fluxreleasenotes) --<!--4bc7a00b-edbb-4963-8800-1b0f8897fecf_end--> --<!--79cfad72-9b6d-4215-922d-7df77e1ea3bb_begin--> -#### Upcoming Breaking Changes for Microsoft Flux Extension - -The Microsoft Flux extension frequently receives updates for security and stability. The upcoming update, in line with the OSS Flux Project, will modify the HelmRelease and HelmChart APIs by removing deprecated fields. To avoid disruption to your workloads, necessary action is needed. - -**Potential benefits**: Improved stability, security, and new functionality - -For More information, see [Available extensions for Azure Arc-enabled Kubernetes clusters](https://aka.ms/fluxreleasenotes) --<!--79cfad72-9b6d-4215-922d-7df77e1ea3bb_end--> - --<!--c8e3b516-a0d5-4c64-8a7a-71cfd068d5e8_begin--> -#### Upgrade Microsoft Flux extension to a supported version - -Current version of Microsoft Flux on one or more Azure Arc enabled clusters and Azure Kubernetes clusters is out of support. To get security patches, bug fixes and Microsoft support, upgrade to a supported version. - -**Potential benefits**: Get security patches, bug fixes and Microsoft support - -For More information, see [Available extensions for Azure Arc-enabled Kubernetes clusters](https://aka.ms/fluxreleasenotes) --<!--c8e3b516-a0d5-4c64-8a7a-71cfd068d5e8_end--> - -<!--microsoft_kubernetesconfiguration_end> -## Azure Arc-enabled servers -<!--9d5717d2-4708-4e3f-bdda-93b3e6f1715b_begin--> -#### Upgrade to the latest version of the Azure Connected Machine agent - -The Azure Connected Machine agent is updated regularly with bug fixes, stability enhancements, and new functionality. For the best Azure Arc experience, upgrade your agent to the latest version. - -**Potential benefits**: Improved stability and new functionality - -For More information, see [Managing and maintaining the Connected Machine agent](/azure/azure-arc/servers/manage-agent) --<!--9d5717d2-4708-4e3f-bdda-93b3e6f1715b_end--> -<!--microsoft_hybridcompute_end> -## Azure Cache for Redis -<!--7c380315-6ad9-4fb2-8930-a8aeb1d6241b_begin--> -#### Increase fragmentation memory reservation - -Fragmentation and memory pressure can cause availability incidents. To help in reduce cache failures when running under high memory pressure, increase reservation of memory for fragmentation through the maxfragmentationmemory-reserved setting available in the Advanced Settings options. - -**Potential benefits**: Avoid availability incidents when your cache has high memory fragmentation - -For More information, see [How to configure Azure Cache for Redis](https://aka.ms/redis/recommendations/memory-policies) --<!--7c380315-6ad9-4fb2-8930-a8aeb1d6241b_end--> --<!--c9e4a27c-79e6-4e4c-904f-b6612b6cd892_begin--> -#### Configure geo-replication for Cache for Redis instances to increase durability of applications - -Geo-Replication enables disaster recovery for cached data, even in the unlikely event of a widespread regional failure. This can be essential for mission-critical applications. We recommend that you configure passive geo-replication for Premium Azure Cache for Redis instances. - -**Potential benefits**: Geo-Replication enables disaster recovery for cached data. - -For More information, see [Configure passive geo-replication for Premium Azure Cache for Redis instances](https://aka.ms/redispremiumgeoreplication) --<!--c9e4a27c-79e6-4e4c-904f-b6612b6cd892_end--> - -<!--microsoft_cache_end> -## Azure Container Apps -<!--c692e862-953b-49fe-9c51-e5d2792c1cc1_begin--> -#### Re-create your your Container Apps environment to avoid DNS issues - -There's a potential networking issue with your Container Apps environments that might cause DNS issues. We recommend that you create a new Container Apps environment, re-create your Container Apps in the new environment, and delete the old Container Apps environment. - -**Potential benefits**: Avoid DNS failures in your Container Apps Environment. - -For More information, see [Quickstart: Deploy your first container app using the Azure portal](https://aka.ms/createcontainerapp) --<!--c692e862-953b-49fe-9c51-e5d2792c1cc1_end--> --<!--b9ce2d2e-554b-4391-8ebc-91c570602b04_begin--> -#### Renew custom domain certificate - -The custom domain certificate you uploaded is near expiration. To prevent possible service downtime, renew your certificate and upload the new certificate for your container apps. - -**Potential benefits**: Your service wont fail because of expired certificate. - -For More information, see [Custom domain names and bring your own certificates in Azure Container Apps](https://aka.ms/containerappcustomdomaincert) --<!--b9ce2d2e-554b-4391-8ebc-91c570602b04_end--> - --<!--fa6c0880-da2e-42fd-9cb3-e1267ec5b5c2_begin--> -#### An issue has been detected that is preventing the renewal of your Managed Certificate. - -We detected the managed certificate used by the Container App has failed to auto renew. Follow the documentation link to make sure that the DNS settings of your custom domain are correct. - -**Potential benefits**: Avoid downtime due to an expired certificate. - -For More information, see [Custom domain names and free managed certificates in Azure Container Apps](https://aka.ms/containerapps/managed-certificates) --<!--fa6c0880-da2e-42fd-9cb3-e1267ec5b5c2_end--> - --<!--9be5f344-6fa5-4abc-a1f2-61ae6192a075_begin--> -#### Increase the minimal replica count for your containerized application - -The minimal replica count set for your Azure Container App containerized application might be too low, which can cause resilience, scalability, and load balancing issues. For better availability, consider increasing the minimal replica count. - -**Potential benefits**: Better availability for your container app. - -For More information, see [Set scaling rules in Azure Container Apps](https://aka.ms/containerappscalingrules) --<!--9be5f344-6fa5-4abc-a1f2-61ae6192a075_end--> - -<!--microsoft_app_end> -## Azure Cosmos DB -<!--5e4e9f04-9201-4fd9-8af6-a9539d13d8ec_begin--> -#### Configure Azure Cosmos DB containers with a partition key - -When Azure Cosmos DB nonpartitioned collections reach their provisioned storage quota, you lose the ability to add data. Your Cosmos DB nonpartitioned collections are approaching their provisioned storage quota. Migrate these collections to new collections with a partition key definition so they can automatically be scaled out by the service. - -**Potential benefits**: Scale your containers seamlessly with increase in storage or request rates without running into any limits - -For More information, see [Partitioning and horizontal scaling in Azure Cosmos DB](/azure/cosmos-db/partitioning-overview#choose-partitionkey) --<!--5e4e9f04-9201-4fd9-8af6-a9539d13d8ec_end--> --<!--bdb595a4-e148-41f9-98e8-68ec92d1932e_begin--> -#### Use static Cosmos DB client instances in your code and cache the names of databases and collections - -A high number of metadata operations on an account can result in rate limiting. Metadata operations have a system-reserved request unit (RU) limit. Avoid rate limiting from metadata operations by using static Cosmos DB client instances in your code and caching the names of databases and collections. - -**Potential benefits**: Optimize your RU usage and avoid rate limiting - -For More information, see [Performance tips for Azure Cosmos DB and .NET SDK v2](/azure/cosmos-db/performance-tips) --<!--bdb595a4-e148-41f9-98e8-68ec92d1932e_end--> - --<!--44a0a07f-23a2-49df-b8dc-a1b14c7c6a9d_begin--> -#### Check linked Azure Key Vault hosting your encryption key - -When an Azure Cosmos DB account can't access its linked Azure Key Vault hosting the encyrption key, data access and security issues might happen. Your Azure Key Vault's configuration is preventing your Cosmos DB account from contacting the key vault to access your managed encryption keys. If you recently performed a key rotation, ensure that the previous key, or key version, remains enabled and available until Cosmos DB completes the rotation. The previous key or key version can be disabled after 24 hours, or after the Azure Key Vault audit logs don't show any activity from Azure Cosmos DB on that key or key version. - -**Potential benefits**: Update your configurations to continue using customer-managed keys and access your data - -For More information, see [Configure customer-managed keys for your Azure Cosmos DB account with Azure Key Vault](/azure/cosmos-db/how-to-setup-cmk) --<!--44a0a07f-23a2-49df-b8dc-a1b14c7c6a9d_end--> - --<!--213974c8-ed9c-459f-9398-7cdaa3c28856_begin--> -#### Configure consistent indexing mode on Azure Cosmos DB containers - -Azure Cosmos containers configured with the Lazy indexing mode update asynchronously, which improves write performance, but can impact query freshness. Your container is configured with the Lazy indexing mode. If query freshness is critical, use Consistent Indexing Mode for immediate index updates. - -**Potential benefits**: Improve query result consistency and reliability - -For More information, see [Manage indexing policies in Azure Cosmos DB](/azure/cosmos-db/how-to-manage-indexing-policy) --<!--213974c8-ed9c-459f-9398-7cdaa3c28856_end--> - --<!--bc9e5110-a220-4ab9-8bc9-53f92d3eef70_begin--> -#### Hotfix - Upgrade to 2.6.14 version of the Async Java SDK v2 or to Java SDK v4 - -There's a critical bug in version 2.6.13 (and lower) of the Azure Cosmos DB Async Java SDK v2 causing errors when a Global logical sequence number (LSN) greater than the Max Integer value is reached. The error happens transparently to you by the service after a large volume of transactions occur in the lifetime of an Azure Cosmos DB container. Note: While this is a critical hotfix for the Async Java SDK v2, we still highly recommend you migrate to the [Java SDK v4](/azure/cosmos-db/sql/sql-api-sdk-java-v4). - -**Potential benefits**: If action isnΓÇÖt taken, all create, read, update, and delete operations may begin to fail with NumberFormatException - -For More information, see [Azure Cosmos DB Async Java SDK for API for NoSQL (legacy): Release notes and resources](/azure/cosmos-db/sql/sql-api-sdk-async-java) --<!--bc9e5110-a220-4ab9-8bc9-53f92d3eef70_end--> - --<!--38942ae5-3154-4e0b-98d9-23aa061c334b_begin--> -#### Critical issue - Upgrade to the current recommended version of the Java SDK v4 - -There's a critical bug in version 4.15 and lower of the Azure Cosmos DB Java SDK v4 causing errors when a Global logical sequence number (LSN) greater than the Max Integer value is reached. This happens transparently to you by the service after a large volume of transactions occur in the lifetime of an Azure Cosmos DB container. Avoid this problem by upgrading to the current recommended version of the Java SDK v4 - -**Potential benefits**: If action isnΓÇÖt taken, all create, read, update, and delete operations may begin to fail with NumberFormatException - -For More information, see [Azure Cosmos DB Java SDK v4 for API for NoSQL: release notes and resources](/azure/cosmos-db/sql/sql-api-sdk-java-v4) --<!--38942ae5-3154-4e0b-98d9-23aa061c334b_end--> - --<!--123039b5-0fda-4744-9a17-d6b5d5d122b2_begin--> -#### Use the new 3.6+ endpoint to connect to your upgraded Azure Cosmos DB's API for MongoDB account - -Some of your applications are connecting to your upgraded Azure Cosmos DB's API for MongoDB account using the legacy 3.2 endpoint - [accountname].documents.azure.com. Use the new endpoint - [accountname].mongo.cosmos.azure.com (or its equivalent in sovereign, government, or restricted clouds). - -**Potential benefits**: Take advantage of the latest features in version 3.6+ of Azure Cosmos DB's API for MongoDB - -For More information, see [Azure Cosmos DB for MongoDB (4.0 server version): supported features and syntax](/azure/cosmos-db/mongodb-feature-support-40) --<!--123039b5-0fda-4744-9a17-d6b5d5d122b2_end--> - --<!--0da795d9-26d2-4f02-a019-0ec383363c88_begin--> -#### Upgrade your Azure Cosmos DB API for MongoDB account to v4.2 to save on query/storage costs and utilize new features - -Your Azure Cosmos DB API for MongoDB account is eligible to upgrade to version 4.2. Upgrading to v4.2 can reduce your storage costs by up to 55% and your query costs by up to 45% by leveraging a new storage format. Numerous additional features such as multi-document transactions are also included in v4.2. - -**Potential benefits**: Improved reliability, query/storage efficiency, performance, and new feature capabilities - -For More information, see [Upgrade the API version of your Azure Cosmos DB for MongoDB account](/azure/cosmos-db/mongodb-version-upgrade) --<!--0da795d9-26d2-4f02-a019-0ec383363c88_end--> - --<!--ec6fe20c-08d6-43da-ac18-84ac83756a88_begin--> -#### Enable Server Side Retry (SSR) on your Azure Cosmos DB's API for MongoDB account - -When an account is throwing a TooManyRequests error with the 16500 error code, enabling Server Side Retry (SSR) can help mitigate the issue. - -**Potential benefits**: Prevent throttling and improve your query reliability and performance - - --<!--ec6fe20c-08d6-43da-ac18-84ac83756a88_end--> - --<!--b57f7a29-dcc8-43de-86fa-18d3f9d3764d_begin--> -#### Add a second region to your production workloads on Azure Cosmos DB - -Production workloads on Azure Cosmos DB run in a single region might have availability issues, this appears to be the case with some of your Cosmos DB accounts. Increase their availability by configuring them to span at least two Azure regions. NOTE: Additional regions incur additional costs. - -**Potential benefits**: Improve the availability of your production workloads - -For More information, see [High availability (Reliability) in Azure Cosmos DB for NoSQL](/azure/cosmos-db/high-availability) --<!--b57f7a29-dcc8-43de-86fa-18d3f9d3764d_end--> - --<!--51a4e6bd-5a95-4a41-8309-40f5640fdb8b_begin--> -#### Upgrade old Azure Cosmos DB SDK to the latest version - -An Azure Cosmos DB account using an old version of the SDK lacks the latest fixes and improvements. Your Azure Cosmos DB account is using an old version of the SDK. For the latest fixes, performance improvements, and new feature capabilities, upgrade to the latest version. - -**Potential benefits**: Improved reliability, performance, and new feature capabilities - -For More information, see [Azure Cosmos DB documentation](/azure/cosmos-db/) --<!--51a4e6bd-5a95-4a41-8309-40f5640fdb8b_end--> - --<!--60a55165-9ccd-4536-81f6-e8dc6246d3d2_begin--> -#### Upgrade outdated Azure Cosmos DB SDK to the latest version - -An Azure Cosmos DB account using an old version of the SDK lacks the latest fixes and improvements. Your Azure Cosmos DB account is using an outdated version of the SDK. We recommend upgrading to the latest version for the latest fixes, performance improvements, and new feature capabilities. - -**Potential benefits**: Improved reliability, performance, and new feature capabilities - -For More information, see [Azure Cosmos DB documentation](/azure/cosmos-db/) --<!--60a55165-9ccd-4536-81f6-e8dc6246d3d2_end--> - --<!--5de9f2e6-087e-40da-863a-34b7943beed4_begin--> -#### Enable service managed failover for Cosmos DB account - -Enable service managed failover for Cosmos DB account to ensure high availability of the account. Service managed failover automatically switches the write region to the secondary region in case of a primary region outage. This ensures that the application continues to function without any downtime. - -**Potential benefits**: Azure's Service-Managed Failover feature enhances system availability by automating failover processes, reducing downtime, and improving resilience. - -For More information, see [High availability (Reliability) in Azure Cosmos DB for NoSQL](/azure/cosmos-db/high-availability) --<!--5de9f2e6-087e-40da-863a-34b7943beed4_end--> - --<!--64fbcac1-f652-4b6f-8170-2f97ffeb5631_begin--> -#### Enable HA for your Production workload - -Many clusters with consistent workloads do not have high availability (HA) enabled. It's recommended to activate HA from the Scale page in the Azure Portal to prevent database downtime in case of unexpected node failures and to qualify for SLA guarantees. - -**Potential benefits**: Activate HA to avoid database downtime in case of an unexpected node failure - -For More information, see [Scaling and configuring Your Azure Cosmos DB for MongoDB vCore cluster](https://aka.ms/enableHAformongovcore) --<!--64fbcac1-f652-4b6f-8170-2f97ffeb5631_end--> - --<!--8034b205-167a-4fd5-a133-0c8cb166103c_begin--> -#### Enable zone redundancy for multi-region Cosmos DB accounts - -This recommendation suggests enabling zone redundancy for multi-region Cosmos DB accounts to improve high availability and reduce the risk of data loss in case of a regional outage. - -**Potential benefits**: Improved high availability and reduced risk of data loss - -For More information, see [High availability (Reliability) in Azure Cosmos DB for NoSQL](/azure/cosmos-db/high-availability#replica-outages) --<!--8034b205-167a-4fd5-a133-0c8cb166103c_end--> - --<!--92056ca3-8fab-43d1-bebf-f9c377ef20e9_begin--> -#### Add at least one data center in another Azure region - -Your Azure Managed Instance for Apache Cassandra cluster is designated as a production cluster but is currently deployed in a single Azure region. For production clusters, we recommend adding at least one more data center in another Azure region to guard against disaster recovery scenarios. - -**Potential benefits**: Ensure applications have another region in case of disaster recovery - -For More information, see [Best practices for high availability and disaster recovery](/azure/managed-instance-apache-cassandra/resilient-applications) --<!--92056ca3-8fab-43d1-bebf-f9c377ef20e9_end--> - --<!--a030f8ab-4dd4-4751-822b-f231a0df5f5a_begin--> -#### Avoid being rate limited for Control Plane operation - -We found high number of Control Plane operations on your account through resource provider. Request that exceeds the documented limits at sustained levels over consecutive 5-minute periods may experience request being throttling as well failed or incomplete operation on Azure Cosmos DB resources. - -**Potential benefits**: Optimize control plane operation and avoid operation failure due to rate limiting - -For More information, see [Azure Cosmos DB service quotas](https://docs.microsoft.com/azure/cosmos-db/concepts-limits#control-plane) --<!--a030f8ab-4dd4-4751-822b-f231a0df5f5a_end--> - -<!--microsoft_documentdb_end> -## Azure Data Explorer -<!--fa2649e9-e1a5-4d07-9b26-51c080d9a9ba_begin--> -#### Resolve virtual network issues - -Service failed to install or resume due to virtual network (VNet) issues. To resolve this issue, follow the steps in the troubleshooting guide. - -**Potential benefits**: Improve reliability, availability, performance, and new feature capabilities - -For More information, see [Troubleshoot access, ingestion, and operation of your Azure Data Explorer cluster in your virtual network](/azure/data-explorer/vnet-deploy-troubleshoot) --<!--fa2649e9-e1a5-4d07-9b26-51c080d9a9ba_end--> --<!--f2bcadd1-713b-4acc-9810-4170a5d01dea_begin--> -#### Add subnet delegation for 'Microsoft.Kusto/clusters' - -If a subnet isnΓÇÖt delegated, the associated Azure service wonΓÇÖt be able to operate within it. Your subnet doesnΓÇÖt have the required delegation. Delegate your subnet for 'Microsoft.Kusto/clusters'. - -**Potential benefits**: Improve reliability, availability, performance, and new feature capabilities - -For More information, see [What is subnet delegation?](/azure/virtual-network/subnet-delegation-overview) --<!--f2bcadd1-713b-4acc-9810-4170a5d01dea_end--> - -<!--microsoft_kusto_end> -## Azure Database for MySQL -<!--cf388b0c-2847-4ba9-8b07-54c6b23f60fb_begin--> -#### High Availability - Add primary key to the table that currently doesn't have one. - -Our internal monitoring system has identified significant replication lag on the High Availability standby server. This lag is primarily caused by the standby server replaying relay logs on a table that lacks a primary key. To address this issue and adhere to best practices, it's recommended to add primary keys to all tables. Once this is done, proceed to disable and then re-enable High Availability to mitigate the problem. - -**Potential benefits**: By implementing this approach, the standby server will be shielded from the adverse effects of high replication lag caused by the absence of a primary key on any table. This approach can contribute to reduced failover times, ultimately supporting the goal of maintaining business continuity. - -For More information, see [Troubleshoot replication latency in Azure Database for MySQL - Flexible Server](/azure/mysql/how-to-troubleshoot-replication-latency#no-primary-key-or-unique-key-on-a-table) --<!--cf388b0c-2847-4ba9-8b07-54c6b23f60fb_end--> --<!--fb41cc05-7ac3-4b0e-a773-a39b5c1ca9e4_begin--> -#### Replication - Add a primary key to the table that currently doesn't have one - -Our internal monitoring observed significant replication lag on your replica server because the replica server is replaying relay logs on a table that lacks a primary key. To ensure that the replica server can effectively synchronize with the primary and keep up with changes, add primary keys to the tables in the primary server and then recreate the replica server. - -**Potential benefits**: By implementing this approach, the replica server will achieve a state of close synchronization with the primary server. - -For More information, see [Troubleshoot replication latency in Azure Database for MySQL - Flexible Server](/azure/mysql/how-to-troubleshoot-replication-latency#no-primary-key-or-unique-key-on-a-table) --<!--fb41cc05-7ac3-4b0e-a773-a39b5c1ca9e4_end--> - -<!--microsoft_dbformysql_end> -## Azure Database for PostgreSQL -<!--33f26810-57d0-4612-85ff-a83ee9be884a_begin--> -#### Remove inactive logical replication slots (important) - -Inactive logical replication slots can result in degraded server performance and unavailability due to write ahead log (WAL) file retention and buildup of snapshot files. Your Azure Database for PostgreSQL flexible server might have inactive logical replication slots. THIS NEEDS IMMEDIATE ATTENTION. Either delete the inactive replication slots, or start consuming the changes from these slots, so that the slots' Log Sequence Number (LSN) advances and is close to the current LSN of the server. - -**Potential benefits**: Improve PostgreSQL availability by removing inactive logical replication slots - -For More information, see [Logical replication and logical decoding in Azure Database for PostgreSQL - Flexible Server](https://aka.ms/azure_postgresql_flexible_server_logical_decoding) --<!--33f26810-57d0-4612-85ff-a83ee9be884a_end--> --<!--6f33a917-418c-4608-b34f-4ff0e7be8637_begin--> -#### Remove inactive logical replication slots - -When an Orcas PostgreSQL flexible server has inactive logical replication slots, degraded server performance and unavailability due to write ahead log (WAL) file retention and buildup of snapshot files might occur. THIS NEEDS IMMEDIATE ATTENTION. Either delete the inactive replication slots, or start consuming the changes from these slots, so that the slots' Log Sequence Number (LSN) advances and is close to the current LSN of the server. - -**Potential benefits**: Improve PostgreSQL availability by removing inactive logical replication slots - -For More information, see [Logical decoding](https://aka.ms/azure_postgresql_logical_decoding) --<!--6f33a917-418c-4608-b34f-4ff0e7be8637_end--> - --<!--5295ed8a-f7a1-48d3-b4a9-e5e472cf1685_begin--> -#### Configure geo redundant backup storage - -Configure GRS to ensure that your database meets its availability and durability targets even in the face of failures or disasters. - -**Potential benefits**: Ensures recovery from regional failure or disaster. - -For More information, see [Backup and restore in Azure Database for PostgreSQL - Flexible Server](https://aka.ms/PGGeoBackup) --<!--5295ed8a-f7a1-48d3-b4a9-e5e472cf1685_end--> - --<!--eb241cd1-4bdc-4800-945b-4c9c8eeb6f07_begin--> -#### Define custom maintenance windows to occur during low-peak hours - -When specifying preferences for the maintenance schedule, you can pick a day of the week and a time window. If you don't specify, the system will pick times between 11pm and 7am in your server's region time. Pick a day and time where usage is low. - -**Potential benefits**: Configure maintenance window enables avoiding maintenance during system peak. - -For More information, see [Scheduled maintenance in Azure Database for PostgreSQL - Flexible Server](https://aka.ms/PGCustomMaintenanceWindow) --<!--eb241cd1-4bdc-4800-945b-4c9c8eeb6f07_end--> - -<!--microsoft_dbforpostgresql_end> -## Azure IoT Hub -<!--51b1fad8-4838-426f-9871-107bc089677b_begin--> -#### Upgrade Microsoft Edge device runtime to a supported version for IoT Hub - -When Edge devices use outdated versions, performance degradation might occur. We recommend you upgrade to the latest supported version of the Azure IoT Edge runtime. - -**Potential benefits**: Ensure business continuity with latest supported version for your Edge devices - -For More information, see [Update IoT Edge](https://aka.ms/IOTEdgeSDKCheck) --<!--51b1fad8-4838-426f-9871-107bc089677b_end--> --<!--d448c687-b808-4143-bbdc-02c35478198a_begin--> -#### Upgrade device client SDK to a supported version for IotHub - -When devices use an outdated SDK, performance degradation can occur. Some or all of your devices are using an outdated SDK. We recommend you upgrade to a supported SDK version. - -**Potential benefits**: Ensure business continuity with supported SDK for your devices - -For More information, see [Azure IoT Hub SDKs](https://aka.ms/iothubsdk) --<!--d448c687-b808-4143-bbdc-02c35478198a_end--> - --<!--8d7efd88-c891-46be-9287-0aec2fabd51c_begin--> -#### IoT Hub Potential Device Storm Detected - -This is when two or more devices are trying to connect to the IoT Hub using the same device ID credentials. When the second device (B) connects, it causes the first one (A) to become disconnected. Then (A) attempts to reconnect again, which causes (B) to get disconnected. - -**Potential benefits**: Improve connectivity of your devices - -For More information, see [Understand and resolve Azure IoT Hub errors](https://aka.ms/IotHubDeviceStorm) --<!--8d7efd88-c891-46be-9287-0aec2fabd51c_end--> - --<!--d1ff97b9-44cd-4acf-a9d3-3af500bd79d6_begin--> -#### Upgrade Device Update for IoT Hub SDK to a supported version - -When a Device Update for IoT Hub instance uses an outdated version of the SDK, it doesn't get the latest upgrades. For the latest fixes, performance improvements, and new feature capabilities, upgrade to the latest Device Update for IoT Hub SDK version. - -**Potential benefits**: Ensure business continuity with supported SDK - -For More information, see [What is Device Update for IoT Hub?](/azure/iot-hub-device-update/understand-device-update) --<!--d1ff97b9-44cd-4acf-a9d3-3af500bd79d6_end--> - --<!--e4bda6ac-032c-44e0-9b40-e0522796a6d2_begin--> -#### Add IoT Hub units or increase SKU level - -When an IoT Hub exceeds its daily message quota, operation and cost problems might occur. To ensure smooth operation in the future, add units or increase the SKU level. - -**Potential benefits**: The IoT Hub can receive messages again. - -For More information, see [Understand and resolve Azure IoT Hub errors](/azure/iot-hub/troubleshoot-error-codes#403002-iothubquotaexceeded) --<!--e4bda6ac-032c-44e0-9b40-e0522796a6d2_end--> - -<!--microsoft_devices_end> -## Azure Kubernetes Service (AKS) -<!--70829b1a-272b-4728-b418-8f1a56432d33_begin--> -#### Enable Autoscaling for your system node pools - -To ensure your system pods are scheduled even during times of high load, enable autoscaling on your system node pool. - -**Potential benefits**: Enabling Autoscaler for system node pool ensures system pods are scheduled and cluster can function. - -For More information, see [Use the cluster autoscaler in Azure Kubernetes Service (AKS)](/azure/aks/cluster-autoscaler?tabs=azure-cli#before-you-begin) --<!--70829b1a-272b-4728-b418-8f1a56432d33_end--> --<!--a9228ae7-4386-41be-b527-acd59fad3c79_begin--> -#### Have at least 2 nodes in your system node pool - -Ensure your system node pools have at least 2 nodes for reliability of your system pods. With a single node, your cluster can fail in the event of a node or hardware failure. - -**Potential benefits**: Having 2 nodes ensures resiliency against node failures. - -For More information, see [Manage system node pools in Azure Kubernetes Service (AKS)](/azure/aks/use-system-pools?tabs=azure-cli#system-and-user-node-pools) --<!--a9228ae7-4386-41be-b527-acd59fad3c79_end--> - --<!--f31832f1-7e87-499d-a52a-120f610aba98_begin--> -#### Create a dedicated system node pool - -A cluster without a dedicated system node pool is less reliable. We recommend you dedicate system node pools to only serve critical system pods, preventing resource starvation between system and competing user pods. Enforce this behavior with the CriticalAddonsOnly=true:NoSchedule taint on the pool. - -**Potential benefits**: Ensures cluster reliability by preventing resource scarcity for core system pods - -For More information, see [Manage system node pools in Azure Kubernetes Service (AKS)](/azure/aks/use-system-pools?tabs=azure-cli#before-you-begin) --<!--f31832f1-7e87-499d-a52a-120f610aba98_end--> - --<!--fac2ad84-1421-4dd3-8477-9d6e605392b4_begin--> -#### Ensure B-series Virtual Machine's (VMs) aren't used in production environments - -When a cluster has one or more node pools using a non-recommended burstable VM SKU, full vCPU capability 100% is unguaranteed. Ensure B-series VM's aren't used in production environments. - -**Potential benefits**: Best practice for consistent performance - -For More information, see [B-series burstable virtual machine sizes](/azure/virtual-machines/sizes-b-series-burstable) --<!--fac2ad84-1421-4dd3-8477-9d6e605392b4_end--> - -<!--microsoft_containerservice_end> -## Azure NetApp Files -<!--2e795f35-fce6-48dc-a5ac-6860cb9a0442_begin--> -#### Configure AD DS Site for Azure Netapp Files AD Connector - -If Azure NetApp Files can't reach assigned AD DS site domain controllers, the domain controller discovery process queries all domain controllers. Unreachable domain controllers may be used, causing issues with volume creation, client queries, authentication, and AD connection modifications. - -**Potential benefits**: Optimize DNS Connectivity with Azure Netapp Files - -For More information, see [Understand guidelines for Active Directory Domain Services site design and planning for Azure NetApp Files](https://aka.ms/anfsitescoping) --<!--2e795f35-fce6-48dc-a5ac-6860cb9a0442_end--> --<!--4e112555-7dc0-4f33-85e7-18398ac41345_begin--> -#### Ensure Roles assigned to Microsoft.NetApp Delegated Subnet has Subnet Read Permissions - -Roles that are required for the management of Azure NetApp Files resources, must have "Microsoft.network/virtualNetworks/subnets/read" permissions on the subnet that is delegated to Microsoft.NetApp If the role, whether Custom or Built-In doesn't have this permission, then Volume Creations will fail - -**Potential benefits**: Prevent volume creation failures by ensuring subnet/read permissions - - --<!--4e112555-7dc0-4f33-85e7-18398ac41345_end--> - --<!--8754f0ed-c82a-497e-be31-c9d701c976e1_begin--> -#### Review SAP configuration for timeout values used with Azure NetApp Files - -High availability of SAP while used with Azure NetApp Files relies on setting proper timeout values to prevent disruption to your application. Review the 'Learn more' link to ensure your configuration meets the timeout values as noted in the documentation. - -**Potential benefits**: Improve resiliency of SAP Application on ANF - -For More information, see [Use Azure to host and run SAP workload scenarios](/azure/sap/workloads/get-started) --<!--8754f0ed-c82a-497e-be31-c9d701c976e1_end--> - --<!--cda11061-35a8-4ca3-aa03-b242dcdf7319_begin--> -#### Implement disaster recovery strategies for your Azure NetApp Files resources - -To avoid data or functionality loss during a regional or zonal disaster, implement common disaster recovery techniques such as cross region replication or cross zone replication for your Azure NetApp Files volumes. - -**Potential benefits**: Manage disaster recovery easily with Azure NetApp Files replication features - -For More information, see [Understand data protection and disaster recovery options in Azure NetApp Files](https://aka.ms/anfcrr) --<!--cda11061-35a8-4ca3-aa03-b242dcdf7319_end--> - --<!--e4bebd74-387a-4a74-b757-475d2d1b4e3e_begin--> -#### Azure Netapp Files - Enable Continuous Availability for SMB Volumes - -For Continuous Availability, we recommend enabling Server Message Block (SMB) volume for your Azure Netapp Files. - -**Potential benefits**: Prevent application disruptions by enabling Continuous Availability for SMB volumes - -For More information, see [Enable Continuous Availability on existing SMB volumes](https://aka.ms/anfdoc-continuous-availability) --<!--e4bebd74-387a-4a74-b757-475d2d1b4e3e_end--> - -<!--microsoft_netapp_end> -## Azure Site Recovery -<!--3ebfaf53-4d8c-4e67-a948-017bbbf59de6_begin--> -#### Enable soft delete for your Recovery Services vaults - -Soft delete helps you retain your backup data in the Recovery Services vault for an additional duration after deletion, giving you an opportunity to retrieve it before it's permanently deleted. - -**Potential benefits**: Helps recovery of backup data in cases of accidental deletion - -For More information, see [Soft delete for Azure Backup](/azure/backup/backup-azure-security-feature-cloud) --<!--3ebfaf53-4d8c-4e67-a948-017bbbf59de6_end--> --<!--9b1308f1-4c25-4347-a061-7cc5cd6a44ab_begin--> -#### Enable Cross Region Restore for your recovery Services Vault - -Cross Region Restore (CRR) allows you to restore Azure VMs in a secondary region (an Azure paired region), helping with disaster recovery. - -**Potential benefits**: As one of the restore options, Cross Region Restore (CRR) allows you to restore Azure VMs in a secondary region, which is an Azure paired region. - -For More information, see [How to restore Azure VM data in Azure portal](/azure/backup/backup-azure-arm-restore-vms#cross-region-restore) --<!--9b1308f1-4c25-4347-a061-7cc5cd6a44ab_end--> - -<!--microsoft_recoveryservices_end> -## Azure Spring Apps -<!--39d862c8-445c-40c6-ba59-0e86134df606_begin--> -#### Upgrade Application Configuration Service to Gen 2 - -We notice you are still using Application Configuration Service Gen1 which will be end of support by April 2024. Application Configuration Service Gen2 provides better performance compared to Gen1 and the upgrade from Gen1 to Gen2 is zero downtime so we recommend to upgrade as soon as possible. - -**Potential benefits**: Higher stability and availability - -For More information, see [Use Application Configuration Service for Tanzu](https://aka.ms/AsaAcsUpgradeToGen2) --<!--39d862c8-445c-40c6-ba59-0e86134df606_end--> -<!--microsoft_appplatform_end> -## Azure SQL Database -<!--2ea11bcb-dfd0-48dc-96f0-beba578b989a_begin--> -#### Enable cross region disaster recovery for SQL Database - -Enable cross region disaster recovery for Azure SQL Database for business continuity in the event of regional outage. - -**Potential benefits**: Enabling disaster recovery creates a continuously synchronized readable secondary database for a primary database. - -For More information, see [Overview of business continuity with Azure SQL Database](https://aka.ms/sqldb_dr_overview) --<!--2ea11bcb-dfd0-48dc-96f0-beba578b989a_end--> --<!--807e58d0-e385-41ad-987b-4a4b3e3fb563_begin--> -#### Enable zone redundancy for Azure SQL Database to achieve high availability and resiliency. - -To achieve high availability and resiliency, enable zone redundancy for the SQL database or elastic pool to use availability zones and ensure the database or elastic pool is resilient to zonal failures. - -**Potential benefits**: Enabling zone redundancy ensures Azure SQL Database is resilient to zonal hardware and software failures and the recovery is transparent to applications. - -For More information, see [Availability through redundancy - Azure SQL Database](/azure/azure-sql/database/high-availability-sla?view=azuresql&tabs=azure-powershell#zone-redundant-availability) --<!--807e58d0-e385-41ad-987b-4a4b3e3fb563_end--> - -<!--microsoft_sql_end> -## Azure Stack HCI -<!--09e56b5a-9a00-47a7-82dd-9bd9569eb6ed_begin--> -#### Upgrade to the latest version of AKS enabled by Arc - -Upgrade to the latest version of API/SDK of AKS enabled by Azure Arc for new functionality and improved stability. - -**Potential benefits**: The latest version of AKS enabled by Azure Arc with new functionality and improved stability. - -For More information, see [https://azure.github.io/azure-sdk/releases/latest/https://docsupdatetracker.net/index.html](https://azure.github.io/azure-sdk/releases/latest/https://docsupdatetracker.net/index.html) --<!--09e56b5a-9a00-47a7-82dd-9bd9569eb6ed_end--> --<!--2ac72093-309f-41ec-bf9d-55e9fc490563_begin--> -#### Upgrade to the latest version of AKS enabled by Arc - -Upgrade to the latest version of API/SDK of AKS enabled by Azure Arc for new functionality and improved stability. - -**Potential benefits**: The latest version of AKS enabled by Azure Arc with new functionality and improved stability. - -For More information, see [https://azure.github.io/azure-sdk/releases/latest/https://docsupdatetracker.net/index.html](https://azure.github.io/azure-sdk/releases/latest/https://docsupdatetracker.net/index.html) --<!--2ac72093-309f-41ec-bf9d-55e9fc490563_end--> - -<!--microsoft_azurestackhci_end> -## Classic deployment model storage -<!--fd04ff97-d3b3-470a-9544-dfea3a5708db_begin--> -#### Action required: Migrate classic storage accounts by 8/30/2024. - -Migrate your classic storage accounts to Azure Resource Manager to ensure business continuity. Azure Resource Manager will provide all of the same functionality plus a consistent management layer, resource grouping, and access to new features and updates. - -**Potential benefits**: Ensure the ability to manage your data by migrating your classic storage account(s) - - --<!--fd04ff97-d3b3-470a-9544-dfea3a5708db_end--> -<!--microsoft_classicstorage_end> -## Classic deployment model virtual machine -<!--13ff4efb-6c84-4684-8838-52c123e3e3a2_begin--> -#### Migrate off Cloud Services (classic) before 31 August 2024 - -Cloud Services (classic) is retiring. To avoid any loss of data or business continuity, migrate off before 31 Aug 2024. - -**Potential benefits**: Continuity of your service - -For More information, see [Migrate Azure Cloud Services (classic) to Azure Cloud Services (extended support)](https://aka.ms/ExternalRetirementEmailMay2022) --<!--13ff4efb-6c84-4684-8838-52c123e3e3a2_end--> -<!--microsoft_classiccompute_end> -## Cognitive Services -<!--13fed411-54aa-4923-b830-23b51539d79d_begin--> -#### Upgrade your application to use the latest API version from Azure OpenAI - -An Azure OpenAI resource with an older API version lacks the latest features and functionalities. We recommend that you use the latest REST API version. - -**Potential benefits**: Our new API versions contain the latest and greatest features and capabilities. - -For More information, see [Azure OpenAI Service REST API reference](/azure/cognitive-services/openai/reference) --<!--13fed411-54aa-4923-b830-23b51539d79d_end--> --<!--3f83aee8-222d-445c-9a46-2af5fe5b4777_begin--> -#### Quota exceeded for this resource, wait or upgrade to unblock - -If the quota for your resource is exceeded your resource becomes blocked. You can wait for the quota to automatically get replenished soon, or, to use the resource again now, upgrade it to a paid SKU. - -**Potential benefits**: If you upgrade to a paid SKU you can use the resource again today. - -For More information, see [Plan and manage costs for Azure AI Studio](/azure/cognitive-services/plan-manage-costs#pay-as-you-go) --<!--3f83aee8-222d-445c-9a46-2af5fe5b4777_end--> - -<!--microsoft_cognitiveservices_end> -## Container Registry -<!--af0cdbce-c610-499b-9bd7-b169cdb1bb2e_begin--> -#### Use Premium tier for critical production workloads - -Premium registries provide the highest amount of included storage, concurrent operations and network bandwidth, enabling high-volume scenarios. The Premium tier also adds features such as geo-replication, availability zone support, content-trust, customer-managed keys and private endpoints. - -**Potential benefits**: The Premium tier provides the highest amount of performance, scale and resiliency options - -For More information, see [Azure Container Registry service tiers](https://aka.ms/AAqwyv6) --<!--af0cdbce-c610-499b-9bd7-b169cdb1bb2e_end--> --<!--dcfa2602-227e-4b6c-a60d-7b1f6514e690_begin--> -#### Ensure Geo-replication is enabled for resilience - -Geo-replication enables workloads to use a single image, tag and registry name across regions, provides network-close registry access, reduced data transfer costs and regional Registry resilience if a regional outage occurs. This feature is only available in the Premium service tier. - -**Potential benefits**: Improved resilience and pull performance, simplified registry management and reduced data transfer costs - -For More information, see [Geo-replication in Azure Container Registry](https://aka.ms/AAqwx90) --<!--dcfa2602-227e-4b6c-a60d-7b1f6514e690_end--> - -<!--microsoft_containerregistry_end> -## Content Delivery Network -<!--ceecfd41-89b3-4c64-afe6-984c9cc03126_begin--> -#### Azure CDN From Edgio, Managed Certificate Renewal Unsuccessful. Additional Validation Required. - -Azure CDN from Edgio employs CNAME delegation to renew certificates with DigiCert for managed certificate renewals. It's essential that Custom Domains resolve to an azureedge.net endpoint for the automatic renewal process with DigiCert to be successful. Ensure your Custom Domain's CNAME and CAA records are configured correctly. Should you require further assistance, please submit a support case to Azure to re-attempt the renewal request. - -**Potential benefits**: Ensure service availability. - - --<!--ceecfd41-89b3-4c64-afe6-984c9cc03126_end--> --<!--4e1c2077-7c73-4ace-b4aa-f11b36c28290_begin--> -#### Renew the expired Azure Front Door customer certificate to avoid service disruption - -When customer certificates for Azure Front Door Standard and Premium profiles expire, you might have service disruptions. To avoid service disruption, renew the certificate before it expires. - -**Potential benefits**: Ensure service availability. - -For More information, see [Configure HTTPS on an Azure Front Door custom domain by using the Azure portal](/azure/frontdoor/standard-premium/how-to-configure-https-custom-domain#use-your-own-certificate) --<!--4e1c2077-7c73-4ace-b4aa-f11b36c28290_end--> - --<!--bfe85fd2-ee53-4c35-8781-7790da2107e1_begin--> -#### Re-validate domain ownership for the Azure Front Door managed certificate renewal - -Azure Front Door (AFD) can't automatically renew the managed certificate because the domain isn't CNAME mapped to AFD endpoint. For the managed certificate to be automatically renewed, revalidate domain ownership. - -**Potential benefits**: undefined - -For More information, see [Configure a custom domain on Azure Front Door by using the Azure portal](/azure/frontdoor/standard-premium/how-to-add-custom-domain#domain-validation-state) --<!--bfe85fd2-ee53-4c35-8781-7790da2107e1_end--> - --<!--2c057605-4707-4d3e-bbb0-a7fe9b6a626b_begin--> -#### Switch Secret version to 'Latest' for the Azure Front Door customer certificate - -Configure the Azure Front Door (AFD) customer certificate secret to 'Latest' for the AFD to refer to the latest secret version in Azure Key Vault, allowing the secret can be automatically rotated. - -**Potential benefits**: LatestΓÇÖ version can be automatically rotated. - -For More information, see [Configure HTTPS on an Azure Front Door custom domain by using the Azure portal](/azure/frontdoor/standard-premium/how-to-configure-https-custom-domain#certificate-renewal-and-changing-certificate-types) --<!--2c057605-4707-4d3e-bbb0-a7fe9b6a626b_end--> - --<!--9411bc9f-d181-497c-b519-4154ae04fb00_begin--> -#### Validate domain ownership by adding DNS TXT record to DNS provider - -Validate domain ownership by adding the DNS TXT record to your DNS provider. Validating domain ownership through TXT records enhances security and ensures proper control over your domain. - -**Potential benefits**: Ensure service availability. - -For More information, see [Configure a custom domain on Azure Front Door by using the Azure portal](/azure/frontdoor/standard-premium/how-to-add-custom-domain#domain-validation-state) --<!--9411bc9f-d181-497c-b519-4154ae04fb00_end--> - -<!--microsoft_cdn_end> -## Data Factory -<!--617ee02c-be69-441e-8294-dee5a237efff_begin--> -#### Implement BCDR strategy for cross region redundancy in Azure Data Factory - -Implementing BCDR strategy improves high availability and reduced risk of data loss - -**Potential benefits**: Improves high availability and reduced risk of data loss - -For More information, see [BCDR for Azure Data Factory and Azure Synapse Analytics pipelines - Azure Architecture Center ](https://aka.ms/AArn7ln) --<!--617ee02c-be69-441e-8294-dee5a237efff_end--> --<!--939b97dc-fdca-4324-ba36-6ea7e1ab399b_begin--> -#### Enable auto upgrade on your SHIR - -Auto-upgrade of Self-hosted Integration runtime has been disabled. Know that you aren't getting the latest changes and bug fixes on the Self-Hosted Integration runtime. Review them to enable the SHIR auto upgrade - -**Potential benefits**: To get the latest changes and bug fixes on the Self-Hosted Integration runtime - -For More information, see [Self-hosted integration runtime auto-update and expire notification](https://aka.ms/shirexpirynotification) --<!--939b97dc-fdca-4324-ba36-6ea7e1ab399b_end--> - -<!--microsoft_datafactory_end> -## Fluid Relay -<!--a5e8a0f8-2c84-407a-b3d8-f371d684363b_begin--> -#### Azure Fluid Relay client library should be upgraded - -If the Azure Fluid Relay service is invoked with an old client library, it might cause appplication problems. To ensure your application remains operational, upgrade your Azure Fluid Relay client library to the latest version. Upgrading provides the most up-to-date functionality, and enhancements in performance and stability. - -**Potential benefits**: Improved reliability - -For More information, see [Version compatibility with Fluid Framework releases](/azure/azure-fluid-relay/concepts/version-compatibility) --<!--a5e8a0f8-2c84-407a-b3d8-f371d684363b_end--> -<!--microsoft_fluidrelay_end> -## HDInsight -<!--69740e3e-5b96-4b0e-b9b8-4d7573e3611c_begin--> -#### Apply critical updates by dropping and recreating your HDInsight clusters (certificate rotation round 2) - -The HDInsight service attempted to apply a critical certificate update on your running clusters. However, due to some custom configuration changes, we're unable to apply the updates on all clusters. To prevent those clusters from becoming unhealthy and unusable, drop and recreate your clusters. - -**Potential benefits**: Ensure cluster health and stability - -For More information, see [Set up clusters in HDInsight with Apache Hadoop, Apache Spark, Apache Kafka, and more](/azure/hdinsight/hdinsight-hadoop-provision-linux-clusters) --<!--69740e3e-5b96-4b0e-b9b8-4d7573e3611c_end--> --<!--24acd95e-fc9f-490c-b32d-edc6d747d0bc_begin--> -#### Non-ESP ABFS clusters [Cluster Permissions for Word Readable] - -Plan to introduce a change in non-ESP ABFS clusters, which restricts non-Hadoop group users from running Hadoop commands for storage operations. This change is to improve cluster security posture. Customers need to plan for the updates before September 30, 2023. - -**Potential benefits**: This change is to improve cluster security posture - -For More information, see [Azure HDInsight release notes](https://aka.ms/hdireleasenotes) --<!--24acd95e-fc9f-490c-b32d-edc6d747d0bc_end--> - --<!--35e3a19f-16e7-4bb1-a7b8-49e02a35af2e_begin--> -#### Restart brokers on your Kafka Cluster Disks - -When data disks used by Kafka brokers in HDInsight clusters are almost full, the Apache Kafka broker process can't start and fails. To mitigate, find the retention time for every topic, back up the files that are older, and restart the brokers. - -**Potential benefits**: Avoid Kafka broker issues - -For More information, see [Scenario: Brokers are unhealthy or can't restart due to disk space full issue](https://aka.ms/kafka-troubleshoot-full-disk) --<!--35e3a19f-16e7-4bb1-a7b8-49e02a35af2e_end--> - --<!--41a248ef-50d4-4c48-81fb-13196f957210_begin--> -#### Cluster Name length update - -The max length of cluster name will be changed to 45 from 59 characters, to improve the security posture of clusters. This change will be implemented by September 30th, 2023. - -**Potential benefits**: Security posture improvement for HDInsight - -For More information, see [Azure HDInsight release notes](/azure/hdinsight/hdinsight-release-notes) --<!--41a248ef-50d4-4c48-81fb-13196f957210_end--> - --<!--8f163c95-0029-4139-952a-42bd0d773b93_begin--> -#### Upgrade your cluster to the the latest HDInsight image - -A cluster created one year ago doesn't have the latest image upgrades. Your cluster was created 1 year ago. As part of the best practices, we recommend you use the latest HDInsight images for the best open source updates, Azure updates, and security fixes. The recommended maximum duration for cluster upgrades is less than six months. - -**Potential benefits**: Get the latest fixes and features - -For More information, see [Consider the below points before starting to create a cluster.](/azure/hdinsight/hdinsight-overview-before-you-start#keep-your-clusters-up-to-date) --<!--8f163c95-0029-4139-952a-42bd0d773b93_end--> - --<!--97355d8e-59ae-43ff-9214-d4acf728467a_begin--> -#### Upgrade your HDInsight Cluster - -A cluster not using the latest image doesn't have the latest upgrades. Your cluster isn't using the latest image. We recommend you use the latest versions of HDInsight images for the best of open source updates, Azure updates, and security fixes. HDInsight releases happen every 30 to 60 days. - -**Potential benefits**: Get the latest fixes and features - -For More information, see [Azure HDInsight release notes](/azure/hdinsight/hdinsight-release-notes) --<!--97355d8e-59ae-43ff-9214-d4acf728467a_end--> - --<!--b3bf9f14-c83e-4dd3-8f5c-a6be746be173_begin--> -#### Gateway or virtual machine not reachable - -We have detected a Network prob failure, it indicates unreachable gateway or a virtual machine. Verify all cluster hostsΓÇÖ availability. Restart virtual machine to recover. If you need further assistance, don't hesitate to contact Azure support for help. - -**Potential benefits**: Improved availability - - --<!--b3bf9f14-c83e-4dd3-8f5c-a6be746be173_end--> - --<!--e4635832-0ab1-48b1-a386-c791197189e6_begin--> -#### VM agent is 9.9.9.9. Upgrade the cluster. - -Our records indicate that one or more of your clusters are using images dated February 2022 or older (image versions 2202xxxxxx or older). -There is a potential reliability issue on HDInsight clusters that use images dated February 2022 or older.Consider rebuilding your clusters with latest image. - -**Potential benefits**: Improved Reliability in Scaling and Network connectivity - - --<!--e4635832-0ab1-48b1-a386-c791197189e6_end--> - -<!--microsoft_hdinsight_end> -## Media Services -<!--b7c9fd99-a979-40b4-ab48-b1dfab6bb41a_begin--> -#### Increase Media Services quotas or limits - -When a media account hits its quota limits, disruption of service might occur. To avoid any disruption of service, review current usage of assets, content key policies, and stream policies and increase quota limits for the entities that are close to hitting the limit. You can request quota limits be increased by opening a ticket and adding relevant details. TIP: Don't create additional Azure Media accounts in an attempt to obtain higher limits. - -**Potential benefits**: Avoid any disruption to service due to customer exceeding quota limits. - -For More information, see [Azure Media Services quotas and limits](https://aka.ms/ams-quota-recommendation/) --<!--b7c9fd99-a979-40b4-ab48-b1dfab6bb41a_end--> -<!--microsoft_media_end> -## Service Bus -<!--29765e2c-5286-4039-963f-f8231e56cc3e_begin--> -#### Use Service Bus premium tier for improved resilience - -When running critical applications, the Service Bus premium tier offers better resource isolation at the CPU and memory level, enhancing availability. It also supports Geo-disaster recovery feature enabling easier recovery from regional disasters without having to change application configurations. - -**Potential benefits**: Service Bus premium tier offers better resiliency with CPU and memory resource isolation as well as Geo-disaster recovery - -For More information, see [Service Bus premium messaging tier](https://aka.ms/asb-premium) --<!--29765e2c-5286-4039-963f-f8231e56cc3e_end--> --<!--68e62f5c-4ed1-4b78-a2a0-4d9a4cebf106_begin--> -#### Use Service Bus autoscaling feature in the premium tier for improved resilience - -When running critical applications, enabling the auto scale feature allows you to have enough capacity to handle the load on your application. Having the right amount of resources running can reduce throttling and provide a better user experience. - -**Potential benefits**: Enabling autoscale prevents users from capacity constraints - -For More information, see [Automatically update messaging units of an Azure Service Bus namespace](https://aka.ms/asb-autoscale) --<!--68e62f5c-4ed1-4b78-a2a0-4d9a4cebf106_end--> - -<!--microsoft_servicebus_end> -## SQL Server on Azure Virtual Machines -<!--77f01e65-e57f-40ee-a0e9-e18c007d4d4c_begin--> -#### Enable Azure backup for SQL on your virtual machines - -For the benefits of zero-infrastructure backup, point-in-time restore, and central management with SQL AG integration, enable backups for SQL databases on your virtual machines using Azure backup. - -**Potential benefits**: SQL aware backups with no-infra for backup, centralized management, AG integration and point-in-time restore - -For More information, see [About SQL Server Backup in Azure VMs](/azure/backup/backup-azure-sql-database) --<!--77f01e65-e57f-40ee-a0e9-e18c007d4d4c_end--> -<!--microsoft_sqlvirtualmachine_end> -## Storage -<!--d42d751d-682d-48f0-bc24-bb15b61ac4b8_begin--> -#### Use Managed Disks for storage accounts reaching capacity limit - -When Premium SSD unmanaged disks in storage accounts are about to reach their Premium Storage capacity limit, failures might occur. To avoid failures when this limit is reached, migrate to Managed Disks that don't have an account capacity limit. This migration can be done through the portal in less than 5 minutes. - -**Potential benefits**: Avoid scale issues when account reaches capacity limit - -For More information, see [Scalability and performance targets for standard storage accounts](https://aka.ms/premium_blob_quota) --<!--d42d751d-682d-48f0-bc24-bb15b61ac4b8_end--> --<!--8ef907f4-f8e3-4bf1-962d-27e005a7d82d_begin--> -#### Configure blob backup - -Azure blob backup helps protect data from accidental or malicious deletion. We recommend that you configure blob backup. - -**Potential benefits**: Protect data from accidental or malicious deletion - -For More information, see [Overview of Azure Blob backup](/azure/backup/blob-backup-overview) --<!--8ef907f4-f8e3-4bf1-962d-27e005a7d82d_end--> - -<!--microsoft_storage_end> -## Subscriptions -<!--9e91a63f-faaf-46f2-ac7c-ddfcedf13366_begin--> -#### Turn on Azure Backup to get simple, reliable, and cost-effective protection for your data - -Keep your information and applications safe with robust, one click backup from Azure. Activate Azure Backup to get cost-effective protection for a wide range of workloads including VMs, SQL databases, applications, and file shares. - -**Potential benefits**: Ensure your business-critical applications stay protected - -For More information, see [Azure Backup Documentation - Azure Backup ](/azure/backup/) --<!--9e91a63f-faaf-46f2-ac7c-ddfcedf13366_end--> --<!--242639fd-cd73-4be2-8f55-70478db8d1a5_begin--> -#### Create an Azure Service Health alert - -Azure Service Health alerts keep you informed about issues and advisories in four areas (Service issues, Planned maintenance, Security and Health advisories). These alerts are personalized to notify you about disruptions or potential impacts on your chosen Azure regions and services. - -**Potential benefits**: Stay informed about issues and advisories across 4 areas (Service issues, Planned maintenance, Security advisories and Health advisories) - -For More information, see [Create activity log alerts on service notifications using the Azure portal](https://aka.ms/aa_servicehealthalert_action) --<!--242639fd-cd73-4be2-8f55-70478db8d1a5_end--> - -<!--microsoft_subscriptions_end> -## Virtual Machines -<!--02cfb5ef-a0c1-4633-9854-031fbda09946_begin--> -#### Improve data reliability by using Managed Disks - -Virtual machines in an Availability Set with disks that share either storage accounts or storage scale units aren't resilient to single storage scale unit failures during outages. Migrate to Azure Managed Disks to ensure that the disks of different VMs in the Availability Set are sufficiently isolated to avoid a single point of failure. - -**Potential benefits**: Ensure business continuity through data resilience - -For More information, see [https://aka.ms/aa_avset_manageddisk_learnmore](https://aka.ms/aa_avset_manageddisk_learnmore) --<!--02cfb5ef-a0c1-4633-9854-031fbda09946_end--> --<!--ed651749-cd37-4fd5-9897-01b416926745_begin--> -#### Enable virtual machine replication to protect your applications from regional outage - -Virtual machines are resilient to regional outages when replication to another region is enabled. To reduce adverse business impact during an Azure region outage, we recommend enabling replication of all business-critical virtual machines. - -**Potential benefits**: Ensure business continuity in case of any Azure region outage - -For More information, see [Quickstart: Set up disaster recovery to a secondary Azure region for an Azure VM](https://aka.ms/azure-site-recovery-dr-azure-vms) --<!--ed651749-cd37-4fd5-9897-01b416926745_end--> - --<!--bcfeb92b-fe93-4cea-adc6-e747055518e9_begin--> -#### Update your outbound connectivity protocol to Service Tags for Azure Site Recovery - -IP address-based allowlisting is a vulnerable way to control outbound connectivity for firewalls, Service Tags are a good alternative. We highly recommend the use of Service Tags, to allow connectivity to Azure Site Recovery services for the machines. - -**Potential benefits**: Ensures better security, stability and resiliency than hard coded IP Addresses - -For More information, see [About networking in Azure VM disaster recovery](https://aka.ms/azure-site-recovery-using-service-tags) --<!--bcfeb92b-fe93-4cea-adc6-e747055518e9_end--> - --<!--58d6648d-32e8-4346-827c-4f288dd8ca24_begin--> -#### Upgrade the standard disks attached to your premium-capable VM to premium disks - -Using Standard SSD disks with premium VMs may lead to suboptimal performance and latency issues. We recommend that you consider upgrading the standard disks to premium disks. For any Single Instance Virtual Machine using premium storage for all Operating System Disks and Data Disks, we guarantee Virtual Machine Connectivity of at least 99.9%. When choosing to upgrade, there are two factors to consider. The first factor is that upgrading requires a VM reboot and that takes 3-5 minutes to complete. The second is if the VMs in the list are mission-critical production VMs, evaluate the improved availability against the cost of premium disks. - -**Potential benefits**: Improved availability with single VM SLA available only when all disks are premium - -For More information, see [Azure managed disk types](https://aka.ms/aa_storagestandardtopremium_learnmore) --<!--58d6648d-32e8-4346-827c-4f288dd8ca24_end--> - --<!--57ecb3cd-f2b4-4cad-8b3a-232cca527a0b_begin--> -#### Upgrade VM from Premium Unmanaged Disks to Managed Disks at no additional cost - -Azure Managed Disks provide higher resiliency, simplified service management, higher scale target and more choices among several disk types. Your VM is using premium unmanaged disks that can be migrated to managed disks at no additional cost through the portal in less than 5 minutes. - -**Potential benefits**: Leverage higher resiliency and other benefits of Managed Disks - -For More information, see [Introduction to Azure managed disks](https://aka.ms/md_overview) --<!--57ecb3cd-f2b4-4cad-8b3a-232cca527a0b_end--> - --<!--11f04d70-5bb3-4065-b717-1f11b2e050a8_begin--> -#### Upgrade your deprecated Virtual Machine image to a newer image - -Virtual Machines (VMs) in your subscription are running on images scheduled for deprecation. Once the image is deprecated, new VMs can't be created from the deprecated image. To prevent disruption to your workloads, upgrade to a newer image. (VMRunningDeprecatedImage) - -**Potential benefits**: Minimize any potential disruptions to your VM workloads - -For More information, see [Deprecated Azure Marketplace images - Azure Virtual Machines ](https://aka.ms/DeprecatedImagesFAQ) --<!--11f04d70-5bb3-4065-b717-1f11b2e050a8_end--> - --<!--937d85a4-11b2-4e13-a6b5-9e15e3d74d7b_begin--> -#### Upgrade to a newer offer of Virtual Machine image - -Virtual Machines (VMs) in your subscription are running on images scheduled for deprecation. Once the image is deprecated, new VMs can't be created from the deprecated image. To prevent disruption to your workloads, upgrade to a newer image. (VMRunningDeprecatedOfferLevelImage) - -**Potential benefits**: Minimize any potential disruptions to your VM workloads - -For More information, see [Deprecated Azure Marketplace images - Azure Virtual Machines ](https://aka.ms/DeprecatedImagesFAQ) --<!--937d85a4-11b2-4e13-a6b5-9e15e3d74d7b_end--> - --<!--681acf17-11c3-4bdd-8f71-da563c79094c_begin--> -#### Upgrade to a newer SKU of Virtual Machine image - -Virtual Machines (VMs) in your subscription are running on images scheduled for deprecation. Once the image is deprecated, new VMs can't be created from the deprecated image. To prevent disruption to your workloads, upgrade to a newer image. - -**Potential benefits**: Minimize any potential disruptions to your VM workloads - -For More information, see [Deprecated Azure Marketplace images - Azure Virtual Machines ](https://aka.ms/DeprecatedImagesFAQ) --<!--681acf17-11c3-4bdd-8f71-da563c79094c_end--> - --<!--3b739bd1-c193-4bb6-a953-1362ee3b03b2_begin--> -#### Upgrade your Virtual Machine Scale Set to alternative image version - -VMSS in your subscription are running on images that have been scheduled for deprecation. Once the image is deprecated, your Virtual Machine Scale Set workloads would no longer scale out. Upgrade to newer version of the image to prevent disruption to your workload. - -**Potential benefits**: Minimize any potential disruptions to your Virtual Machine Scale Set workloads - -For More information, see [Deprecated Azure Marketplace images - Azure Virtual Machines ](https://aka.ms/DeprecatedImagesFAQ) --<!--3b739bd1-c193-4bb6-a953-1362ee3b03b2_end--> - --<!--3d18d7cd-bdec-4c68-9160-16a677d0f86a_begin--> -#### Upgrade your Virtual Machine Scale Set to alternative image offer - -VMSS in your subscription are running on images that have been scheduled for deprecation. Once the image is deprecated, your Virtual Machine Scale Set workloads would no longer scale out. To prevent disruption to your workload, upgrade to newer offer of the image. - -**Potential benefits**: Minimize any potential disruptions to your Virtual Machine Scale Set workloads - -For More information, see [Deprecated Azure Marketplace images - Azure Virtual Machines ](https://aka.ms/DeprecatedImagesFAQ) --<!--3d18d7cd-bdec-4c68-9160-16a677d0f86a_end--> - --<!--44abb62e-7789-4f2f-8001-fa9624cb3eb3_begin--> -#### Upgrade your Virtual Machine Scale Set to alternative image SKU - -VMSS in your subscription are running on images that have been scheduled for deprecation. Once the image is deprecated, your Virtual Machine Scale Set workloads would no longer scale out. To prevent disruption to your workload, upgrade to newer SKU of the image. - -**Potential benefits**: Minimize any potential disruptions to your Virtual Machine Scale Set workloads - -For More information, see [Deprecated Azure Marketplace images - Azure Virtual Machines ](https://aka.ms/DeprecatedImagesFAQ) --<!--44abb62e-7789-4f2f-8001-fa9624cb3eb3_end--> - --<!--53e0a3cb-3569-474a-8d7b-7fd06a8ec227_begin--> -#### Provide access to mandatory URLs missing for your Azure Virtual Desktop environment - -For a session host to deploy and register to Windows Virtual Desktop (WVD) properly, you need a set of URLs in the 'allowed list' in case your VM runs in a restricted environment. For specific URLs missing from your allowed list, search your application event log for event 3702. - -**Potential benefits**: Ensure successful deployment and session host functionality when using Windows Virtual Desktop service - -For More information, see [Required FQDNs and endpoints for Azure Virtual Desktop](/azure/virtual-desktop/safe-url-list) --<!--53e0a3cb-3569-474a-8d7b-7fd06a8ec227_end--> - --<!--00e4ac6c-afa3-4578-a021-5f15e18850a2_begin--> -#### Align location of resource and resource group - -To reduce the impact of region outages, co-locate your resources with their resource group in the same region. This way, Azure Resource Manager stores metadata related to all resources within the group in one region. By co-locating, you reduce the chance of being affected by region unavailability. - -**Potential benefits**: Reduce write failures due to region outages - -For More information, see [What is Azure Resource Manager?](/azure/azure-resource-manager/management/overview#resource-group-location-alignment) --<!--00e4ac6c-afa3-4578-a021-5f15e18850a2_end--> - --<!--066a047a-9ace-45f4-ac50-6325840a6b00_begin--> -#### Use Availability zones for better resiliency and availability - -Availability Zones (AZ) in Azure help protect your applications and data from datacenter failures. Each AZ is made up of one or more datacenters equipped with independent power, cooling, and networking. By designing solutions to use zonal VMs, you can isolate your VMs from failure in any other zone. - -**Potential benefits**: Usage of zonal VMs protect your apps from zonal outage in any other zones. - -For More information, see [What are availability zones?](/azure/reliability/availability-zones-overview) --<!--066a047a-9ace-45f4-ac50-6325840a6b00_end--> - --<!--3b587048-b04b-4f81-aaed-e43793652b0f_begin--> -#### Enable Azure Virtual Machine Scale Set (VMSS) application health monitoring - -Configuring Virtual Machine Scale Set application health monitoring using the Application Health extension or load balancer health probes enables the Azure platform to improve the resiliency of your application by responding to changes in application health. - -**Potential benefits**: Increase resiliency by exposing application health to Azure - -For More information, see [Using Application Health extension with Virtual Machine Scale Sets](https://aka.ms/vmss-app-health-monitoring) --<!--3b587048-b04b-4f81-aaed-e43793652b0f_end--> - --<!--651c7925-17a3-42e5-85cd-73bd095cf27f_begin--> -#### Enable Backups on your Virtual Machines - -Secure your data by enabling backups for your virtual machines. - -**Potential benefits**: Protection of your Virtual Machines - -For More information, see [What is the Azure Backup service?](/azure/backup/backup-overview) --<!--651c7925-17a3-42e5-85cd-73bd095cf27f_end--> - --<!--b4d988a9-85e6-4179-b69c-549bdd8a55bb_begin--> -#### Enable automatic repair policy on Azure Virtual Machine Scale Sets (VMSS) - -Enabling automatic instance repairs helps achieve high availability by maintaining a set of healthy instances. If an unhealthy instance is found by the Application Health extension or load balancer health probe, automatic instance repairs attempt to recover the instance by triggering repair actions. - -**Potential benefits**: Increase resiliency by automating repair of failed instances - -For More information, see [Automatic instance repairs for Azure Virtual Machine Scale Sets](https://aka.ms/vmss-automatic-repair) --<!--b4d988a9-85e6-4179-b69c-549bdd8a55bb_end--> - --<!--ce8bb934-ce5c-44b3-a94c-1836fa7a269a_begin--> -#### Configure Virtual Machine Scale Set automated scaling by metrics - -Optimize resource utilization, reduce costs, and enhance application performance with custom autoscale based on a metric. Automatically add Virtual Machine instances based on real-time metrics such as CPU, memory, and disk operations. Ensure high availability while maintaining cost-efficiency. - -**Potential benefits**: Ensures high availability while maintaining cost-efficiency - -For More information, see [Overview of autoscale with Azure Virtual Machine Scale Sets](https://aka.ms/VMSSCustomAutoscaleMetric) --<!--ce8bb934-ce5c-44b3-a94c-1836fa7a269a_end--> - --<!--d4102c0f-ebe3-4b22-8fe0-e488866a87af_begin--> -#### Use Azure Disks with Zone Redundant Storage (ZRS) for higher resiliency and availability - -Azure Disks with ZRS provide synchronous replication of data across three Availability Zones in a region, making the disk tolerant to zonal failures without disruptions to applications. For higher resiliency and availability, migrate disks from LRS to ZRS. - -**Potential benefits**: By designing your applications to use ZRS Disks, your data is replicated across 3 Availability Zones, making your disk resilient to a zonal outage - -For More information, see [Convert a disk from LRS to ZRS](https://aka.ms/migratedisksfromLRStoZRS) --<!--d4102c0f-ebe3-4b22-8fe0-e488866a87af_end--> - -<!--microsoft_compute_end> -## Workloads -<!--3ca22452-0f8f-4701-a313-a2d83334e3cc_begin--> -#### Configure an Always On availability group for Multi-purpose SQL servers (MPSQL) - -MPSQL servers with an Always On availability group have better availability. Your MPSQL servers aren't configured as part of an Always On availability group in the shared infrastructure in your Epic system. Always On availability groups improve database availability and resource use. - -**Potential benefits**: Improved Database availability and resource use - -For More information, see [What is an Always On availability group?](/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server?view=sql-server-ver16#Benefits) --<!--3ca22452-0f8f-4701-a313-a2d83334e3cc_end--> --<!--f3d23f88-aee2-4b5a-bfd6-65b22bd70fc0_begin--> -#### Configure Local host cache on Citrix VDI servers to ensure seamless connection brokering operations - -We have observed that your Citrix VDI servers aren't configured Local host Cache. Local Host Cache (LHC) is a feature in Citrix Virtual Apps and Desktops that allows connection brokering operations to continue when an outage occurs.LHC engages when the site database is inaccessible for 90 seconds. - -**Potential benefits**: Seamless connection brokering operations - - --<!--f3d23f88-aee2-4b5a-bfd6-65b22bd70fc0_end--> - --<!--dfa50c39-104a-418b-873a-c145fe521c9b_begin--> -#### Deploy Hyperspace Web servers as part of a Virtual Machine Scale Set Flex configured for 3 zones - -We have observed that your Hyperspace Web servers in the Virtual Machine Scale Set Flex set up aren't spread across 3 zones in the selected region. For services like Hyperspace Web in Epic systems that require high availability and large scale, it's recommended that servers are deployed as part of Virtual Machine Scale Set Flex and spread across 3 zones. With Flexible orchestration, Azure provides a unified experience across the Azure VM ecosystem - -**Potential benefits**: High availability and on-demand large scale for Hyperspace web servers in Epic DB - -For More information, see [Create a Virtual Machine Scale Set that uses Availability Zones](/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-use-availability-zones?tabs=cli-1%2Cportal-2) --<!--dfa50c39-104a-418b-873a-c145fe521c9b_end--> - --<!--45c2994f-a01d-4024-843e-a2a84dae48b4_begin--> -#### Set the Idle timeout in Azure Load Balancer to 30 minutes for ASCS HA setup in SAP workloads - -To prevent load balancer timeout, make sure that all Azure Load Balancing Rules have: 'Idle timeout (minutes)' set to the maximum value of 30 minutes. Open the load balancer, select 'load balancing rules' and add or edit the rule to enable the setting. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability#:~:text=To%20set%20up%20standard%20load%20balancer%2C%20follow%20these%20configuration%20steps) --<!--45c2994f-a01d-4024-843e-a2a84dae48b4_end--> - --<!--aec9b9fb-145f-4af8-94f3-7fdc69762b72_begin--> -#### Enable Floating IP in the Azure Load balancer for ASCS HA setup in SAP workloads - -For port resuse and better high availability, enable floating IP in the load balancing rules for the Azure Load Balancer for HA set up of ASCS instance in SAP workloads. Open the load balancer, select 'load balancing rules' and add or edit the rule to enable. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability#:~:text=To%20set%20up%20standard%20load%20balancer%2C%20follow%20these%20configuration%20steps) --<!--aec9b9fb-145f-4af8-94f3-7fdc69762b72_end--> - --<!--c3811f93-a1a5-4a84-8fba-dd700043cc42_begin--> -#### Enable HA ports in the Azure Load Balancer for ASCS HA setup in SAP workloads - -For port resuse and better high availability, enable HA ports in the load balancing rules for HA set up of ASCS instance in SAP workloads. Open the load balancer, select 'load balancing rules' and add or edit the rule to enable. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability#:~:text=To%20set%20up%20standard%20load%20balancer%2C%20follow%20these%20configuration%20steps) --<!--c3811f93-a1a5-4a84-8fba-dd700043cc42_end--> - --<!--27899d14-ac62-41f4-a65d-e6c2a5af101b_begin--> -#### Disable TCP timestamps on VMs placed behind Azure Load Balancer in ASCS HA setup in SAP workloads - -Disable TCP timestamps on VMs placed behind AzurEnabling TCP timestamps will cause the health probes to fail due to TCP packets being dropped by the VM's guest OS TCP stack causing the load balancer to mark the endpoint as down - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [https://launchpad.support.sap.com/#/notes/2382421](https://launchpad.support.sap.com/#/notes/2382421) --<!--27899d14-ac62-41f4-a65d-e6c2a5af101b_end--> - --<!--1c1deb1c-ae1b-49a7-88d3-201285ad63b6_begin--> -#### Set the Idle timeout in Azure Load Balancer to 30 minutes for HANA DB HA setup in SAP workloads - -To prevent load balancer timeout, ensure that all Azure Load Balancing Rules 'Idle timeout (minutes)' parameter is set to the maximum value of 30 minutes. Open the load balancer, select 'load balancing rules' and add or edit the rule to enable the recommended settings. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability#:~:text=To%20set%20up%20standard%20load%20balancer%2C%20follow%20these%20configuration%20steps) --<!--1c1deb1c-ae1b-49a7-88d3-201285ad63b6_end--> - --<!--cca36756-d938-4f3a-aebf-75358c7c0622_begin--> -#### Enable Floating IP in the Azure Load balancer for HANA DB HA setup in SAP workloads - -For more flexible routing, enable floating IP in the load balancing rules for the Azure Load Balancer for HA set up of HANA DB instance in SAP workloads. Open the load balancer, select 'load balancing rules' and add or edit the rule to enable the recommended settings. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability#:~:text=To%20set%20up%20standard%20load%20balancer%2C%20follow%20these%20configuration%20steps) --<!--cca36756-d938-4f3a-aebf-75358c7c0622_end--> - --<!--a5ac35c2-a299-4864-bfeb-09d2348bda68_begin--> -#### Enable HA ports in the Azure Load Balancer for HANA DB HA setup in SAP workloads - -For enhanced scalability, enable HA ports in the Load balancing rules for HA set up of HANA DB instance in SAP workloads. Open the load balancer, select 'load balancing rules' and add or edit the rule to enable the recommended settings. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability#:~:text=To%20set%20up%20standard%20load%20balancer%2C%20follow%20these%20configuration%20steps) --<!--a5ac35c2-a299-4864-bfeb-09d2348bda68_end--> - --<!--760ba688-69ea-431b-afeb-13683a03f0c2_begin--> -#### Disable TCP timestamps on VMs placed behind Azure Load Balancer in HANA DB HA setup in SAP workloads - -Disable TCP timestamps on VMs placed behind Azure Load Balancer. Enabling TCP timestamps causes the health probes to fail due to TCP packets dropped by the VM's guest OS TCP stack causing the load balancer to mark the endpoint as down. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [Azure Load Balancer health probes](/azure/load-balancer/load-balancer-custom-probe-overview#:~:text=Don%27t%20enable%20TCP,must%20be%20disabled) --<!--760ba688-69ea-431b-afeb-13683a03f0c2_end--> - --<!--28a00e1e-d0ad-452f-ad58-95e6c584e594_begin--> -#### Ensure that stonith is enabled for the Pacemaker configuration in ASCS HA setup in SAP workloads - -In a Pacemaker cluster, the implementation of node level fencing is done using a STONITH (Shoot The Other Node in the Head) resource. To help manage failed nodes, ensure that 'stonith-enable' is set to 'true' in the HA cluster configuration. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux](/azure/virtual-machines/workloads/sap/sap-hana-high-availability-rhel) --<!--28a00e1e-d0ad-452f-ad58-95e6c584e594_end--> - --<!--deede7ea-68c5-4fb9-8f08-5e706f88ac67_begin--> -#### Set the corosync token in Pacemaker cluster to 30000 for ASCS HA setup in SAP workloads (RHEL) - -The corosync token setting determines the timeout that is used directly, or as a base, for real token timeout calculation in HA clusters. To allow memory-preserving maintenance, set the corosync token to 30000 for SAP on Azure. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux](/azure/virtual-machines/workloads/sap/sap-hana-high-availability-rhel) --<!--deede7ea-68c5-4fb9-8f08-5e706f88ac67_end--> - --<!--35ef8bba-923e-44f3-8f06-691deb679468_begin--> -#### Set the expected votes parameter to '2' in Pacemaker cofiguration in ASCS HA setup in SAP workloads (RHEL) - -For a two node HA cluster, set the quorum 'expected-votes' parameter to '2' as recommended for SAP on Azure to ensure a proper quorum, resilience, and data consistency. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux](/azure/virtual-machines/workloads/sap/sap-hana-high-availability-rhel) --<!--35ef8bba-923e-44f3-8f06-691deb679468_end--> - --<!--0fffcdb4-87db-44f2-956f-dc9638248659_begin--> -#### Enable the 'concurrent-fencing' parameter in Pacemaker cofiguration in ASCS HA setup in SAP workloads (ConcurrentFencingHAASCSRH) - -Concurrent fencing enables the fencing operations to be performed in parallel, which enhances high availability (HA), prevents split-brain scenarios, and contributes to a robust SAP deployment. Set this parameter to 'true' in the Pacemaker cluster configuration for ASCS HA setup. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux](/azure/virtual-machines/workloads/sap/sap-hana-high-availability-rhel) --<!--0fffcdb4-87db-44f2-956f-dc9638248659_end--> - --<!--6921340e-baa1-424f-80d5-c07bbac3cf7c_begin--> -#### Ensure that stonith is enabled for the cluster configuration in ASCS HA setup in SAP workloads - -In a Pacemaker cluster, the implementation of node level fencing is done using a STONITH (Shoot The Other Node in the Head) resource. To help manage failed nodes, ensure that 'stonith-enable' is set to 'true' in the HA cluster configuration. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--6921340e-baa1-424f-80d5-c07bbac3cf7c_end--> - --<!--4eb10096-942e-402d-b4a6-e4e271c87a02_begin--> -#### Set the stonith timeout to 144 for the cluster configuration in ASCS HA setup in SAP workloads - -The ΓÇÿstonith-timeoutΓÇÖ specifies how long the cluster waits for a STONITH action to complete. Setting it to '144' seconds allows more time for fencing actions to complete. We recommend this setting for HA clusters for SAP on Azure. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--4eb10096-942e-402d-b4a6-e4e271c87a02_end--> - --<!--9f30eb2b-6a6f-4fa8-89dc-85a395c31233_begin--> -#### Set the corosync token in Pacemaker cluster to 30000 for ASCS HA setup in SAP workloads (SUSE) - -The corosync token setting determines the timeout that is used directly, or as a base, for real token timeout calculation in HA clusters. To allow memory-preserving maintenance, set the corosync token to '30000' for SAP on Azure. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--9f30eb2b-6a6f-4fa8-89dc-85a395c31233_end--> - --<!--f32b8f89-fb3c-4030-bd4a-0a16247db408_begin--> -#### Set 'token_retransmits_before_loss_const' to 10 in Pacemaker cluster in ASCS HA setup in SAP workloads - -The corosync token_retransmits_before_loss_const determines how many token retransmits are attempted before timeout in HA clusters. For stability and reliability, set the 'totem.token_retransmits_before_loss_const' to '10' for ASCS HA setup. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--f32b8f89-fb3c-4030-bd4a-0a16247db408_end--> - --<!--fed84141-4942-49b3-8b0c-73a8b352f754_begin--> -#### The 'corosync join' timeout specifies in milliseconds how long to wait for join messages in the membership protocol so when a new node joins the cluster, it has time to synchronize its state with existing nodes. Set to '60' in Pacemaker cluster configuration for ASCS HA setup. - - - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--fed84141-4942-49b3-8b0c-73a8b352f754_end--> - --<!--73227428-640d-4410-aec4-bac229a2b7bd_begin--> -#### Set the 'corosync consensus' in Pacemaker cluster to '36000' for ASCS HA setup in SAP workloads - -The corosync 'consensus' parameter specifies in milliseconds how long to wait for consensus before starting a round of membership in the cluster configuration. Set 'consensus' in the Pacemaker cluster configuration for ASCS HA setup to 1.2 times the corosync token for reliable failover behavior. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--73227428-640d-4410-aec4-bac229a2b7bd_end--> - --<!--14a889a6-374f-4bd4-8add-f644e3fe277d_begin--> -#### Set the 'corosync max_messages' in Pacemaker cluster to '20' for ASCS HA setup in SAP workloads - -The corosync 'max_messages' constant specifies the maximum number of messages that one processor can send on receipt of the token. Set it to 20 times the corosync token parameter in the Pacemaker cluster configuration to allow efficient communication without overwhelming the network. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--14a889a6-374f-4bd4-8add-f644e3fe277d_end--> - --<!--89a9ddd9-f9bf-47e4-b5f7-a0a4edfa0cdb_begin--> -#### Set 'expected votes' to '2' in the cluster configuration in ASCS HA setup in SAP workloads (SUSE) - -For a two node HA cluster, set the quorum 'expected_votes' parameter to 2 as recommended for SAP on Azure to ensure a proper quorum, resilience, and data consistency. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--89a9ddd9-f9bf-47e4-b5f7-a0a4edfa0cdb_end--> - --<!--2030a15b-ff0b-47c3-b934-60072ccda75e_begin--> -#### Set the two_node parameter to 1 in the cluster cofiguration in ASCS HA setup in SAP workloads - -For a two node HA cluster, set the quorum parameter 'two_node' to 1 as recommended for SAP on Azure. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--2030a15b-ff0b-47c3-b934-60072ccda75e_end--> - --<!--dc19b2c9-0770-4929-8f63-81c07fe7b6f3_begin--> -#### Enable 'concurrent-fencing' in Pacemaker ASCS HA setup in SAP workloads (ConcurrentFencingHAASCSSLE) - -Concurrent fencing enables the fencing operations to be performed in parallel, which enhances HA, prevents split-brain scenarios, and contributes to a robust SAP deployment. Set this parameter to 'true' in the Pacemaker cluster configuration for ASCS HA setup. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--dc19b2c9-0770-4929-8f63-81c07fe7b6f3_end--> - --<!--cb56170a-0ecb-420a-b2c9-5c4878a0132a_begin--> -#### Ensure the number of 'fence_azure_arm' instances is one in Pacemaker in HA enabled SAP workloads - -If you're using Azure fence agent for fencing with either managed identity or service principal, ensure that there's one instance of fence_azure_arm (an I/O fencing agent for Azure Resource Manager) in the Pacemaker configuration for ASCS HA setup for high availability. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--cb56170a-0ecb-420a-b2c9-5c4878a0132a_end--> - --<!--05747c68-715f-4c8f-b027-f57a931cc07a_begin--> -#### Set stonith-timeout to 900 in Pacemaker configuration with Azure fence agent for ASCS HA setup - -For reliable function of the Pacemaker for ASCS HA set the 'stonith-timeout' to 900. This setting is applicable if you're using the Azure fence agent for fencing with either managed identity or service principal. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--05747c68-715f-4c8f-b027-f57a931cc07a_end--> - --<!--88261a1a-6a32-4fb6-8bbd-fcd60fdfcab6_begin--> -#### Create the softdog config file in Pacemaker configuration for ASCS HA setup in SAP workloads - -The softdog timer is loaded as a kernel module in linux OS. This timer triggers a system reset if it detects that the system has hung. Ensure that the softdog configuation file is created in the Pacemaker cluster forASCS HA set up - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--88261a1a-6a32-4fb6-8bbd-fcd60fdfcab6_end--> - --<!--3730bc11-c81c-43eb-896a-8fce0bac139d_begin--> -#### Ensure the softdog module is loaded in for Pacemaler in ASCS HA setup in SAP workloads - -The softdog timer is loaded as a kernel module in linux OS. This timer triggers a system reset if it detects that the system has hung. First ensure that you created the softdog configuration file, then load the softdog module in the Pacemaker configuration for ASCS HA setup - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--3730bc11-c81c-43eb-896a-8fce0bac139d_end--> - --<!--255e9f7b-db3a-4a67-b87e-6fdc36ea070d_begin--> -#### Set PREFER_SITE_TAKEOVER parameter to 'true' in the Pacemaker configuration for HANA DB HA setup - -The PREFER_SITE_TAKEOVER parameter in SAP HANA defines if the HANA system replication (SR) resource agent prefers to takeover the secondary instance instead of restarting the failed primary locally. For reliable function of HANA DB high availability (HA) setup, set PREFER_SITE_TAKEOVER to 'true'. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux](/azure/virtual-machines/workloads/sap/sap-hana-high-availability-rhel) --<!--255e9f7b-db3a-4a67-b87e-6fdc36ea070d_end--> - --<!--4594198b-b114-4865-8ed8-be06db945408_begin--> -#### Enable stonith in the cluster cofiguration in HA enabled SAP workloads for VMs with Redhat OS - -In a Pacemaker cluster, the implementation of node level fencing is done using STONITH (Shoot The Other Node in the Head) resource. To help manage failed nodes, ensure that 'stonith-enable' is set to 'true' in the HA cluster configuration of your SAP workload. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux](/azure/virtual-machines/workloads/sap/sap-hana-high-availability-rhel) --<!--4594198b-b114-4865-8ed8-be06db945408_end--> - --<!--604f3822-6a28-47db-b31c-4b0dbe317625_begin--> -#### Set the corosync token in Pacemaker cluster to 30000 for HA enabled HANA DB for VM with RHEL OS - -The corosync token setting determines the timeout that is used directly, or as a base, for real token timeout calculation in HA clusters. To allow memory-preserving maintenance, set the corosync token to 30000 for SAP on Azure with Redhat OS. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux](/azure/virtual-machines/workloads/sap/sap-hana-high-availability-rhel) --<!--604f3822-6a28-47db-b31c-4b0dbe317625_end--> - --<!--937a1997-fc2d-4a3a-a9f6-e858a80921fd_begin--> -#### Set the expected votes parameter to '2' in HA enabled SAP workloads (RHEL) - -For a two node HA cluster, set the quorum votes to '2' as recommended for SAP on Azure to ensure a proper quorum, resilience, and data consistency. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux](/azure/virtual-machines/workloads/sap/sap-hana-high-availability-rhel) --<!--937a1997-fc2d-4a3a-a9f6-e858a80921fd_end--> - --<!--6cc63594-c89f-4535-b878-cdd13659cfc5_begin--> -#### Enable the 'concurrent-fencing' parameter in the Pacemaker cofiguration for HANA DB HA setup - -Concurrent fencing enables the fencing operations to be performed in parallel, which enhances high availability (HA), prevents split-brain scenarios, and contributes to a robust SAP deployment. Set this parameter to 'true' in the Pacemaker cluster configuration for HANA DB HA setup. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux](/azure/virtual-machines/workloads/sap/sap-hana-high-availability-rhel) --<!--6cc63594-c89f-4535-b878-cdd13659cfc5_end--> - --<!--230fddab-0864-4c5e-bb27-037bec7c46c6_begin--> -#### Set parameter PREFER_SITE_TAKEOVER to 'true' in the cluster cofiguration in HA enabled SAP workloads - -The PREFER_SITE_TAKEOVER parameter in SAP HANA topology defines if the HANA SR resource agent prefers to takeover the secondary instance instead of restarting the failed primary locally. For reliable function of HANA DB HA setup, set it to 'true'. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--230fddab-0864-4c5e-bb27-037bec7c46c6_end--> - --<!--210d0895-074c-4cc7-88de-b0a9e00820c6_begin--> -#### Enable stonith in the cluster configuration in HA enabled SAP workloads for VMs with SUSE OS - -In a Pacemaker cluster, the implementation of node level fencing is done using STONITH (Shoot The Other Node in the Head) resource. To help manage failed nodes, ensure that 'stonith-enable' is set to 'true' in the HA cluster configuration. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--210d0895-074c-4cc7-88de-b0a9e00820c6_end--> - --<!--64e5e17e-640e-430f-987a-721f133dbd5c_begin--> -#### Set the stonith timeout to 144 for the cluster configuration in HA enabled SAP workloads - -The ΓÇÿstonith-timeoutΓÇÖ specifies how long the cluster waits for a STONITH action to complete. Setting it to '144' seconds allows more time for fencing actions to complete. We recommend this setting for HA clusters for SAP on Azure. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--64e5e17e-640e-430f-987a-721f133dbd5c_end--> - --<!--a563e3ad-b6b5-4ec2-a444-c4e30800b8cf_begin--> -#### Set the corosync token in Pacemaker cluster to 30000 for HA enabled HANA DB for VM with SUSE OS - -The corosync token setting determines the timeout that is used directly, or as a base, for real token timeout calculation in HA clusters. To allow memory-preserving maintenance, set the corosync token to 30000 for HA enabled HANA DB for VM with SUSE OS. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--a563e3ad-b6b5-4ec2-a444-c4e30800b8cf_end--> - --<!--99681175-0124-44de-93ae-edc08f9dc0a8_begin--> -#### Set 'token_retransmits_before_loss_const' to 10 in Pacemaker cluster in HA enabled SAP workloads - -The corosync token_retransmits_before_loss_const determines how many token retransmits are attempted before timeout in HA clusters. Set the totem.token_retransmits_before_loss_const to 10 as recommended for HANA DB HA setup. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--99681175-0124-44de-93ae-edc08f9dc0a8_end--> - --<!--b8ac170f-433e-4d9c-8b75-f7070a2a5c92_begin--> -#### Set the 'corosync join' in Pacemaker cluster to 60 for HA enabled HANA DB in SAP workloads - -The 'corosync join' timeout specifies in milliseconds how long to wait for join messages in the membership protocol so when a new node joins the cluster, it has time to synchronize its state with existing nodes. Set to '60' in Pacemaker cluster configuration for HANA DB HA setup. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--b8ac170f-433e-4d9c-8b75-f7070a2a5c92_end--> - --<!--63e27ad9-1804-405a-97eb-d784686ffbe3_begin--> -#### Set the 'corosync consensus' in Pacemaker cluster to 36000 for HA enabled HANA DB in SAP workloads - -The corosync 'consensus' parameter specifies in milliseconds how long to wait for consensus before starting a new round of membership in the cluster. For reliable failover behavior, set 'consensus' in the Pacemaker cluster configuration for HANA DB HA setup to 1.2 times the corosync token. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--63e27ad9-1804-405a-97eb-d784686ffbe3_end--> - --<!--7ce9ff70-f684-47a2-b26f-781f80b1bccc_begin--> -#### Set the 'corosync max_messages' in Pacemaker cluster to 20 for HA enabled HANA DB in SAP workloads - -The corosync 'max_messages' constant specifies the maximum number of messages that one processor can send on receipt of the token. To allow efficient communication without overwhelming the network, set it to 20 times the corosync token parameter in the Pacemaker cluster configuration. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--7ce9ff70-f684-47a2-b26f-781f80b1bccc_end--> - --<!--37240e75-9493-433a-8671-2e2582584875_begin--> -#### Set the expected votes parameter to 2 in HA enabled SAP workloads (SUSE) - -Set the expected votes parameter to '2' in the cluster configuration in HA enabled SAP workloads to ensure a proper quorum, resilience, and data consistency. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--37240e75-9493-433a-8671-2e2582584875_end--> - --<!--41cd63e2-69a4-4a4f-bb69-1d3f832001f9_begin--> -#### Set the two_node parameter to 1 in the cluster configuration in HA enabled SAP workloads - -For a two node HA cluster, set the quorum parameter 'two_node' to 1 as recommended for SAP on Azure. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--41cd63e2-69a4-4a4f-bb69-1d3f832001f9_end--> - --<!--d763b894-7641-4c5d-9bc3-6f2515a6eb67_begin--> -#### Enable the 'concurrent-fencing' parameter in the cluster configuration in HA enabled SAP workloads - -Concurrent fencing enables the fencing operations to be performed in parallel, which enhances HA, prevents split-brain scenarios, and contributes to a robust SAP deployment. Set this parameter to 'true' in HA enabled SAP workloads. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--d763b894-7641-4c5d-9bc3-6f2515a6eb67_end--> - --<!--1f4b5e87-69e9-470a-8245-f337fd0d5528_begin--> -#### Ensure there is one instance of fence_azure_arm in the Pacemaker configuration for HANA DB HA setup - -If you're using Azure fence agent for fencing with either managed identity or service principal, ensure that one instance of fence_azure_arm (an I/O fencing agent for Azure Resource Manager) is in the Pacemaker configuration for HANA DB HA setup for high availability. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--1f4b5e87-69e9-470a-8245-f337fd0d5528_end--> - --<!--943f7572-1884-4120-808d-ac2a3e70e33a_begin--> -#### Set stonith-timeout to 900 in Pacemaker configuration with Azure fence agent for HANA DB HA setup - -If you're using the Azure fence agent for fencing with either managed identity or service principal, ensure reliable function of the Pacemaker for HANA DB HA setup, by setting the 'stonith-timeout' to 900. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--943f7572-1884-4120-808d-ac2a3e70e33a_end--> - --<!--63233341-73a2-4180-b57f-6f83395161b9_begin--> -#### Ensure that the softdog config file is in the Pacemaker configuration for HANA DB in SAP workloads - -The softdog timer is loaded as a kernel module in Linux OS. This timer triggers a system reset if it detects that the system is hung. Ensure that the softdog configuration file is created in the Pacemaker cluster for HANA DB HA setup. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--63233341-73a2-4180-b57f-6f83395161b9_end--> - --<!--b27248cd-67dc-4824-b162-4563adaa6d70_begin--> -#### Ensure the softdog module is loaded in Pacemaker in ASCS HA setup in SAP workloads - -The softdog timer is loaded as a kernel module in Linux OS. This timer triggers a system reset if it detects that the system is hung. First ensure that you created the softdog configuration file, then load the softdog module in the Pacemaker configuration for HANA DB HA setup. - -**Potential benefits**: Reliability of HA setup in SAP workloads - -For More information, see [High availability for SAP HANA on Azure VMs on SUSE Linux Enterprise Server](/azure/virtual-machines/workloads/sap/sap-hana-high-availability) --<!--b27248cd-67dc-4824-b162-4563adaa6d70_end--> - -<!--microsoft_workloads_end> -<!--articleBody--> - - - -## Next steps --Learn more about [Reliability - Microsoft Azure Well Architected Framework](/azure/architecture/framework/resiliency/overview) |
advisor | Advisor Release Notes | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-release-notes.md | - Title: What's new in Azure Advisor -description: Learn about what's new and what's changed in Azure Advisor with information from release notes, videos, and blog posts. - Previously updated : 05/03/2024---# What's new in Azure Advisor? --You can learn about what's new in Azure Advisor with the items in this article. These items might be release notes, videos, blog posts, and other types of information. Bookmark this page to stay up to date with the service. --## April 2024 --### Azure Advisor will no longer display aggregated potential yearly savings beginning September 30, 2024 --In the Azure portal, Advisor currently shows potential aggregated cost savings under the label **Potential yearly savings based on retail pricing** on pages where cost recommendations appear. This aggregated savings estimate will be removed from the Azure portal on September 30, 2024. You can still evaluate potential yearly savings tailored to your specific needs by following the steps in [Calculate cost savings](/azure/advisor/advisor-how-to-calculate-total-cost-savings). All individual recommendations and their associated potential savings will remain available. --#### Recommended action --If you want to continue calculating aggregated potential yearly savings, follow [these steps](/azure/advisor/advisor-how-to-calculate-total-cost-savings). Individual recommendations might show savings that overlap with the savings shown in other recommendations, although you might not be able to benefit from them concurrently. For example, you can benefit from savings plans or from reservations for virtual machines (VMs), but not typically from both on the same VMs. --### Public preview: Resiliency review on Azure Advisor --Recommendations from Azure Well-Architected Framework (WAF) Reliability reviews in Advisor help you focus on the most important recommendations to ensure that your workloads remain resilient. As part of the review, personalized and prioritized recommendations from Microsoft Cloud Solution Architects are presented to you and your team. You can triage recommendations (accept or reject), manage their lifecycle on Advisor, and work with your Microsoft account team to track resolution. You can reach out to your account team to request a WAF Reliability assessment to successfully optimize workload resiliency and reliability by implementing curated recommendations and track its lifecycle on Advisor. --To learn more, see [Azure Advisor Resiliency reviews](/azure/advisor/advisor-resiliency-reviews). --## March 2024 --### Well-Architected Framework (WAF) assessments and recommendations --The WAF assessment provides a curated view of a workload's architecture. Now you can take the WAF assessment and manage recommendations on Advisor to improve resiliency, security, cost, operational excellence, and performance efficiency. As a part of this release, we're announcing two key WAF assessments: [Mission-Critical | Well-Architected Review](/assessments/23513bdb-e8a2-4f0b-8b6b-191ee1f52d34/) and [Azure Well-Architected Review](/assessments/azure-architecture-review/). --To get started, see [Use Azure WAF assessments](/azure/advisor/advisor-assessments). --## November 2023 --### ZRS recommendations for Azure disks --Advisor now has zone-redundant storage (ZRS) recommendations for Azure managed disks. Disks with ZRS provide synchronous replication of data across three availability zones in a region, enabling disks to tolerate zonal failures without causing disruptions to your application. By adopting this recommendation, you can now design your solutions to utilize ZRS disks. Access these recommendations through the Advisor portal and APIs. --To learn more, see [Use Azure disks with zone-redundant storage for higher resiliency and availability](/azure/advisor/advisor-reference-reliability-recommendations#use-azure-disks-with-zone-redundant-storage-for-higher-resiliency-and-availability). --## October 2023 --### New version of the Service Retirement workbook --Advisor now has a new version of the Service Retirement workbook that includes three major changes: --* Ten new services are onboarded to the workbook. The retirement workbook now covers 40 services. -* Seven services that completed their retirement lifecycle are off-boarded. -* User experience and navigation are improved. --List of the newly added --| Service | Retiring feature | -|--|-| -| Azure Monitor | Classic alerts for Azure US Government cloud and Azure China 21Vianet | -| Azure Stack Edge | IoT Edge on Kubernetes | -| Azure Migrate | Classic | -| Application Insights | Troubleshooting guides retirement | -| Azure Maps | Gen1 price tier | -| Application Insights | Single URL ping test | -| Azure API for FHIR | Azure API for FHIR | -| Azure Health Data Services | SMART on FHIR proxy | -| Azure Database for MariaDB | Entire service | -| Azure Cache for Redis | Support for TLS 1.0 and 1.1 | --List of the removed --| Service | Retiring feature | -|--|-| -| Azure Virtual Machines | Classic IaaS | -| Azure Cache for Redis | Version 4.x | -| Virtual Machines | NV and NV_Promo series | -| Virtual Machines | NC-series | -| Virtual Machines | NC V2 series | -| Virtual Machines | ND-Series | -| Virtual Machines | Azure Dedicated Host SKUs (Dsv3-Type1, Esv3-Type1, Dsv3-Type2, and Esv3-Type2) | --User experience improvements: --* **Resource details grid**: Now, the resource details are readily available by default. Previously, they were only visible after selecting a service. -* **Resource link**: The **Resource** link now opens in a context pane. Previously, it opened on the same tab. --To learn more, see [Prepare migration of your workloads affected by service retirement](/azure/advisor/advisor-how-to-plan-migration-workloads-service-retirement). --### Service Health Alert recommendations --Advisor now provides Azure Service Health alert recommendations for subscriptions that don't have Service Health alerts configured. The link redirects you to the **Service Health** page. There, you can create and customize alerts based on the class of service health notification, affected subscriptions, services, and regions. --Service Health alerts keep you informed about issues and advisories in four areas: Service issues, Planned maintenance, Security advisories, and Health advisories. The alerts can be crucial for incident preparedness. --To learn more, see [Service Health portal classic experience overview](/azure/service-health/service-health-overview). --## August 2023 --### Improved VM resiliency with availability zone recommendations --Advisor now provides availability zone recommendations. By adopting these recommendations, you can design your solutions to utilize zonal VMs, ensuring the isolation of your VMs from potential failures in other zones. With zonal deployment, you can expect enhanced resiliency in your workload by avoiding downtime and business interruptions. --To learn more, see [Use availability zones for better resiliency and availability](/azure/advisor/advisor-reference-reliability-recommendations#use-availability-zones-for-better-resiliency-and-availability). --## July 2023 --### Workload-based recommendations management --Advisor now offers the capability of grouping or filtering recommendations by workload. The feature is available to selected customers based on their support contract. --If you're interested in workload-based recommendations, reach out to your account team for more information. --### Cost Optimization workbook template --The Azure Cost Optimization workbook serves as a centralized hub for some of the most-used tools that can help you drive utilization and efficiency goals. It offers a range of recommendations, including Advisor cost recommendations, identification of idle resources, and management of improperly deallocated VMs. It also provides insights into using Azure Hybrid Benefit options for Windows, Linux, and SQL databases. --To learn more, see [Understand and optimize your Azure costs by using the Cost Optimization workbook](/azure/advisor/advisor-cost-optimization-workbook). --## June 2023 --### Recommendation reminders for an upcoming event --Advisor now offers new recommendation reminders to help you proactively manage and improve the resilience and health of your workloads before an important event. Customers in the [Azure Event Management (AEM) program](https://www.microsoft.com/unifiedsupport/enhanced-solutions) are now reminded about outstanding recommendations for their subscriptions and resources that are critical for the event. --The event notifications are displayed when you visit Advisor or manage resources critical for an upcoming event. The reminders are displayed for events happening within the next 12 months and only for the subscriptions linked to an event. The notification includes a call to action to review outstanding recommendations for reliability, security, performance, and operational excellence. --## May 2023 --### New: Reliability workbook template --Advisor now has a Reliability workbook template. The new workbook helps you identify areas of improvement by checking configuration of selected Azure resources by using the [resiliency checklist](/azure/architecture/checklist/resiliency-per-service) and documented best practices. You can use filters, subscriptions, resource groups, and tags to focus on resources that you care about most. Use the workbook recommendations to: --* Optimize your workload. -* Prepare for an important event. -* Mitigate risks after an outage. --To learn more, see [Optimize your resources for reliability](https://aka.ms/advisor_improve_reliability). --To assess the reliability of your workload by using the tenets found in theΓÇ»[Azure WAF](/azure/architecture/framework/), see theΓÇ»[Azure Well-Architected Framework review](/assessments/?id=azure-architecture-review&mode=pre-assessment). --### Data in Azure Resource Graph is now available in Azure China and US Government clouds --Advisor data is now available in Azure Resource Graph in the Azure China and US Government clouds. Resource Graph is useful for customers who can now get recommendations for all their subscriptions at once and build custom views of Advisor recommendation data. For example, you can: --* Review your recommendations summarized by impact and category. -* See all recommendations for a recommendation type. -* View affected resource counts by recommendation category. --To learn more, see [Query for Advisor data in Resource Graph Explorer (Azure Resource Graph)](https://aka.ms/advisorarg). --### Service Retirement workbook --Advisor now provides a Service Retirement workbook. It's important to be aware of the upcoming Azure service and feature retirements to understand their effect on your workloads and plan migration. The [Service Retirement workbook](https://portal.azure.com/#view/Microsoft_Azure_Expert/AdvisorMenuBlade/~/workbooks) provides a single centralized resource-level view of service retirements. It helps you assess impact, evaluate options, and plan migration. -The workbook includes 35 services and features that are planned for retirement. You can view planned retirement dates and the list and map of affected resources. You also get information to take the necessary actions. --To learn more, see [Prepare migration of your workloads impacted by service retirements](advisor-how-to-plan-migration-workloads-service-retirement.md). --## April 2023 --### Postpone/dismiss a recommendation for multiple resources --Advisor now provides the option to postpone or dismiss a recommendation for multiple resources at once. After you open a recommendations details page with a list of recommendations and associated resources, select the relevant resources and choose **Postpone** or **Dismiss** in the command bar at the top of the page. --To learn more, see [Dismiss and postpone recommendations](/azure/advisor/view-recommendations#dismissing-and-postponing-recommendations). --### VM/virtual machine scale set right-sizing recommendations with custom lookback period --You can now improve the relevance of recommendations to make them more actionable to achieve more cost savings. --The right-sizing recommendations help optimize costs by identifying idle or underutilized VMs based on their CPU, memory, and network activity over the default lookback period of seven days. Now, with this latest update, you can adjust the default lookback period to get recommendations based on 14, 21, 30, 60, or even 90 days of use. The configuration can be applied at the subscription level. This capability is especially useful when the workloads have biweekly or monthly peaks (such as with payroll applications). --To learn more, see [Optimize VM or virtual machine scale set spend by resizing or shutting down underutilized instances](advisor-cost-recommendations.md#optimize-virtual-machine-vm-or-virtual-machine-scale-set-vmss-spend-by-resizing-or-shutting-down-underutilized-instances). --## March 2023 --### Advanced filtering capabilities --Advisor now provides more filtering capabilities. You can filter recommendations by resource group, resource type, impact, and workload. --## November 2022 --### New cost recommendations for virtual machine scale sets --Advisor now offers cost-optimization recommendations for virtual machine scale sets. They include shutdown recommendations for resources that we detect aren't used at all. They also include SKU change or instance count reduction recommendations for resources that we detect are underutilized. An example recommendation is for resources where we think customers are paying for more than what they might need based on the workloads running on the resources. --To learn more, see [ -Optimize VM or virtual machine scale set spend by resizing or shutting down underutilized instances](/azure/advisor/advisor-cost-recommendations#optimize-virtual-machine-vm-or-virtual-machine-scale-set-vmss-spend-by-resizing-or-shutting-down-underutilized-instances). --## June 2022 --### Advisor support for Azure Database for MySQL - Flexible Server --Advisor provides a personalized list of best practices for optimizing your Azure Database for MySQL - Flexible Server instance. The feature analyzes your resource configuration and usage. It then recommends solutions to help you improve the cost effectiveness, performance, reliability, and security of your resources. With Advisor, you can find recommendations based on transport layer security (TLS) configuration, CPU, and storage usage to prevent resource exhaustion. --To learn more, see [Azure Advisor for MySQL](/azure/mysql/single-server/concepts-azure-advisor-recommendations). --## May 2022 --### Unlimited number of subscriptions --It's easier now to get an overview of optimization opportunities available to your organization. There's no need to spend time and effort to apply filters and process subscriptions in batches. --To learn more, see [Get started with Azure Advisor](advisor-get-started.md). --### Tag filtering --You can now get Advisor recommendations scoped to a business unit, workload, or team. To filter recommendations and calculate scores, use tags that you already assigned to Azure resources, resource groups, and subscriptions. Apply tag filters to: --* Identify cost-saving opportunities by business units. -* Compare scores for workloads to optimize critical ones first. --To learn more, see [Filter Advisor recommendations by using tags](advisor-tag-filtering.md). --## January 2022 --The [Shut down/Resize your VMs](advisor-cost-recommendations.md#optimize-virtual-machine-vm-or-virtual-machine-scale-set-vmss-spend-by-resizing-or-shutting-down-underutilized-instances) recommendation was enhanced to increase quality, robustness, and applicability. --Improvements include: --- Cross-SKU family series resize recommendations are now available. -- Cross-version resize recommendations are now available. In general, newer versions of SKU families are more optimized, provide more features, and have better performance/cost ratios than older versions.-- Updated recommendation criteria include other SKU characteristics for better actionability. Examples are accelerated networking support, premium storage support, availability in a region, and inclusion in an availability set.---To learn more, read the [How-to guide](advisor-cost-recommendations.md#optimize-virtual-machine-vm-or-virtual-machine-scale-set-vmss-spend-by-resizing-or-shutting-down-underutilized-instances). |
advisor | Advisor Resiliency Reviews | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-resiliency-reviews.md | - Title: Azure Advisor resiliency reviews -description: Optimize resource resiliency with custom recommendation reviews. -- Previously updated : 08/22/2024----# Azure Advisor Resiliency Reviews --Azure Advisor Resiliency Reviews help you focus on the most important recommendations to optimize your cloud deployments and improve resiliency. Review recommendations are tailored to the needs of your workload and include custom ones curated by your account team using Azure best practices and prioritized automated recommendations. --You can find resiliency reviews in [Azure Advisor](https://aka.ms/azureadvisordashboard), which serves as your single-entry point for Microsoft best practices. --In this article, you learn how to enable and access resiliency reviews prepared for you, triage, manage, implement, and track recommendations' lifecycles. --## Terminology --* *Triage recommendations* means to accept or reject a recommendation. -* *Manage recommendation lifecycle* means to mark a recommendation as completed, postponed or dismissed, in progress, or not started. You can only manage a recommendation is in the *Accepted* state. --## How it works --After you request a review, Microsoft Cloud Solution Architect engineers perform extensive analysis, curate the list of prioritized recommendations, and publish a resiliency review. You triage the recommendations and implement them. Your Microsoft account team works with you to facilitate the process. --The following table defines the responsible parties for Advisor actions: --| **Responsibility** | **Description** | -||::| -|Request a resiliency review|Customer via your Customer Success Account Manager or aligned Cloud Solution Architect.| -|Analyze workload configuration, perform the review via the Well Architected Reliability Assessment and prepare recommendations|Microsoft account team. Team members include Account Managers, Engineers, and Cloud Solution Architects. | -|Triage recommendations to accept or reject them.|Customer. Triage is done by team members who have authority to make decisions about workload optimization priorities.| -|Manage recommendations' lifecycle.|Customer. Setting the status of accepted recommendation as completed, postponed or dismissed, in progress, or not started.| -|Implement recommendations that were accepted|Customer. Implementation is done by engineers who are responsible for managing resources and their configuration.| -|Facilitate implementation|Microsoft account team via your support contract.| --## Enable reviews --Resiliency reviews are available to customers with Unified or Premier Support contracts via a Well Architected Reliability Assessment. To initiate a review, reach out to your Customer Success Account Manager. You can find their contacts in [Services Hub](https://serviceshub.microsoft.com/). --Your Microsoft account team works with you to collect information about the workload. They need to know which subscriptions are used for the workload, and which subscriptions they should use to publish the review and recommendations. You need to work with the owner of this subscription to configure permissions for your team. --## View and triage recommendations --To view or triage recommendations, or to manage recommendations' lifecycles, requires specific role permissions. For definitions, see [Terminology](#terminology). ---### Access reviews --You can find resiliency reviews created by your account team in the left navigation pane under the **Manage** > **Reviews (Preview)** menu in Azure Advisor. --If there's a new review available to you, you see a notification banner on top of the Advisor pages. A **New** review is one with all recommendations in the *Pending* state. --1. Open the Azure portal and navigate to [Advisor](https://aka.ms/azureadvisordashboard). -Select **Manage** > **Reviews (Preview)** in the left navigation pane. A list of reviews opens. At the top of the page, you see the number of **Total Reviews** and review **Recommendations**, and a graph of **Reviews by status**. -1. Use search, filters, and sorting to find the review you need. You can filter reviews by one of the **Status equals** states shown next, or choose *All* (the default) to see all reviews. If you donΓÇÖt see a review for your subscription, make sure the review subscription is included in the global portal filter. You might need to update the filter to see the reviews for a subscription. -- * *New*: No recommendations are triaged (accepted or rejected) - * *In progress*: Some recommendations aren't triaged - * *Triaged*: All recommendations are triaged - * *Completed*: All accepted-state recommendations are implemented, postponed, or dismissed ---At the top of the reviews page, use **Feedback** to tell us about your experience. Use the **Refresh** button to refresh the page as needed. --> [!NOTE] -> If you have no reviews, the **Reviews** menu item in the left navigation is hidden. --### Review recommendations --The triage process includes reviewing recommendations and making decisions on which to implement. Use *Accept* and *Reject* actions to capture your decision. Accepted recommendations are available to your engineering team under the Advisor **Reliability** menu item. ---1. From the **Reviews** page, select a review name to open the recommendations list page. For new reviews, recommendations are in *Pending* state. -1. Take a note of recommendations priority. **Priority** is defined by your account team to help you decide which recommendations should be implemented first. -1. Select a recommendation *Title* or the *Impacted subscriptions* view link to get detailed information. A pane opens with details ΓÇô description, potential benefits, and notes from your account team along with the list of impacted subscriptions. -1. If all recommendations for that review are triaged, none appear in the **Pending** view; select the **Accepted** or **Rejected** tabs to view those recommendations. --### Recommendation priority --The priority of a recommendation is based on the impact and urgency of the suggested improvements. Your account team sets recommendation priority. --* *Critical*: The most important recommendations that can have a significant impact on your Azure resources. They should be addressed as soon as possible to avoid potential issues such as security breaches, data loss, or service outages. -* *High*: The recommendations that can improve the performance, reliability, or cost efficiency of your Azure resources. They should be addressed in a timely manner to optimize your Azure deployments. -* *Medium*: The recommendations that can enhance the operational excellence or user experience of your Azure resources. They should be considered and implemented if they align with your business goals and requirements. -* *Low*: The recommendations that can provide extra benefits or insights for your Azure resources. They should be reviewed and implemented if they're relevant and feasible for your scenario. -* *Informational*: The recommendations that can help you learn more about the features and capabilities of Azure. They don't require any action, but they can help you discover new ways to use Azure. --### Accept recommendations --You must accept recommendations for your engineering team to start implementation. When a review recommendation is accepted, it becomes available under the Advisor **Reliability** page where it can be acted on. --From a review recommendations details page: --1. You can accept a single recommendation by clicking **Accept**. -1. You can accept multiple recommendations at a time by selecting them using the checkbox control and clicking **Accept**. -1. Accepted recommendations are moved to the **Accepted** tab and become visible to your engineering team under **Recommendations** > **Reliability**. -1. If you accepted a recommendation by mistake, use **Reset** to move it back to the pending state. --### Reject recommendations --1. You can reject a recommendation if you disagree with it. -1. You must select a reason when you reject a recommendation. Select one of the reasons from the list of available options. -1. The rejected recommendation is moved to the **Rejected** tab. Rejected recommendations aren't visible for your engineering team under **Recommendations** > **Reliability**. -1. You can reject multiple recommendations at a time using the checkbox control, and the same reason for rejection is applied to all selected recommendations. If you need to select a different reason, reject one recommendation at a time. -1. If you reject a recommendation by mistake, select **Reset** to move it back to the pending state and tab. --> [!NOTE] -> The reason for the rejection is visible to your account team. It helps them understand workload context and your business priorities better. Additionally, Microsoft uses this information to improve the quality of recommendations. --## Implement recommendations --Once review recommendations are triaged, all recommendations with *Accepted* status become available on the Advisor **Reliability** page with links to the resources needing action. Typically, an engineer on your team implements the recommendations by going to the resource page and making the recommended change. --For definitions on recommendation states, see [Terminology](#terminology). --### Prerequisites to implement recommendations --For details on permissions to act on recommendations, see [Permissions in Azure Advisor - Azure Advisor | Microsoft Learn](/azure/advisor/permissions). --### Access accepted review recommendations --To view *Accepted* review recommendations, go to **Recommendations** > **Reliability** in the left navigation to open the **Reliability** page at the **Reviews** tab, by default. --The recommendations are grouped by type: --* **Reviews**: These recommendations are part of a review for a selected workload. -* **Automated**: These recommendations are the standard Advisor recommendations for the selected subscriptions. --> [!NOTE] -> If none of your resiliency review recommendations are in the *Accepted* state, the **Reviews** tab is hidden. ---You can filter the recommendations by subscription, priority, and workload, as well as sort the recommendation list. --You can sort recommendations using column headers - *Priority* (Critical, High, Medium, Low, Informational), *Description*, *Impacted resources*, *Review name*, *Potential benefits*, or *Last updated* date. --### View recommendation details --Select a recommendation description to open a details page. Your account team adds the *Description*, *Potential benefits*, and *Notes* when the review is prepared. ---The options in the **Reliability** recommendations detail differ from those in the **Reviews** recommendations detail. Here, a team developer can open the *Impacted subscriptions* link and take direct action. --For details on recommendation priority, see [Recommendation priority](#recommendation-priority). --### Manage recommendation lifecycle --Recommendation status is a valuable indicator for determining what actions need to be taken. --* Once you begin to implement a recommendation, mark it as *In progress*. -* Once the recommendation is implemented, the recommended action is taken, update the status to *Completed*. When all recommendations in a review are marked as *Completed*, the review is marked as *Completed* on the **Review** page. -* You can also postpone the recommendation for action later. -* You can dismiss a recommendation if you don't plan to implement it. If you dismiss the recommendation, you must give a reason, just as you must give a reason if you reject a recommendation in a review. ---## Review maintenance --Your Microsoft account team engineers keep track of the results of your actions on resiliency reviews and continue to refine the recommendation reviews accordingly. --## Next steps --To learn more about Advisor reliability recommendations, see: --[Improve the reliability of your business-critical applications using Azure Advisor](/azure/advisor/advisor-how-to-improve-reliability). --[Reliability recommendations](/azure/advisor/advisor-reference-reliability-recommendations). |
advisor | Advisor Security Recommendations | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-security-recommendations.md | - Title: Make resources more secure with Azure Advisor -description: Use Azure Advisor to help improve the security of your Azure deployments. - Previously updated : 01/29/2019--# Make resources more secure with Azure Advisor --Azure Advisor provides you with a consistent, consolidated view of recommendations for all your Azure resources. It integrates with Microsoft Defender for Cloud to bring you security recommendations. You can get security recommendations from the **Security** tab on the Advisor dashboard. --Defender for Cloud helps you prevent, detect, and respond to threats with increased visibility into and control over the security of your Azure resources. It periodically analyzes the security state of your Azure resources. When Defender for Cloud identifies potential security vulnerabilities, it creates recommendations. The recommendations guide you through the process of configuring the controls you need. --For more information about security recommendations, see [Review your security recommendations in Microsoft Defender for Cloud](/azure/defender-for-cloud/review-security-recommendations). --## How to access Security recommendations in Azure Advisor --1. Sign in to the [Azure portal](https://portal.azure.com), and then open [Advisor](https://aka.ms/azureadvisordashboard). --2. On the Advisor dashboard, click the **Security** tab. --## Next steps --To learn more about Advisor recommendations, see: -* [Introduction to Advisor](advisor-overview.md) -* [Get started with Advisor](advisor-get-started.md) -* [Advisor cost recommendations](advisor-reference-cost-recommendations.md) -* [Advisor performance recommendations](advisor-reference-performance-recommendations.md) -* [Advisor reliability recommendations](advisor-reference-reliability-recommendations.md) -* [Advisor operational excellence recommendations](advisor-reference-operational-excellence-recommendations.md) -* [Advisor REST API](/rest/api/advisor/) |
advisor | Advisor Sovereign Clouds | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-sovereign-clouds.md | - Title: Sovereign cloud feature variations -description: List of feature variations and usage limitations for Advisor in sovereign clouds. - Previously updated : 09/19/2022---# Azure Advisor in sovereign clouds --Azure sovereign clouds enable you to build and digitally transform workloads in the cloud while meeting your security, compliance, and policy requirements. --## Azure Government (United States) --The following Azure Advisor recommendation **features aren't currently available** in Azure Government: --### Cost --- (Preview) Consider App Service stamp fee reserved capacity to save over your on-demand costs.-- (Preview) Consider Azure Data Explorer reserved capacity to save over your pay-as-you-go costs.-- (Preview) Consider Azure Synapse Analytics (formerly SQL DW) reserved capacity to save over your pay-as-you-go costs.-- (Preview) Consider Blob storage reserved capacity to save on Blob v2 and Data Lake Storage Gen2 costs.-- (Preview) Consider Blob storage reserved instance to save on Blob v2 and Data Lake Storage Gen2 costs.-- (Preview) Consider Cache for Redis reserved capacity to save over your pay-as-you-go costs.-- (Preview) Consider Azure Cosmos DB reserved capacity to save over your pay-as-you-go costs.-- (Preview) Consider Database for MariaDB reserved capacity to save over your pay-as-you-go costs.-- (Preview) Consider Database for MySQL reserved capacity to save over your pay-as-you-go costs.-- (Preview) Consider Database for PostgreSQL reserved capacity to save over your pay-as-you-go costs.-- (Preview) Consider SQL DB reserved capacity to save over your pay-as-you-go costs.-- (Preview) Consider SQL PaaS DB reserved capacity to save over your pay-as-you-go costs.-- Consider App Service stamp fee reserved instance to save over your on-demand costs.-- Consider Azure Synapse Analytics (formerly SQL DW) reserved instance to save over your pay-as-you-go costs.-- Consider Cache for Redis reserved instance to save over your pay-as-you-go costs.-- Consider Azure Cosmos DB reserved instance to save over your pay-as-you-go costs.-- Consider Database for MariaDB reserved instance to save over your pay-as-you-go costs.-- Consider Database for MySQL reserved instance to save over your pay-as-you-go costs.-- Consider Database for PostgreSQL reserved instance to save over your pay-as-you-go costs.-- Consider SQL PaaS DB reserved instance to save over your pay-as-you-go costs.--### Operational --- Add Azure Monitor to your virtual machine (VM) labeled as production.-- Delete and recreate your pool using a VM size that will soon be retired.-- Enable Traffic Analytics to view insights into traffic patterns across Azure resources.-- Enforce 'Add or replace a tag on resources' using Azure Policy.-- Enforce 'Allowed locations' using Azure Policy.-- Enforce 'Allowed virtual machine SKUs' using Azure Policy.-- Enforce 'Audit VMs that don't use managed disks' using Azure Policy.-- Enforce 'Inherit a tag from the resource group' using Azure Policy.-- Update Azure Spring Cloud API Version.-- Update your outdated Azure Spring Cloud SDK to the latest version.-- Upgrade to the latest version of the Immersive Reader SDK.--### Performance --- Accelerated Networking may require stopping and starting the VM.-- Arista Networks vEOS Router may experience high CPU utilization, reduced throughput and high latency.-- Barracuda Networks NextGen Firewall may experience high CPU utilization, reduced throughput and high latency.-- Cisco Cloud Services Router 1000V may experience high CPU utilization, reduced throughput and high latency.-- Consider increasing the size of your NVA to address persistent high CPU.-- Distribute data in server group to distribute workload among nodes.-- More than 75% of your queries are full scan queries.-- NetApp Cloud Volumes ONTAP may experience high CPU utilization, reduced throughput and high latency.-- Palo Alto Networks VM-Series Firewall may experience high CPU utilization, reduced throughput and high latency.-- Reads happen on most recent data.-- Rebalance data in Hyperscale (Citus) server group to distribute workload among worker nodes more evenly.-- Update Attestation API Version.-- Update Key Vault SDK Version.-- Update to the latest version of your Arista VEOS product for Accelerated Networking support.-- Update to the latest version of your Barracuda NG Firewall product for Accelerated Networking support.-- Update to the latest version of your Check Point product for Accelerated Networking support.-- Update to the latest version of your Cisco Cloud Services Router 1000V product for Accelerated Networking support.-- Update to the latest version of your F5 BigIp product for Accelerated Networking support.-- Update to the latest version of your NetApp product for Accelerated Networking support.-- Update to the latest version of your Palo Alto Firewall product for Accelerated Networking support.-- Upgrade your ExpressRoute circuit bandwidth to accommodate your bandwidth needs.-- Use SSD Disks for your production workloads.-- vSAN capacity utilization has crossed critical threshold.--### Reliability --- Avoid hostname override to ensure site integrity.-- Check Point Virtual Machine may lose Network Connectivity.-- Drop and recreate your HDInsight clusters to apply critical updates.-- Upgrade device client SDK to a supported version for IotHub.-- Upgrade to the latest version of the Azure Connected Machine agent.--## Right size calculations --The calculation for recommending that you should right-size or shut down underutilized virtual machines in Azure Government is as follows: --- Advisor monitors your virtual machine usage for seven days and identifies low-utilization virtual machines.-- Virtual machines are considered low utilization if their CPU utilization is 5% or less and their network utilization is less than 2%, or if the current workload can be accommodated by a smaller virtual machine size.--If you want to be more aggressive at identifying underutilized virtual machines, you can adjust the CPU utilization rule on a per subscription basis. --## Next steps --For more information about Advisor recommendations, see: --- [Introduction to Azure Advisor](./advisor-overview.md)-- [Reliability recommendations](./advisor-high-availability-recommendations.md)-- [Performance recommendations](./advisor-reference-performance-recommendations.md)-- [Cost recommendations](./advisor-reference-cost-recommendations.md)-- [Operational excellence recommendations](./advisor-reference-operational-excellence-recommendations.md) |
advisor | Advisor Tag Filtering | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-tag-filtering.md | - Title: Review optimization opportunities by workload, environment or team -description: Review optimization opportunities by workload, environment or team -- Previously updated : 05/25/2022---# Review optimization opportunities by workload, environment or team --You can now get Advisor recommendations and scores scoped to a workload, environment, or team using resource tag filters. Filter recommendations and calculate scores using tags you have already assigned to Azure resources, resource groups and subscriptions. Use tag filters to: --* Identify cost saving opportunities by team -* Compare scores for workloads to optimize the critical ones first --> [!TIP] -> For more information on how to use resource tags to organize and govern your Azure resources, please see the [Cloud Adoption FrameworkΓÇÖs guidance](/azure/cloud-adoption-framework/ready/azure-best-practices/resource-tagging) and [Build a cloud governance strategy on Azure](/training/modules/build-cloud-governance-strategy-azure/). --## How to filter recommendations using tags --1. Sign in to the [Azure portal](https://portal.azure.com/). -1. Search for and select [Advisor](https://aka.ms/azureadvisordashboard) from any page. -1. On the Advisor dashboard, click on the **Add Filter** button. -1. Select the tag in the **Filter** field and value(s). -1. Click **Apply**. Summary tiles will be updated to reflect the filter. -1. Click on any of the categories to review recommendations. - - [![Screenshot of the Azure Advisor dashboard that shows count of recommendations after tag filter is applied.](./media/tags/overview-tag-filters.png)](./media/tags/overview-tag-filters.png#lightbox) - - -## How to calculate scores using resource tags --1. Sign in to the [Azure portal](https://portal.azure.com/). -1. Search for and select [Advisor](https://aka.ms/azureadvisordashboard) from any page. -1. Select **Advisor score (preview)** from the navigation menu on the left. -1. Click on the **Add Filter** button. -1. Select the tag in the **Filter** field and value(s). -1. Click **Apply**. Advisor score will be updated to only include resources impacted by the filter. -1. Click on any of the categories to review recommendations. - - [![Screenshot of the Azure Advisor score dashboard that shows score and recommendations after tag filter is applied.](./media/tags/score-tag-filters.png)](./media/tags/score-tag-filters.png#lightbox) --> [!NOTE] -> Not all capabilities are available when tag filters are used. For example, tag filters are not supported for security score and score history. --## Next steps --To learn more about tagging, see: -- [Define your tagging strategy - Cloud Adoption Framework](/azure/cloud-adoption-framework/ready/azure-best-practices/resource-tagging)-- [Tag resources, resource groups, and subscriptions for logical organization - Azure Resource Manager](/azure/azure-resource-manager/management/tag-resources?tabs=json) |
advisor | Azure Advisor Score | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/azure-advisor-score.md | - Title: Use Advisor score -description: Use Azure Advisor score to measure optimization progress. - Previously updated : 07/12/2024----# Use Advisor score --This article shows you how to use Azure Advisor score to measure optimization progress. --## Introduction to score --Advisor provides best-practice recommendations for your workloads. These recommendations are personalized and actionable to help you: --* Improve the posture of your workloads and optimize your Azure deployments. -* Proactively prevent top issues by following best practices. -* Assess your Azure workloads against the five pillars of the [Azure Well-Architected Framework](/azure/architecture/framework/). --As a core feature of Advisor, Advisor score can help you achieve these goals effectively and efficiently. --To get the most out of Azure, it's crucial to understand where you are in your workload optimization journey. You need to know which services or resources are consumed well and which are not. Further, you want to know how to prioritize your actions, based on recommendations, to maximize the outcome. --It's also important to track and report the progress you're making in this optimization journey. With Advisor score, you can easily do all these things with the new gamification experience. --As your personalized cloud consultant, Advisor continually assesses your usage telemetry and resource configuration to check for industry best practices. Advisor then aggregates its findings into a single score. With this score, you can tell at a glance if you're taking the necessary steps to build reliable, secure, and cost-efficient solutions. --The Advisor score consists of an overall score, which can be further broken down into five category scores. One score for each category of Advisor represents the five pillars of the Well-Architected Framework. --You can track the progress you make over time by viewing your overall score and category score with daily, weekly, and monthly trends. You can also set benchmarks to help you achieve your goals. --## Use Advisor score in the portal --1. Sign in to the [Azure portal](https://portal.azure.com). --1. Search for and select [**Advisor**](https://aka.ms/azureadvisordashboard) from any page. --1. Select **Advisor score** on the left pane to open the score page. ---## Interpret an Advisor score --Advisor displays your overall Advisor score and a breakdown for Advisor categories, in percentages. A score of 100% in any category means all your resources assessed by Advisor follow the best practices that Advisor recommends. On the other end of the spectrum, a score of 0% means that none of your resources assessed by Advisor follow Advisor's recommendations. Using these score grains, you can easily achieve the following flow: --* **Advisor score** helps you baseline how your workload or subscriptions are doing based on an Advisor score. You can also see the historical trends to understand what your trend is. -* **Score by category** for each recommendation tells you which outstanding recommendations improve your score the most. These values reflect both the weight of the recommendation and the predicted ease of implementation. These factors help to make sure you can get the most value with your time. They also help you with prioritization. -* **Category score impact** for each recommendation helps you prioritize your remediation actions for each category. --The contribution of each recommendation to your category score is shown clearly on the **Advisor score** page in the Azure portal. You can increase each category score by the percentage point listed in the **Potential score increase** column. This value reflects both the weight of the recommendation within the category and the predicted ease of implementation to address the potentially easiest tasks. Focusing on the recommendations with the greatest score impact helps you make the most progress with time. --![Screenshot that shows the Advisor score impact.](https://user-images.githubusercontent.com/41593141/195171044-6a45fa99-a291-49f3-8914-2b596771e63b.png) --If any Advisor recommendations aren't relevant for an individual resource, you can postpone or dismiss those recommendations. They're excluded from the score calculation with the next refresh. Advisor also uses this input as feedback to improve the model. --## How is an Advisor score calculated? --Advisor displays your category scores and your overall Advisor score as percentages. A score of 100% in any category means all your resources, *assessed by Advisor*, follow the best practices that Advisor recommends. On the other end of the spectrum, a score of 0% means that none of your resources, assessed by Advisor, follows Advisor recommendations. --**Each of the five categories has a highest potential score of 100.** Your overall Advisor score is calculated as a sum of each applicable category score, divided by the sum of the highest potential score from all applicable categories. In most cases, this means adding up five Advisor scores for each category and dividing by 500. But *each category score is calculated only if you use resources that are assessed by Advisor*. --### Advisor score calculation example --* **Single subscription score:** This example is the simple mean of all Advisor category scores for your subscription. If the Advisor category scores are **Cost** = 73, **Reliability** = 85, **Operational excellence** = 77, and **Performance** = 100, the Advisor score would be (73 + 85 + 77 + 100)/(4x100) = 0.84% or 84%. -* **Multiple subscriptions score:** When multiple subscriptions are selected, the overall Advisor score is calculated as an average of aggregated category scores. Each category score is calculated by using the individual subscription score and the subscription consumption-based weight. The overall score is calculated as the sum of aggregated category scores divided by the sum of the highest potential scores. --### Scoring methodology --The calculation of the Advisor score can be summarized in four steps: --1. Advisor calculates the *retail cost of impacted resources*. These resources are the ones in your subscriptions that have at least one recommendation in Advisor. -1. Advisor calculates the *retail cost of assessed resources*. These resources are the ones monitored by Advisor, whether they have any recommendations or not. -1. For each recommendation type, Advisor calculates the *healthy resource ratio*. This ratio is the retail cost of impacted resources divided by the retail cost of assessed resources. -1. Advisor applies three other weights to the healthy resource ratio in each category: -- * Recommendations with greater impact are weighted heavier than recommendations with lower impact. - * Resources with long-standing recommendations count more against your score. - * Resources that you postpone or dismiss in Advisor are removed from your score calculation entirely. --Advisor applies this model at an Advisor category level to give an Advisor score for each category. **Security** uses a [secure score](/azure/defender-for-cloud/secure-score-security-controls) model. A simple average produces the final Advisor score. --## Frequently asked questions (FAQs) --Here are answers to common questions about Advisor score. --### How often is my score refreshed? --Your score is refreshed at least once per day. --### Why did my score change? --Your score can change if you remediate impacted resources by adopting the best practices that Advisor recommends. If you or anyone with permissions on your subscription has modified or created new resources, you might also see fluctuations in your score. Your score is based on a ratio of the cost-impacted resources relative to the total cost of all resources. --### I implemented a recommendation but my score didn't change. Why didn't the score increase? --The score doesn't reflect adopted recommendations right away. It takes at least 24 hours for the score to change after the recommendation is remediated. --### Why do some recommendations have the empty "-" value in the category score impact column? --Advisor doesn't immediately include new recommendations or recommendations with recent changes in the scoring model. After a short evaluation period, typically a few weeks, they're included in the score. --### Why is the cost score impact greater for some recommendations even if they have lower potential savings? --Your **Cost** score reflects both your potential savings from underutilized resources and the predicted ease of implementing those recommendations. For example, extra weight is applied to impacted resources that have been idle for a long time, even if the potential savings are lower. --### What does it mean when I see "Coming soon" in the score impact column? --This message means that the recommendation is new, and we're working on bringing it to the Advisor score model. After this new recommendation is considered in a score calculation, you'll see the score impact value for your recommendation. --### What if a recommendation isn't relevant? --If you dismiss a recommendation from Advisor, it's excluded from the calculation of your score. Dismissing recommendations also helps Advisor improve the quality of recommendations. --### Why don't I have a score for one or more categories or subscriptions? --Advisor generates a score only for the categories and subscriptions that have resources that are assessed by Advisor. --### How does Advisor calculate the retail cost of resources on a subscription? --Advisor uses the pay-as-you-go rates published on [Azure pricing](https://azure.microsoft.com/pricing/). These rates don't reflect any applicable discounts. The rates are then multiplied by the quantity of usage on the last day the resource was allocated. Omitting discounts from the calculation of the resource cost makes Advisor scores comparable across subscriptions, tenants, and enrollments where discounts might vary. --### Do I need to view the recommendations in Advisor to get points for my score? --No. Your score reflects whether you adopt best practices that Advisor recommends, even if you adopt those best practices proactively and never view your recommendations in Advisor. --### Does the scoring methodology differentiate between production and dev-test workloads? --No, not for now. But you can dismiss recommendations on individual resources if those resources are used for development and test and the recommendations don't apply. --### Can I compare scores between a subscription with 100 resources and a subscription with 100,000 resources? --The scoring methodology is designed to control for the number of resources on a subscription and service mix. Subscriptions with fewer resources can have higher or lower scores than subscriptions with more resources. --### Does my score depend on how much I spend on Azure? --No. Your score isn't necessarily a reflection of how much you spend. Unnecessary spending results in a lower **Cost** score. --## Related content --For more information about Advisor recommendations, see: --* [Introduction to Advisor](advisor-overview.md) -* [Get started with Advisor](advisor-get-started.md) -* [Advisor cost recommendations](advisor-cost-recommendations.md) -* [Advisor performance recommendations](advisor-performance-recommendations.md) -* [Advisor security recommendations](advisor-security-recommendations.md) -* [Advisor operational excellence recommendations](advisor-operational-excellence-recommendations.md) |
advisor | Permissions | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/permissions.md | - Title: Roles and permissions -description: Learn about Advisor permissions, how to manage access to Advisor recommendations and reviews. - Previously updated : 08/22/2024---# Roles and permissions --Learn how to manage access to recommendations and reviews for your organization. --## Roles and associated access --Advisor uses the built-in roles provided by Azure role-based access control (Azure RBAC). --Review the following section to learn more about each role and the associated access. --### Roles to view, dismiss, and postpone recommendations --| Role | View recommendations | Dismiss and postpone recommendations | -|:|: |: | -| Subscription Reader | X | | -| Subscription Contributor | X | X | -| Subscription Owner | X | X | -| Resource group Reader | X | | -| Resource group Contributor | X | X | -| Resource group Owner | X | X | -| Resource Reader | X | | -| Resource Contributor | X | X | -| Resource Owner | X | X | --### Roles to edit rules and configurations --| Role | Edit rules | Edit subscription configuration | Edit resource group configuration | -|:|: |: |: | -| Subscription Contributor | X | X | X | -| Subscription Owner | X | X | X | -| Resource group Contributor | | | X | -| Resource group Owner | | | X | --> [!NOTE] -> You must have access to the resource associated with the recommendation to view a recommendation. --To learn more about built-in roles, see [Azure built-in roles](/azure/role-based-access-control/built-in-roles "Azure built-in roles | Azure RBAC | Microsoft Learn"). To learn more about Azure role-based access control (Azure RBAC), see [What is Azure role-based access control (Azure RBAC)?](/azure/role-based-access-control/overview "What is Azure role-based access control (Azure RBAC)? | Azure RBAC | Microsoft Learn"). ----## Available actions to build custom roles --If your organization requires roles that don't match the Azure built-in roles, create your own custom role. A custom role works like a built-in role and allow you to assign it to users, groups, and service principals at management group, subscription, and resource group scopes. Use the following actions to create your custom role. --| Action | Details | -|: |: | -| `Microsoft.Advisor/generateRecommendations/action` | Create a Recommendation. | -| `Microsoft.Advisor/register/action` | Register with the Provider. | -| `Microsoft.Advisor/unregister/action` | Unregister with the Provider. | -| `Microsoft.Advisor/advisorScore/read` | Gets Advisor score. | -| `Microsoft.Advisor/configurations/read` | Read Configurations. | -| `Microsoft.Advisor/configurations/write` | Create or update Configuration. | -| `Microsoft.Advisor/generateRecommendations/read` | Get status of `generateRecommendations` action. | -| `Microsoft.Advisor/metadata/read` | Read Metadata. | -| `Microsoft.Advisor/operations/read` | Get operations. | -| `Microsoft.Advisor/recommendations/read` | Read recommendations. | -| `Microsoft.Advisor/recommendations/write` | Create recommendations. | -| `Microsoft.Advisor/recommendations/available/action` | New recommendation is available. | -| `Microsoft.Advisor/recommendations/suppressions/read` | Read Suppressions. | -| `Microsoft.Advisor/recommendations/suppressions/write` | Create or update Suppressions. | -| `Microsoft.Advisor/recommendations/suppressions/delete` | Delete Suppression. | -| `Microsoft.Advisor/suppressions/read` | Read Suppressions. | -| `Microsoft.Advisor/suppressions/write` | Create or update Suppressions. | -| `Microsoft.Advisor/suppressions/delete` | Delete Suppression. | -| `Microsoft.Advisor/assessmentTypes/read` | Reads `AssessmentTypes`. | -| `Microsoft.Advisor/assessments/read` | Reads Assessments. | -| `Microsoft.Advisor/assessments/write` | Create Assessments. | -| `Microsoft.Advisor/resiliencyReviews/read` | Reads `resiliencyReviews`. | -| `Microsoft.Advisor/triageRecommendations/read` | Reads `triageRecommendations`. | -| `Microsoft.Advisor/triageRecommendations/approve/action` | Approves `triageRecommendations`. | -| `Microsoft.Advisor/triageRecommendations/reject/action` | Rejects `triageRecommendations`. | -| `Microsoft.Advisor/triageRecommendations/reset/action` | Resets `triageRecommendations`. | -| `Microsoft.Advisor/workloads/read` | Reads workloads. | --> [!NOTE] -> For example, you must have a sufficient permission level for a virtual machine (VM) to view recommendations associated with the VM. --To learn more about custom roles, see [Azure custom roles](/azure/role-based-access-control/custom-roles "Azure custom roles | Azure RBAC | Microsoft Learn"). --## Permissions and unavailable actions --If your permission level is too low, your access to the associated action is blocked. Review common problems in the following section. --### Configure subscription or resource group is blocked --When you try to configure a subscription or resource group, the option to include or exclude is blocked. The blocked status indicates that your permission level for that resource group or subscription is insufficient. To learn how to change your permission level, see [Tutorial: Grant a user access to Azure resources using the Azure portal](/azure/role-based-access-control/quickstart-assign-role-user-portal "Tutorial: Grant a user access to Azure resources using the Azure portal | Azure RBAC | Microsoft Learn"). --### Postpone or dismiss is allowed, but sends an error --When you try to postpone or dismiss a recommendation, you receive an error. The error indicates that your permission level is insufficient. You must have a sufficient permission level to dismiss recommendations. --> [!TIP] -> After you dismiss a recommendation, you must manually reactivate it before it is added in your list of recommendations. If you dismiss a recommendation, you may miss important advice that optimizes your Azure deployment. --To postpone or dismiss a recommendation, verify that your permission level for the resource associated with the recommendation is set to Contributor or better. To learn how to change your permission level, see [Tutorial: Grant a user access to Azure resources using the Azure portal](/azure/role-based-access-control/quickstart-assign-role-user-portal "Tutorial: Grant a user access to Azure resources using the Azure portal | Azure RBAC | Microsoft Learn"). --## Related content --This article provided an overview of how Advisor uses Azure role-based access control (Azure RBAC) to control user permissions and how to resolve common problems. To learn more about Advisor, see the following articles. --* [Introduction to Azure Advisor](./advisor-overview.md "Introduction to Azure Advisor | Azure Advisor | Microsoft Learn") --* [Azure Advisor portal basics](./advisor-get-started.md "Azure Advisor portal basics | Azure Advisor | Microsoft Learn") |
advisor | Resource Graph Samples | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/resource-graph-samples.md | - Title: Azure Resource Graph sample queries for Azure Advisor -description: Sample Azure Resource Graph queries for Azure Advisor showing use of resource types and tables to access Azure Advisor related resources and properties. Previously updated : 07/07/2022----# Azure Resource Graph sample queries for Azure Advisor --This page is a collection of [Azure Resource Graph](../governance/resource-graph/overview.md) sample queries for Azure Advisor. --## Sample queries ---## Next steps --- Learn more about the [query language](../governance/resource-graph/concepts/query-language.md).-- Learn more about how to [explore resources](../governance/resource-graph/concepts/explore-resources.md). |
advisor | View Recommendations | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/view-recommendations.md | - Title: Configure Azure Advisor recommendations view -description: View and filter Azure Advisor recommendations to reduce noise. - Previously updated : 01/02/2024---# Configure the Azure Advisor recommendations view --Azure Advisor provides recommendations to help you optimize your Azure deployments. Within Advisor, you have access to a few features that help you narrow down your recommendations to only the ones that matter to you. --## Configure subscriptions and resource groups --Advisor gives you the ability to select subscriptions and resource groups that matter to you and your organization. You only see recommendations for the subscriptions and resource groups that you select. By default, all are selected. Configuration settings apply to the subscription or resource group, so the same settings apply to everyone that has access to that subscription or resource group. Configuration settings can be changed in the Azure portal or programmatically. --To make changes in the Azure portal: --1. Open [Azure Advisor](https://aka.ms/azureadvisordashboard) in the Azure portal. --1. Select **Configuration** from the menu. -- :::image type="content" source="./media/view-recommendations/configuration.png" alt-text="Screenshot of Azure Advisor showing the Configuration pane."::: --1. Select the checkbox in the **Include** column for any subscriptions or resource groups to receive Advisor recommendations. If the box is disabled, you might not have permission to make a configuration change on that subscription or resource group. Learn more about [permissions in Azure Advisor](permissions.md). --1. Select **Apply** at the bottom after you make a change. --## Filter your view in the Azure portal --Configuration settings remain active until changed. If you want to limit the view of recommendations for a single viewing, you can use the dropdown lists provided at the top of the Advisor pane. You can filter recommendations by subscription, resource group, workload, resource type, recommendation status, and impact. These filters are available for **Overview**, **Score**, **Cost**, **Security**, **Reliability**, **Operational excellence**, **Performance**, and **All recommendations** pages. -- :::image type="content" source="./media/view-recommendations/filtering.png" alt-text="Screenshot of Advisor showing filtering options."::: --> [!NOTE] -> Contact your account team to add new workloads to the workload filter or edit workload names. --## Dismiss and postpone recommendations --Advisor allows you to dismiss or postpone recommendations on a single resource. If you dismiss a recommendation, you don't see it again unless you manually activate it. However, postponing a recommendation allows you to specify a duration after which the recommendation is automatically activated again. Postponing can be done in the Azure portal or programmatically. --### Postpone a single recommendation in the Azure portal --1. Open [Azure Advisor](https://aka.ms/azureadvisordashboard) in the Azure portal. -1. Select a recommendation category to view your recommendations. -1. Select a recommendation from the list of recommendations. -1. Select **Postpone** or **Dismiss** for the recommendation you want to postpone or dismiss. -- :::image type="content" source="./media/view-recommendations/postpone-dismiss.png" alt-text="Screenshot that shows the Use Managed Disks page with the Select column and Postpone and Dismiss actions for a single recommendation highlighted."::: --### Postpone or dismiss multiple recommendations in the Azure portal --1. Open [Azure Advisor](https://aka.ms/azureadvisordashboard) in the Azure portal. -1. Select a recommendation category to view your recommendations. -1. Select a recommendation from the list of recommendations. -1. Select the checkbox at the left of the row for all resources you want to postpone or dismiss the recommendation. -1. Select **Postpone** or **Dismiss** in the upper-left corner of the table. -- :::image type="content" source="./media/view-recommendations/postpone-dismiss-multiple.png" alt-text="Screenshot that shows the Use Managed Disks page with the Select column and Postpone and Dismiss actions in the table highlighted."::: --> [!NOTE] -> You need Contributor or Owner permission to dismiss or postpone a recommendation. Learn more about permissions in Advisor. --If the selection boxes are disabled, recommendations might still be loading. Wait for all recommendations to load before you try to postpone or dismiss. --### Reactivate a postponed or dismissed recommendation --You can activate a recommendation that was postponed or dismissed. This action can be done in the Azure portal or programmatically. In the Azure portal: --1. Open [Advisor](https://aka.ms/azureadvisordashboard) in the Azure portal. --1. Change the filter on the **Overview** pane to **Postponed**. Advisor then displays postponed or dismissed recommendations. -- :::image type="content" source="./media/view-recommendations/activate-postponed.png" alt-text="Screenshot that shows the Advisor pane with the Postponed dropdown menu selected."::: --1. Select a category to see **Postponed** and **Dismissed** recommendations. --1. Select a recommendation from the list of recommendations. This action opens recommendations with the **Postponed & Dismissed** tab already selected to show the resources for which this recommendation was postponed or dismissed. --1. Select **Activate** at the end of the row. The recommendation is now active for that resource and removed from the table. The recommendation is visible on the **Active** tab. -- :::image type="content" source="./media/view-recommendations/activate-postponed-2.png" alt-text="Screenshot that shows the Enable Soft Delete pane with the Postponed & Dismissed tab and the Activate action highlighted."::: --## Related content --This article explains how you can view recommendations that matter to you in Advisor. To learn more about Advisor, see: --- [What is Azure Advisor?](advisor-overview.md)-- [Get started with Advisor](advisor-get-started.md)-- [Permissions in Azure Advisor](permissions.md) |
api-management | Api Management Gateways Overview | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-gateways-overview.md | For details about monitoring options, see [Observability in Azure API Management | [Request tracing](api-management-howto-api-inspector.md) | ✔️ | ❌<sup>4</sup> | ✔️ | ✔️ | ❌ | <sup>1</sup> The v2 tiers support Azure Monitor-based analytics.<br/>-<sup>2</sup> Gateway uses [Azure Application Insight's built-in memory buffer](./../azure-monitor/app/telemetry-channels.md#built-in-telemetry-channels) and does not provide delivery guarantees.<br/> +<sup>2</sup> Gateway uses [Azure Application Insight's built-in memory buffer](/azure/azure-monitor/app/telemetry-channels#built-in-telemetry-channels) and does not provide delivery guarantees.<br/> <sup>3</sup> The self-hosted gateway currently doesn't send resource logs (diagnostic logs) to Azure Monitor. Optionally [send metrics](how-to-configure-cloud-metrics-logs.md) to Azure Monitor, or [configure and persist logs locally](how-to-configure-local-metrics-logs.md) where the self-hosted gateway is deployed.<br/> <sup>4</sup> Tracing is currently unavailable in the v2 tiers. |
api-management | Api Management Howto App Insights | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-howto-app-insights.md | You can easily integrate Azure Application Insights with Azure API Management. A > In an API Management [workspace](workspaces-overview.md), a workspace owner can independently integrate Application Insights and enable Application Insights logging for the workspace's APIs. The general guidance to integrate a workspace with Application Insights is similar to the guidance for an API Management instance; however, configuration is scoped to the workspace only. Currently, you must integrate Application Insights in a workspace by configuring a connection string (recommended) or an instrumentation key. > [!WARNING]-> When using our [self-hosted gateway](self-hosted-gateway-overview.md), we do not guarantee all telemetry will be pushed to Azure Application Insights given it relies on [Application Insights' in-memory buffering](./../azure-monitor/app/telemetry-channels.md#built-in-telemetry-channels). +> When using our [self-hosted gateway](self-hosted-gateway-overview.md), we do not guarantee all telemetry will be pushed to Azure Application Insights given it relies on [Application Insights' in-memory buffering](/azure/azure-monitor/app/telemetry-channels#built-in-telemetry-channels). ## Prerequisites * You need an Azure API Management instance. [Create one](get-started-create-service-instance.md) first. -* To use Application Insights, [create an instance of the Application Insights service](/previous-versions/azure/azure-monitor/app/create-new-resource). To create an instance using the Azure portal, see [Workspace-based Application Insights resources](../azure-monitor/app/create-workspace-resource.md). +* To use Application Insights, [create an instance of the Application Insights service](/previous-versions/azure/azure-monitor/app/create-new-resource). To create an instance using the Azure portal, see [Workspace-based Application Insights resources](/azure/azure-monitor/app/create-workspace-resource). > [!NOTE] > The Application Insights resource **can be** in a different subscription or even a different tenant than the API Management resource. The following are high level steps for this scenario. You can create a connection between Application Insights and your API Management using the Azure portal, the REST API, or related Azure tools. API Management configures a *logger* resource for the connection. > [!IMPORTANT]- > Currently, in the portal, API Management only supports connections to Application Insights using an Application Insights instrumentation key. For enhanced security, we recommend using an Application Insights connection string with an API Management managed identity. To configure connection string with managed identity credentials, use the [REST API](#create-a-connection-using-the-rest-api-bicep-or-arm-template) or related tools as shown in a later section of this article. [Learn more](../azure-monitor/app/sdk-connection-string.md) about Application Insights connection strings. + > Currently, in the portal, API Management only supports connections to Application Insights using an Application Insights instrumentation key. For enhanced security, we recommend using an Application Insights connection string with an API Management managed identity. To configure connection string with managed identity credentials, use the [REST API](#create-a-connection-using-the-rest-api-bicep-or-arm-template) or related tools as shown in a later section of this article. [Learn more](/azure/azure-monitor/app/sdk-connection-string) about Application Insights connection strings. > > [!NOTE] Application Insights receives: | *Trace* | If you configure a [trace](trace-policy.md) policy. <br /> The `severity` setting in the `trace` policy must be equal to or greater than the `verbosity` setting in the Application Insights logging. | > [!NOTE]-> See [Application Insights limits](../azure-monitor/service-limits.md#application-insights) for information about the maximum size and number of metrics and events per Application Insights instance. +> See [Application Insights limits](/azure/azure-monitor/service-limits#application-insights) for information about the maximum size and number of metrics and events per Application Insights instance. ## Emit custom metrics-You can emit [custom metrics](../azure-monitor/essentials/metrics-custom-overview.md) to Application Insights from your API Management instance. API Management emits custom metrics using policies such as [emit-metric](emit-metric-policy.md) and [azure-openai-emit-token-metric](azure-openai-emit-token-metric-policy.md). The following section uses the `emit-metric` policy as an example. +You can emit [custom metrics](/azure/azure-monitor/essentials/metrics-custom-overview) to Application Insights from your API Management instance. API Management emits custom metrics using policies such as [emit-metric](emit-metric-policy.md) and [azure-openai-emit-token-metric](azure-openai-emit-token-metric-policy.md). The following section uses the `emit-metric` policy as an example. > [!NOTE]-> Custom metrics are a [preview feature](../azure-monitor/essentials/metrics-custom-overview.md) of Azure Monitor and subject to [limitations](../azure-monitor/essentials/metrics-custom-overview.md#design-limitations-and-considerations). +> Custom metrics are a [preview feature](/azure/azure-monitor/essentials/metrics-custom-overview) of Azure Monitor and subject to [limitations](/azure/azure-monitor/essentials/metrics-custom-overview#design-limitations-and-considerations). To emit custom metrics, perform the following configuration steps. To emit custom metrics, perform the following configuration steps. ### Limits for custom metrics -Azure Monitor imposes [usage limits](../azure-monitor/essentials/metrics-custom-overview.md#quotas-and-limits) for custom metrics that may affect your ability to emit metrics from API Management. For example, Azure Monitor currently sets a limit of 10 dimension keys per metric, and a limit of 50,000 total active time series per region in a subscription (within a 12 hour period). +Azure Monitor imposes [usage limits](/azure/azure-monitor/essentials/metrics-custom-overview#quotas-and-limits) for custom metrics that may affect your ability to emit metrics from API Management. For example, Azure Monitor currently sets a limit of 10 dimension keys per metric, and a limit of 50,000 total active time series per region in a subscription (within a 12 hour period). These limits have the following implications for configuring custom metrics in API Management: Addressing the issue of telemetry data flow from API Management to Application I ## Related content -+ Learn more about [Azure Application Insights](../azure-monitor/app/app-insights-overview.md). ++ Learn more about [Azure Application Insights](/azure/azure-monitor/app/app-insights-overview). + Consider [logging with Azure Event Hubs](api-management-howto-log-event-hubs.md). + Learn about visualizing data from Application Insights using [Azure Managed Grafana](visualize-using-managed-grafana-dashboard.md) |
api-management | Api Management Howto Autoscale | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-howto-autoscale.md | -An Azure API Management service instance can scale automatically based on a set of rules. This behavior can be enabled and configured through [Azure Monitor autoscale](../azure-monitor/autoscale/autoscale-overview.md#supported-services-for-autoscale). +An Azure API Management service instance can scale automatically based on a set of rules. This behavior can be enabled and configured through [Azure Monitor autoscale](/azure/azure-monitor/autoscale/autoscale-overview#supported-services-for-autoscale). The article walks through the process of configuring autoscale and suggests optimal configuration of autoscale rules. |
api-management | Api Management Howto Use Azure Monitor | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-howto-use-azure-monitor.md | In this tutorial, you learn how to: ## View metrics of your APIs -API Management emits [metrics](../azure-monitor/essentials/data-platform-metrics.md) every minute, giving you near real-time visibility into the state and health of your APIs. The following are the most frequently used metrics. For a list of all available metrics, see [supported metrics](../azure-monitor/essentials/metrics-supported.md#microsoftapimanagementservice). +API Management emits [metrics](/azure/azure-monitor/essentials/data-platform-metrics) every minute, giving you near real-time visibility into the state and health of your APIs. The following are the most frequently used metrics. For a list of all available metrics, see [supported metrics](/azure/azure-monitor/essentials/metrics-supported#microsoftapimanagementservice). * **Capacity** - helps you make decisions about upgrading/downgrading your API Management services. The metric is emitted per minute and reflects the estimated gateway capacity at the time of reporting. The metric ranges from 0-100 calculated based on gateway resources such as CPU and memory utilization and other factors. To access metrics: ## Set up an alert rule -You can receive [alerts](../azure-monitor/alerts/alerts-metric-overview.md) based on metrics and activity logs. In Azure Monitor, [configure an alert rule](../azure-monitor/alerts/alerts-create-new-alert-rule.md) to perform an action when it triggers. Common actions include: +You can receive [alerts](/azure/azure-monitor/alerts/alerts-metric-overview) based on metrics and activity logs. In Azure Monitor, [configure an alert rule](/azure/azure-monitor/alerts/alerts-create-new-alert-rule) to perform an action when it triggers. Common actions include: * Send an email notification * Call a webhook To configure an example alert rule based on a request metric: :::image type="content" source="media/api-management-howto-use-azure-monitor/threshold-1.png" alt-text="Screenshot of configuring alert logic in the portal."::: -1. On the **Actions** tab, select or create one or more *action groups* to notify users about the alert and take an action. For example, create a new action group to send a notification email to `admin@contoso.com`. For detailed steps, see [Create and manage action groups in the Azure portal](../azure-monitor/alerts/action-groups.md). +1. On the **Actions** tab, select or create one or more *action groups* to notify users about the alert and take an action. For example, create a new action group to send a notification email to `admin@contoso.com`. For detailed steps, see [Create and manage action groups in the Azure portal](/azure/azure-monitor/alerts/action-groups). :::image type="content" source="media/api-management-howto-use-azure-monitor/action-details.png" alt-text="Screenshot of configuring notifications for new action group in the portal."::: To configure resource logs: You have several options about where to send the logs and metrics. For example, archive resource logs along with metrics to a storage account, stream them to an event hub, or send them to a Log Analytics workspace. > [!TIP]- > If you select a Log Analytics workspace, you can choose to store the data in the resource-specific ApiManagementGatewayLogs table or store in the general AzureDiagnostics table. We recommend using the resource-specific table for log destinations that support it. [Learn more](../azure-monitor/essentials/resource-logs.md#send-to-log-analytics-workspace) + > If you select a Log Analytics workspace, you can choose to store the data in the resource-specific ApiManagementGatewayLogs table or store in the general AzureDiagnostics table. We recommend using the resource-specific table for log destinations that support it. [Learn more](/azure/azure-monitor/essentials/resource-logs#send-to-log-analytics-workspace) 1. After configuring details for the log destination or destinations, select **Save**. > [!NOTE] > Adding a diagnostic setting object might result in a failure if the [MinApiVersion property](/dotnet/api/microsoft.azure.management.apimanagement.models.apiversionconstraint.minapiversion) of your API Management service is set to any API version higher than 2022-09-01-preview. -For more information, see [Create diagnostic settings to send platform logs and metrics to different destinations](../azure-monitor/essentials/diagnostic-settings.md). +For more information, see [Create diagnostic settings to send platform logs and metrics to different destinations](/azure/azure-monitor/essentials/diagnostic-settings). ## View diagnostic data in Azure Monitor To view the data: :::image type="content" source="media/api-management-howto-use-azure-monitor/logs-menu-item.png" alt-text="Screenshot of Logs item in Monitoring menu in the portal."::: -1. Run queries to view the data. Several [sample queries](../azure-monitor/logs/queries.md) are provided, or run your own. For example, the following query retrieves the most recent 24 hours of data from the ApiManagementGatewayLogs table: +1. Run queries to view the data. Several [sample queries](/azure/azure-monitor/logs/queries) are provided, or run your own. For example, the following query retrieves the most recent 24 hours of data from the ApiManagementGatewayLogs table: ```kusto ApiManagementGatewayLogs To view the data: For more information about using resource logs for API Management, see: -* [Log Analytics tutorial](../azure-monitor/logs/log-analytics-tutorial.md), or try the [Log Analytics demo environment](https://ms.portal.azure.com/#view/Microsoft_OperationsManagementSuite_Workspace/LogsDemo.ReactView). +* [Log Analytics tutorial](/azure/azure-monitor/logs/log-analytics-tutorial), or try the [Log Analytics demo environment](https://ms.portal.azure.com/#view/Microsoft_OperationsManagementSuite_Workspace/LogsDemo.ReactView). -* [Overview of log queries in Azure Monitor](../azure-monitor/logs/log-query-overview.md). +* [Overview of log queries in Azure Monitor](/azure/azure-monitor/logs/log-query-overview). * [API Management resource log schema reference](gateway-log-schema-reference.md). |
api-management | Metrics Retirement Aug 2023 | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/breaking-changes/metrics-retirement-aug-2023.md | The five legacy metrics will no longer be available after 31 August 2023. Update any tools that use the five legacy metrics to use equivalent functionality that is provided through the Requests metric filtered on one or more dimensions. For example, filter Requests on the **GatewayResponseCode** or **GatewayResponseCodeCategory** dimension. > [!NOTE]-> Configure filters on the Requests metric to meet your monitoring and alerting needs. For available dimensions, see [Azure Monitor metrics for API Management](../../azure-monitor/essentials/metrics-supported.md#microsoftapimanagementservice). +> Configure filters on the Requests metric to meet your monitoring and alerting needs. For available dimensions, see [Azure Monitor metrics for API Management](/azure/azure-monitor/essentials/metrics-supported#microsoftapimanagementservice). |Legacy metric |Example replacement with Requests metric| |
api-management | Developer Portal Audit Log Schema Reference | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/developer-portal-audit-log-schema-reference.md | The following fields are logged for each request to the developer portal. ## Related content * [ApiManagementGatewayLogs schema reference](gateway-log-schema-reference.md)-* Learn more about [Common and service-specific schema for Azure Resource Logs](../azure-monitor/essentials/resource-logs-schema.md) +* Learn more about [Common and service-specific schema for Azure Resource Logs](/azure/azure-monitor/essentials/resource-logs-schema) |
api-management | Developer Portal Enable Usage Logs | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/developer-portal-enable-usage-logs.md | To configure a diagnostic setting for developer portal usage logs: 1. **Diagnostic setting name**: Enter a descriptive name. 1. **Category groups**: Optionally make a selection for your scenario. 1. Under **Categories**: Select **Logs related to Developer Portal usage**. Optionally select other categories as needed.- 1. Under **Destination details**, select one or more options and specify details for the destination. For example, archive logs to a storage account or stream them to an event hub. [Learn more](../azure-monitor/essentials/diagnostic-settings.md) + 1. Under **Destination details**, select one or more options and specify details for the destination. For example, archive logs to a storage account or stream them to an event hub. [Learn more](/azure/azure-monitor/essentials/diagnostic-settings) 1. Select **Save**. ## View diagnostic log data If you send logs to a storage account, you can access the data in the Azure port ## Related content -* [Overview of log queries in Azure Monitor](../azure-monitor/logs/log-query-overview.md). +* [Overview of log queries in Azure Monitor](/azure/azure-monitor/logs/log-query-overview). * [Developer portal audit log schema reference](developer-portal-audit-log-schema-reference.md). |
api-management | Diagnostic Logs Reference | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/diagnostic-logs-reference.md | This reference describes settings for API diagnostics logging from an API Manage | Always log errors | boolean | If this setting is enabled, all failures are logged, regardless of the **Sampling** setting. | Log client IP address | boolean | If this setting is enabled, the client IP address for API requests is logged. | | Verbosity | | Specifies the verbosity of the logs and whether custom traces that are configured in [trace](trace-policy.md) policies are logged. <br/><br/>* Error - failed requests, and custom traces of severity `error`<br/>* Information - failed and successful requests, and custom traces of severity `error` and `information`<br/> * Verbose - failed and successful requests, and custom traces of severity `error`, `information`, and `verbose`<br/><br/>Default: Information | -| Correlation protocol | | Specifies the protocol used to correlate telemetry sent by multiple components to Application Insights. Default: Legacy <br/><br/>For information, see [Telemetry correlation in Application Insights](../azure-monitor/app/distributed-tracing-telemetry-correlation.md). | +| Correlation protocol | | Specifies the protocol used to correlate telemetry sent by multiple components to Application Insights. Default: Legacy <br/><br/>For information, see [Telemetry correlation in Application Insights](/azure/azure-monitor/app/distributed-tracing-telemetry-correlation). | | Headers to log | list | Specifies the headers that are logged for requests and responses. Default: no headers are logged. | | Number of payload (body) bytes to log| integer | Specifies the number of initial bytes of the frontend or backend request or response body that are logged. Maximum: 8,192. Default: 0 | | Frontend Request | | Specifies whether and how *frontend requests* (requests incoming to the API Management gateway) are logged.<br/><br/> If this setting is enabled, specify **Headers to log**, **Number of payload bytes to log**, or both. | |
api-management | Emit Metric Policy | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/emit-metric-policy.md | -> * Custom metrics are a [preview feature](../azure-monitor/essentials/metrics-custom-overview.md) of Azure Monitor and subject to [limitations](../azure-monitor/essentials/metrics-custom-overview.md#design-limitations-and-considerations). +> * Custom metrics are a [preview feature](/azure/azure-monitor/essentials/metrics-custom-overview) of Azure Monitor and subject to [limitations](/azure/azure-monitor/essentials/metrics-custom-overview#design-limitations-and-considerations). > * For more information about the API Management data added to Application Insights, see [How to integrate Azure API Management with Azure Application Insights](./api-management-howto-app-insights.md#what-data-is-added-to-application-insights). [!INCLUDE [api-management-policy-generic-alert](../../includes/api-management-policy-generic-alert.md)] |
api-management | Gateway Log Schema Reference | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/gateway-log-schema-reference.md | -This article provides a schema reference for the Azure API Management GatewayLogs resource log. Log entries also include fields in the [top-level common schema](../azure-monitor/essentials/resource-logs-schema.md#top-level-common-schema). +This article provides a schema reference for the Azure API Management GatewayLogs resource log. Log entries also include fields in the [top-level common schema](/azure/azure-monitor/essentials/resource-logs-schema#top-level-common-schema). To enable collection of the resource log in API Management, see [Monitor published APIs](api-management-howto-use-azure-monitor.md#resource-logs). The following properties are logged for each API request. ## Next steps * For information about monitoring APIs in API Management, see [Monitor published APIs](api-management-howto-use-azure-monitor.md)-* Learn more about [Common and service-specific schema for Azure Resource Logs](../azure-monitor/essentials/resource-logs-schema.md) +* Learn more about [Common and service-specific schema for Azure Resource Logs](/azure/azure-monitor/essentials/resource-logs-schema) * [DeveloperPortalAuditLogs schema reference](developer-portal-audit-log-schema-reference.md) |
api-management | How To Configure Cloud Metrics Logs | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/how-to-configure-cloud-metrics-logs.md | The self-hosted gateway currently emits the following metrics through Azure Moni The self-hosted gateway currently does not send [diagnostic logs](./api-management-howto-use-azure-monitor.md#activity-logs) to the cloud. However, it is possible to [configure and persist logs locally](how-to-configure-local-metrics-logs.md) where the self-hosted gateway is deployed. -If a gateway is deployed in [Azure Kubernetes Service](https://azure.microsoft.com/services/kubernetes-service/), you can enable [Azure Monitor for containers](../azure-monitor/containers/container-insights-overview.md) to collect logs from your containers and view them in Log Analytics. +If a gateway is deployed in [Azure Kubernetes Service](https://azure.microsoft.com/services/kubernetes-service/), you can enable [Azure Monitor for containers](/azure/azure-monitor/containers/container-insights-overview) to collect logs from your containers and view them in Log Analytics. ## Next steps |
api-management | How To Configure Local Metrics Logs | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/how-to-configure-local-metrics-logs.md | The self-hosted gateway outputs logs to `stdout` and `stderr` by default. You ca kubectl logs <pod-name> ``` -If your self-hosted gateway is deployed in Azure Kubernetes Service, you can enable [Azure Monitor for containers](../azure-monitor/containers/container-insights-overview.md) to collect `stdout` and `stderr` from your workloads and view the logs in Log Analytics. +If your self-hosted gateway is deployed in Azure Kubernetes Service, you can enable [Azure Monitor for containers](/azure/azure-monitor/containers/container-insights-overview) to collect `stdout` and `stderr` from your workloads and view the logs in Log Analytics. The self-hosted gateway also supports many protocols including `localsyslog`, `rfc5424`, and `journal`. The following table summarizes all the options supported. spec: When configuring to use local syslog on Azure Kubernetes Service, you can choose two ways to explore the logs: -- Use [Syslog collection with Container Insights](./../azure-monitor/containers/container-insights-syslog.md)+- Use [Syslog collection with Container Insights](/azure/azure-monitor/containers/container-insights-syslog) - Connect & explore logs on the worker nodes #### Consuming logs from worker nodes |
api-management | How To Deploy Self Hosted Gateway Azure Arc | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/how-to-deploy-self-hosted-gateway-azure-arc.md | To enable monitoring of the self-hosted gateway, configure the following Log Ana > [!NOTE] > If you haven't enabled Log Analytics: -> 1. Walk through the [Create a Log Analytics workspace](../azure-monitor/logs/quick-create-workspace.md) quickstart. -> 1. Learn where to find the [Log Analytics agent settings](../azure-monitor/agents/log-analytics-agent.md). +> 1. Walk through the [Create a Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace) quickstart. +> 1. Learn where to find the [Log Analytics agent settings](/azure/azure-monitor/agents/log-analytics-agent). ## Next Steps |
api-management | How To Self Hosted Gateway On Kubernetes In Production | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/how-to-self-hosted-gateway-on-kubernetes-in-production.md | Starting with version 2.1.5 or above, the self-hosted gateway provides observabi ## Local logs and metrics The self-hosted gateway sends telemetry to [Azure Monitor](api-management-howto-use-azure-monitor.md) and [Azure Application Insights](api-management-howto-app-insights.md) according to configuration settings in the associated API Management service. When [connectivity to Azure](self-hosted-gateway-overview.md#connectivity-to-azure) is temporarily lost, the flow of telemetry to Azure is interrupted and the data is lost for the duration of the outage. -Consider using [Azure Monitor Container Insights](./../azure-monitor/containers/container-insights-overview.md) to monitor your containers or [setting up local monitoring](how-to-configure-local-metrics-logs.md) to ensure the ability to observe API traffic and prevent telemetry loss during Azure connectivity outages. +Consider using [Azure Monitor Container Insights](/azure/azure-monitor/containers/container-insights-overview) to monitor your containers or [setting up local monitoring](how-to-configure-local-metrics-logs.md) to ensure the ability to observe API traffic and prevent telemetry loss during Azure connectivity outages. ## Namespace Kubernetes [namespaces](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) help with dividing a single cluster among multiple teams, projects, or applications. Namespaces provide a scope for resources and names. They can be associated with a resource quota and access control policies. |
api-management | Howto Use Analytics | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/howto-use-analytics.md | Azure API Management provides analytics for your APIs so that you can analyze th ## About API analytics -* API Management provides analytics using an [Azure Monitor-based dashboard](../azure-monitor/visualize/workbooks-overview.md). The dashboard aggregates data in an Azure Log Analytics workspace. +* API Management provides analytics using an [Azure Monitor-based dashboard](/azure/azure-monitor/visualize/workbooks-overview). The dashboard aggregates data in an Azure Log Analytics workspace. * In the classic API Management service tiers, your API Management instance also includes *legacy built-in analytics* in the Azure portal, and analytics data can be accessed using the API Management REST API. Closely similar data is shown in the Azure Monitor-based dashboard and built-in analytics. If you need to configure one, the following are brief steps to send gateway logs 1. In the left-hand menu, under **Monitoring**, select **Diagnostic settings** > **+ Add diagnostic setting**. 1. Enter a descriptive name for the diagnostic setting. 1. In **Logs**, select **Logs related to ApiManagement Gateway**.-1. In **Destination details**, select **Send to Log Analytics** and select a Log Analytics workspace in the same or a different subscription. If you need to create a workspace, see [Create a Log Analytics workspace](../azure-monitor/logs/quick-create-workspace.md). +1. In **Destination details**, select **Send to Log Analytics** and select a Log Analytics workspace in the same or a different subscription. If you need to create a workspace, see [Create a Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace). 1. Make sure **Resource specific** is selected as the destination table. 1. Select **Save**. |
api-management | Mitigate Owasp Api Threats | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/mitigate-owasp-api-threats.md | More information about this threat: [API10:2019 Insufficient logging and monito * Monitor API traffic with [Azure Monitor](api-management-howto-use-azure-monitor.md). -* Log to [Application Insights](api-management-howto-app-insights.md) for debugging purposes. Correlate [transactions in Application Insights](../azure-monitor/app/search-and-transaction-diagnostics.md?tabs=transaction-diagnostics) between API Management and the backend API to [trace them end-to-end](../azure-monitor/app/correlation.md). +* Log to [Application Insights](api-management-howto-app-insights.md) for debugging purposes. Correlate [transactions in Application Insights](/azure/azure-monitor/app/search-and-transaction-diagnostics?tabs=transaction-diagnostics) between API Management and the backend API to [trace them end-to-end](/azure/azure-monitor/app/correlation). * If needed, forward custom events to [Event Hubs](api-management-howto-log-event-hubs.md). More information about this threat: [API10:2019 Insufficient logging and monito * Use the Azure Activity log for tracking activity in the service. -* Use custom events in [Azure Application Insights](../azure-monitor/app/api-custom-events-metrics.md) and [Azure Monitor](../azure-monitor/app/custom-data-correlation.md) as needed. +* Use custom events in [Azure Application Insights](/azure/azure-monitor/app/api-custom-events-metrics) and [Azure Monitor](/azure/azure-monitor/app/custom-data-correlation) as needed. * Configure [OpenTelemetry](how-to-deploy-self-hosted-gateway-kubernetes-opentelemetry.md#introduction-to-opentelemetry) for [self-hosted gateways](self-hosted-gateway-overview.md) on Kubernetes. |
api-management | Self Hosted Gateway Overview | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/self-hosted-gateway-overview.md | To operate properly, each self-hosted gateway needs outbound connectivity on por | Hostname of Azure Table Storage account | ✔️ | Optional<sup>2</sup> | Account associated with instance (`<table-storage-account-name>.table.core.windows.net`) | | Endpoints for Azure Resource Manager | ✔️ | Optional<sup>3</sup> | Required endpoints are `management.azure.com`. | | Endpoints for Microsoft Entra integration | ✔️ | Optional<sup>4</sup> | Required endpoints are `<region>.login.microsoft.com` and `login.microsoftonline.com`. |-| Endpoints for [Azure Application Insights integration](api-management-howto-app-insights.md) | Optional<sup>5</sup> | Optional<sup>5</sup> | Minimal required endpoints are:<ul><li>`rt.services.visualstudio.com:443`</li><li>`dc.services.visualstudio.com:443`</li><li>`{region}.livediagnostics.monitor.azure.com:443`</li></ul>Learn more in [Azure Monitor docs](../azure-monitor/ip-addresses.md#outgoing-ports) | +| Endpoints for [Azure Application Insights integration](api-management-howto-app-insights.md) | Optional<sup>5</sup> | Optional<sup>5</sup> | Minimal required endpoints are:<ul><li>`rt.services.visualstudio.com:443`</li><li>`dc.services.visualstudio.com:443`</li><li>`{region}.livediagnostics.monitor.azure.com:443`</li></ul>Learn more in [Azure Monitor docs](/azure/azure-monitor/ip-addresses#outgoing-ports) | | Endpoints for [Event Hubs integration](api-management-howto-log-event-hubs.md) | Optional<sup>5</sup> | Optional<sup>5</sup> | Learn more in [Azure Event Hubs docs](../event-hubs/network-security.md) | | Endpoints for [external cache integration](api-management-howto-cache-external.md) | Optional<sup>5</sup> | Optional<sup>5</sup> | This requirement depends on the external cache that is being used | |
api-management | Trace Policy | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/trace-policy.md | +- The policy creates a [Trace](/azure/azure-monitor/app/data-model-complete#trace) telemetry in Application Insights, when [Application Insights integration](./api-management-howto-app-insights.md) is enabled and the `severity` specified in the policy is equal to or greater than the `verbosity` specified in the [diagnostic setting](./diagnostic-logs-reference.md). - The policy adds a property in the log entry when [resource logs](./api-management-howto-use-azure-monitor.md#resource-logs) are enabled and the severity level specified in the policy is at or higher than the verbosity level specified in the [diagnostic setting](./diagnostic-logs-reference.md). - The policy is not affected by Application Insights sampling. All invocations of the policy will be logged. The `trace` policy adds a custom trace into the request tracing output in the te |Name|Description|Required| |-|--|--| | message | A string or expression to be logged. Policy expressions are allowed. | Yes |-| metadata | Adds a custom property to the Application Insights [Trace](../azure-monitor/app/data-model-complete.md#trace) telemetry. | No | +| metadata | Adds a custom property to the Application Insights [Trace](/azure/azure-monitor/app/data-model-complete#trace) telemetry. | No | ### metadata attributes |
api-management | Troubleshoot Response Timeout And Errors | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/troubleshoot-response-timeout-and-errors.md | Client applications calling APIs through your API Management (APIM) service may * Intermittent HTTP 500 errors * Timeout error messages -These symptoms manifest as instances of `BackendConnectionFailure` in your [Azure Monitor resource logs](../azure-monitor/essentials/resource-logs.md). +These symptoms manifest as instances of `BackendConnectionFailure` in your [Azure Monitor resource logs](/azure/azure-monitor/essentials/resource-logs). ## Cause |
api-management | Validate Service Updates | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/validate-service-updates.md | As a first step, ensure that you know about service updates that are expected or * API Management updates are announced on the [API Management GitHub repo](https://github.com/Azure/API-Management/releases). We recommend that you subscribe to receive notifications from this repository to know when update rollouts begin. -* Monitor service updates that are taking place in your API Management instance by using the Azure [Activity log](../azure-monitor/essentials/activity-log.md). The "Scheduled maintenance" event is emitted when an update begins. +* Monitor service updates that are taking place in your API Management instance by using the Azure [Activity log](/azure/azure-monitor/essentials/activity-log). The "Scheduled maintenance" event is emitted when an update begins. :::image type="content" source="media/validate-service-updates/scheduled-maintenance.png" alt-text="Scheduled maintenance event in Activity log"::: - To receive notifications automatically, [set up an alert](../azure-monitor/alerts/alerts-activity-log.md) on the Activity log. + To receive notifications automatically, [set up an alert](/azure/azure-monitor/alerts/alerts-activity-log) on the Activity log. * Updates roll out to regions in the following phases: Azure EUAP regions, followed by West Central US, followed by remaining regions in several later phases. The sequence of regions updated in the later deployment phases differs from service to service. You can expect at least 24 hours between each phase of the production rollout. |
api-management | Virtual Network Reference | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/virtual-network-reference.md | When an API Management service instance is hosted in a VNet, the ports in the fo | * / 443 | Outbound | TCP | VirtualNetwork / AzureKeyVault | **Access to Azure Key Vault** | External & Internal | | * / 5671, 5672, 443 | Outbound | TCP | VirtualNetwork / EventHub | Dependency for [Log to Azure Event Hubs policy](api-management-howto-log-event-hubs.md) and [Azure Monitor](api-management-howto-use-azure-monitor.md) (optional) | External & Internal | | * / 445 | Outbound | TCP | VirtualNetwork / Storage | Dependency on Azure File Share for [GIT](api-management-configuration-repository-git.md) (optional) | External & Internal |-| * / 1886, 443 | Outbound | TCP | VirtualNetwork / AzureMonitor | **Publish [Diagnostics Logs and Metrics](api-management-howto-use-azure-monitor.md), [Resource Health](../service-health/resource-health-overview.md), and [Application Insights](api-management-howto-app-insights.md)** | External & Internal | +| * / 1886, 443 | Outbound | TCP | VirtualNetwork / AzureMonitor | **Publish [Diagnostics Logs and Metrics](api-management-howto-use-azure-monitor.md), [Resource Health](/azure/service-health/resource-health-overview), and [Application Insights](api-management-howto-app-insights.md)** | External & Internal | | * / 6380 | Inbound & Outbound | TCP | VirtualNetwork / VirtualNetwork | Access external Azure Cache for Redis service for [caching](api-management-caching-policies.md) policies between machines (optional) | External & Internal | | * / 6381 - 6383 | Inbound & Outbound | TCP | VirtualNetwork / VirtualNetwork | Access internal Azure Cache for Redis service for [caching](api-management-caching-policies.md) policies between machines (optional) | External & Internal | | * / 4290 | Inbound & Outbound | UDP | VirtualNetwork / VirtualNetwork | Sync Counters for [Rate Limit](rate-limit-policy.md) policies between machines (optional) | External & Internal | When an API Management service instance is hosted in a VNet, the ports in the fo | * / 5671, 5672, 443 | Outbound | TCP | VirtualNetwork / Azure Event Hubs | Dependency for [Log to Azure Event Hubs policy](api-management-howto-log-event-hubs.md) and monitoring agent (optional)| External & Internal | | * / 445 | Outbound | TCP | VirtualNetwork / Storage | Dependency on Azure File Share for [GIT](api-management-configuration-repository-git.md) (optional) | External & Internal | | * / 443, 12000 | Outbound | TCP | VirtualNetwork / AzureCloud | Health and Monitoring Extension & Dependency on Event Grid (if events notification activated) (optional) | External & Internal |-| * / 1886, 443 | Outbound | TCP | VirtualNetwork / AzureMonitor | **Publish [Diagnostics Logs and Metrics](api-management-howto-use-azure-monitor.md), [Resource Health](../service-health/resource-health-overview.md), and [Application Insights](api-management-howto-app-insights.md)** | External & Internal | +| * / 1886, 443 | Outbound | TCP | VirtualNetwork / AzureMonitor | **Publish [Diagnostics Logs and Metrics](api-management-howto-use-azure-monitor.md), [Resource Health](/azure/service-health/resource-health-overview), and [Application Insights](api-management-howto-app-insights.md)** | External & Internal | | * / 6380 | Inbound & Outbound | TCP | VirtualNetwork / VirtualNetwork | Access external Azure Cache for Redis service for [caching](api-management-caching-policies.md) policies between machines (optional) | External & Internal | | * / 6381 - 6383 | Inbound & Outbound | TCP | VirtualNetwork / VirtualNetwork | Access internal Azure Cache for Redis service for [caching](api-management-caching-policies.md) policies between machines (optional) | External & Internal | | * / 4290 | Inbound & Outbound | UDP | VirtualNetwork / VirtualNetwork | Sync Counters for [Rate Limit](rate-limit-policy.md) policies between machines (optional) | External & Internal | Enable publishing the [developer portal](api-management-howto-developer-portal.m You're not required to allow inbound requests from service tag `AzureLoadBalancer` for the Developer SKU, since only one compute unit is deployed behind it. However, inbound connectivity from `AzureLoadBalancer` becomes **critical** when scaling to a higher SKU, such as Premium, because failure of the health probe from load balancer then blocks all inbound access to the control plane and data plane. ## Application Insights - If you enabled [Azure Application Insights](api-management-howto-app-insights.md) monitoring on API Management, allow outbound connectivity to the [telemetry endpoint](../azure-monitor/ip-addresses.md#outgoing-ports) from the VNet. + If you enabled [Azure Application Insights](api-management-howto-app-insights.md) monitoring on API Management, allow outbound connectivity to the [telemetry endpoint](/azure/azure-monitor/ip-addresses#outgoing-ports) from the VNet. ## KMS endpoint |
api-management | Visualize Using Managed Grafana Dashboard | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/visualize-using-managed-grafana-dashboard.md | Review the default visualizations on the dashboard, which will appear similar to ## Next steps * For more information about managing your Grafana dashboard, see the [Grafana docs](https://grafana.com/docs/grafana/v9.0/dashboards/).-* Easily pin log queries and charts from the Azure portal to your Managed Grafana dashboard. For more information, see [Monitor your Azure services in Grafana](../azure-monitor/visualize/grafana-plugin.md#pin-charts-from-the-azure-portal-to-azure-managed-grafana). +* Easily pin log queries and charts from the Azure portal to your Managed Grafana dashboard. For more information, see [Monitor your Azure services in Grafana](/azure/azure-monitor/visualize/grafana-plugin#pin-charts-from-the-azure-portal-to-azure-managed-grafana). |
app-service | App Service Configure Premium Tier | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-configure-premium-tier.md | New-AzAppServicePlan -ResourceGroupName <resource_group_name> ` ## More resources * [Scale up an app in Azure](manage-scale-up.md)-* [Scale instance count manually or automatically](../azure-monitor/autoscale/autoscale-get-started.md) +* [Scale instance count manually or automatically](/azure/azure-monitor/autoscale/autoscale-get-started) * [Tutorial: Run a load test to identify performance bottlenecks in a web app](../load-testing/tutorial-identify-bottlenecks-azure-portal.md) |
app-service | App Service Key Vault References | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-key-vault-references.md | As part of creating the app, attempted mounting of the content share could fail ### Considerations for Application Insights instrumentation -Apps can use the `APPINSIGHTS_INSTRUMENTATIONKEY` or `APPLICATIONINSIGHTS_CONNECTION_STRING` application settings to integrate with [Application Insights](../azure-monitor/app/app-insights-overview.md). The portal experiences for App Service and Azure Functions also use these settings to surface telemetry data from the resource. If these values are referenced from Key Vault, these experiences aren't available, and you instead need to work directly with the Application Insights resource to view the telemetry. However, these values are [not considered secrets](../azure-monitor/app/sdk-connection-string.md#is-the-connection-string-a-secret), so you might alternatively consider configuring them directly instead of using key vault references. +Apps can use the `APPINSIGHTS_INSTRUMENTATIONKEY` or `APPLICATIONINSIGHTS_CONNECTION_STRING` application settings to integrate with [Application Insights](/azure/azure-monitor/app/app-insights-overview). The portal experiences for App Service and Azure Functions also use these settings to surface telemetry data from the resource. If these values are referenced from Key Vault, these experiences aren't available, and you instead need to work directly with the Application Insights resource to view the telemetry. However, these values are [not considered secrets](/azure/azure-monitor/app/sdk-connection-string#is-the-connection-string-a-secret), so you might alternatively consider configuring them directly instead of using key vault references. ### Azure Resource Manager deployment |
app-service | App Service Plan Manage | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-plan-manage.md | You can find **Clone App** in the **Development Tools** section of the menu. To scale up an App Service plan's pricing tier, see [Scale up an app in Azure](manage-scale-up.md). -To scale out an app's instance count, see [Scale instance count manually or automatically](../azure-monitor/autoscale/autoscale-get-started.md). +To scale out an app's instance count, see [Scale instance count manually or automatically](/azure/azure-monitor/autoscale/autoscale-get-started). <a name="delete"></a> |
app-service | App Service Web Nodejs Best Practices And Troubleshoot Guide | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-web-nodejs-best-practices-and-troubleshoot-guide.md | let keepaliveAgent = new Agent({ #### My node application is consuming too much CPU -You may receive a recommendation from Azure App Service on your portal about high cpu consumption. You can also set up monitors to watch for certain [metrics](web-sites-monitor.md). When checking the CPU usage on the [Azure portal Dashboard](../azure-monitor/essentials/metrics-charts.md), check the MAX values for CPU so you donΓÇÖt miss the peak values. +You may receive a recommendation from Azure App Service on your portal about high cpu consumption. You can also set up monitors to watch for certain [metrics](web-sites-monitor.md). When checking the CPU usage on the [Azure portal Dashboard](/azure/azure-monitor/essentials/metrics-charts), check the MAX values for CPU so you donΓÇÖt miss the peak values. If you believe your application is consuming too much CPU and you cannot explain why, you can profile your node application to find out. #### Profiling your node application on Azure App Service with V8-Profiler You can see that 95% of the time was consumed by the WriteConsoleLog function. T ### My node application is consuming too much memory -If your application is consuming too much memory, you see a notice from Azure App Service on your portal about high memory consumption. You can set up monitors to watch for certain [metrics](web-sites-monitor.md). When checking the memory usage on the [Azure portal Dashboard](../azure-monitor/essentials/metrics-charts.md), be sure to check the MAX values for memory so you donΓÇÖt miss the peak values. +If your application is consuming too much memory, you see a notice from Azure App Service on your portal about high memory consumption. You can set up monitors to watch for certain [metrics](web-sites-monitor.md). When checking the memory usage on the [Azure portal Dashboard](/azure/azure-monitor/essentials/metrics-charts), be sure to check the MAX values for memory so you donΓÇÖt miss the peak values. #### Leak detection and Heap Diff for Node.js |
app-service | Configure Language Java Apm | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/configure-language-java-apm.md | This article shows how to connect Java applications deployed on Azure App Servic ## Configure Application Insights -Azure Monitor Application Insights is a cloud native application monitoring service that enables customers to observe failures, bottlenecks, and usage patterns to improve application performance and reduce mean time to resolution (MTTR). With a few clicks or CLI commands, you can enable monitoring for your Node.js or Java apps, autocollecting logs, metrics, and distributed traces, eliminating the need for including an SDK in your app. For more information about the available app settings for configuring the agent, see the [Application Insights documentation](../azure-monitor/app/java-standalone-config.md). +Azure Monitor Application Insights is a cloud native application monitoring service that enables customers to observe failures, bottlenecks, and usage patterns to improve application performance and reduce mean time to resolution (MTTR). With a few clicks or CLI commands, you can enable monitoring for your Node.js or Java apps, autocollecting logs, metrics, and distributed traces, eliminating the need for including an SDK in your app. For more information about the available app settings for configuring the agent, see the [Application Insights documentation](/azure/azure-monitor/app/java-standalone-config). # [Azure portal](#tab/portal) |
app-service | Configure Language Nodejs | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/configure-language-nodejs.md | When deploying Node.js apps on Azure App Service for Linux, you may need to hand ## Monitor with Application Insights -Application Insights allows you to monitor your application's performance, exceptions, and usage without making any code changes. To attach the App Insights agent, go to your web app in the Portal and select **Application Insights** under **Settings**, then select **Turn on Application Insights**. Next, select an existing App Insights resource or create a new one. Finally, select **Apply** at the bottom. To instrument your web app using PowerShell, please see [these instructions](../azure-monitor/app/azure-web-apps-nodejs.md#enable-through-powershell) +Application Insights allows you to monitor your application's performance, exceptions, and usage without making any code changes. To attach the App Insights agent, go to your web app in the Portal and select **Application Insights** under **Settings**, then select **Turn on Application Insights**. Next, select an existing App Insights resource or create a new one. Finally, select **Apply** at the bottom. To instrument your web app using PowerShell, please see [these instructions](/azure/azure-monitor/app/azure-web-apps-nodejs#enable-through-powershell) -This agent will monitor your server-side Node.js application. To monitor your client-side JavaScript, [add the JavaScript SDK to your project](../azure-monitor/app/javascript.md). +This agent will monitor your server-side Node.js application. To monitor your client-side JavaScript, [add the JavaScript SDK to your project](/azure/azure-monitor/app/javascript). -For more information, see the [Application Insights extension release notes](../azure-monitor/app/web-app-extension-release-notes.md). +For more information, see the [Application Insights extension release notes](/azure/azure-monitor/app/web-app-extension-release-notes). ::: zone-end |
app-service | Deploy Staging Slots | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/deploy-staging-slots.md | If you have any problems, see [Troubleshoot swaps](#troubleshoot-swaps). ## Monitor a swap -If the [swap operation](#AboutConfiguration) takes a long time to complete, you can get information on the swap operation in the [activity log](../azure-monitor/essentials/platform-logs-overview.md). +If the [swap operation](#AboutConfiguration) takes a long time to complete, you can get information on the swap operation in the [activity log](/azure/azure-monitor/essentials/platform-logs-overview). # [Azure portal](#tab/portal) |
app-service | Firewall Integration | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/environment/firewall-integration.md | Azure Firewall can send logs to Azure Storage, Event Hubs, or Azure Monitor logs AzureDiagnostics | where msg_s contains "Deny" | where TimeGenerated >= ago(1h) ``` -Integrating your Azure Firewall with Azure Monitor logs is useful when first getting an application working when you aren't aware of all of the application dependencies. You can learn more about Azure Monitor logs from [Analyze log data in Azure Monitor](../../azure-monitor/logs/log-query-overview.md). +Integrating your Azure Firewall with Azure Monitor logs is useful when first getting an application working when you aren't aware of all of the application dependencies. You can learn more about Azure Monitor logs from [Analyze log data in Azure Monitor](/azure/azure-monitor/logs/log-query-overview). <a name="dependencies"></a> ## Configuring third-party firewall with your ASE |
app-service | How To Upgrade Preference | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/environment/how-to-upgrade-preference.md | When an upgrade is available, Azure adds a planned maintenance event in the Serv You can configure alerts to send a message to your email address and/or SMS phone number when an event is generated in Azure Monitor. You can also set up a trigger for your custom Azure Function or Logic App, which allows you to automatically take action on your resources. This action could be to automatically divert the traffic from your App Service Environment in one region that is upgraded to an App Service Environment in another region. Then, you can automatically change the traffic back to normal when an upgrade completes. -To configure alerts for upgrade notifications, select the **Add service health alert** at the top of the dashboard. Learn more about [Azure Monitor Alerts](../../azure-monitor/alerts/alerts-overview.md). This how-to article guides you through [configuring alerts for service health events](../../service-health/alerts-activity-log-service-notifications-portal.md). Finally, you can follow this how-to guide to learn [how to create actions groups](../../azure-monitor/alerts/action-groups.md) that trigger based on the alert. +To configure alerts for upgrade notifications, select the **Add service health alert** at the top of the dashboard. Learn more about [Azure Monitor Alerts](/azure/azure-monitor/alerts/alerts-overview). This how-to article guides you through [configuring alerts for service health events](/azure/service-health/alerts-activity-log-service-notifications-portal). Finally, you can follow this how-to guide to learn [how to create actions groups](/azure/azure-monitor/alerts/action-groups) that trigger based on the alert. ### Send test notifications |
app-service | Using An Ase | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/environment/using-an-ase.md | As a customer, you should monitor the App Service plans and the individual apps Through Azure portal and CLI, you can configure the scale ratio of your frontend servers between 5 and 15 (default 15) App Service plan instances per frontend server. An App Service Environment will always have a minimum of two frontend servers. You can also increase the size of the frontend servers. -The [metrics scope](../../azure-monitor/essentials/metrics-supported.md#microsoftwebhostingenvironmentsmultirolepools) used to monitor the platform infrastructure is called `Microsoft.Web/hostingEnvironments/multiRolePools`. +The [metrics scope](/azure/azure-monitor/essentials/metrics-supported#microsoftwebhostingenvironmentsmultirolepools) used to monitor the platform infrastructure is called `Microsoft.Web/hostingEnvironments/multiRolePools`. You'll see a scope called `Microsoft.Web/hostingEnvironments/workerPools`. The metrics here are only applicable to App Service Environment v1. If you integrate with Log Analytics, you can see the logs by selecting **Logs** **Creating an alert** -To create an alert against your logs, follow the instructions in [Create, view, and manage log alerts using Azure Monitor](../../azure-monitor/alerts/alerts-log.md). In brief: +To create an alert against your logs, follow the instructions in [Create, view, and manage log alerts using Azure Monitor](/azure/azure-monitor/alerts/alerts-log). In brief: * Open the Alerts page in your ASE portal * Select **New alert rule** For more specific examples, use: az find "az appservice ase" [AppDeploy]: ../deploy-local-git.md [ASEWAF]: ./integrate-with-application-gateway.md [AppGW]: ../../web-application-firewall/ag/ag-overview.md-[logalerts]: ../../azure-monitor/alerts/alerts-log.md +[logalerts]: /azure/azure-monitor/alerts/alerts-log |
app-service | Using | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/environment/using.md | If you integrate with Azure Monitor Logs, you can see the logs by selecting **Lo ### Create an alert -To create an alert against your logs, follow the instructions in [Create, view, and manage log alerts by using Azure Monitor](../../azure-monitor/alerts/alerts-log.md). In brief: +To create an alert against your logs, follow the instructions in [Create, view, and manage log alerts by using Azure Monitor](/azure/azure-monitor/alerts/alerts-log). In brief: 1. Open the **Alerts** page in your App Service Environment portal. 1. Select **New alert rule**. To delete: [AppDeploy]: ../deploy-local-git.md [ASEWAF]: ./integrate-with-application-gateway.md [AppGW]: ../../web-application-firewall/ag/ag-overview.md-[logalerts]: ../../azure-monitor/alerts/alerts-log.md +[logalerts]: /azure/azure-monitor/alerts/alerts-log |
app-service | Language Support Policy | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/language-support-policy.md | App Service follows community support timelines for the lifecycle of the runtime End-of-support dates for runtime versions are determined independently by their respective stacks and are outside the control of App Service. App Service sends reminder notifications to subscription owners for upcoming end-of-support runtime versions when they become available for each language. -Roles that receive notifications include account administrators, service administrators, and coadministrators. Contributors, readers, or other roles don't directly receive notifications unless they opt in to receive notification emails, using [Service Health Alerts](../service-health/alerts-activity-log-service-notifications-portal.md). +Roles that receive notifications include account administrators, service administrators, and coadministrators. Contributors, readers, or other roles don't directly receive notifications unless they opt in to receive notification emails, using [Service Health Alerts](/azure/service-health/alerts-activity-log-service-notifications-portal). ## Timelines for language runtime version support |
app-service | Manage Automatic Scaling | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/manage-automatic-scaling.md | -Automatic scaling is a new scale-out option that automatically handles scaling decisions for your web apps and App Service Plans. It's different from the pre-existing **[Azure autoscale](../azure-monitor/autoscale/autoscale-overview.md)**, which lets you define scaling rules based on schedules and resources. With automatic scaling, you can adjust scaling settings to improve your app's performance and avoid cold start issues. The platform prewarms instances to act as a buffer when scaling out, ensuring smooth performance transitions. You're charged per second for every instance, including prewarmed instances. +Automatic scaling is a new scale-out option that automatically handles scaling decisions for your web apps and App Service Plans. It's different from the pre-existing **[Azure autoscale](/azure/azure-monitor/autoscale/autoscale-overview)**, which lets you define scaling rules based on schedules and resources. With automatic scaling, you can adjust scaling settings to improve your app's performance and avoid cold start issues. The platform prewarms instances to act as a buffer when scaling out, ensuring smooth performance transitions. You're charged per second for every instance, including prewarmed instances. A comparison of scale-out and scale in options available on App Service: To disable ARR Affinity cookies: select your App Service app, and under **Settin ## More resources -* [Get started with autoscale in Azure](../azure-monitor/autoscale/autoscale-get-started.md) +* [Get started with autoscale in Azure](/azure/azure-monitor/autoscale/autoscale-get-started) * [Configure PremiumV3 tier for App Service](app-service-configure-premium-tier.md) * [Scale up server capacity](manage-scale-up.md) * [High-density hosting](manage-scale-per-app.md) |
app-service | Manage Backup | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/manage-backup.md | The following table shows which app configurations are restored when you choose |[Managed identities](overview-managed-identity.md)| No | |[Custom domains](app-service-web-tutorial-custom-domain.md)| No | |[TLS/SSL](configure-ssl-bindings.md)| No |-|[Scale out](../azure-monitor/autoscale/autoscale-get-started.md?toc=/azure/app-service/toc.json)| No | +|[Scale out](/azure/azure-monitor/autoscale/autoscale-get-started?toc=/azure/app-service/toc.json)| No | |[Diagnostics with Azure Monitor](troubleshoot-diagnostic-logs.md#send-logs-to-azure-monitor)| No |-|[Alerts and metrics](../azure-monitor/alerts/alerts-classic-portal.md)| No | -|Backup| No | +|[Alerts and Metrics](/azure/azure-monitor/alerts/alerts-classic-portal)| No | +|[Backup](manage-backup.md)| No | |Associated [deployment slots](deploy-staging-slots.md)| No | |Any linked database that [custom backup](#whats-included-in-a-custom-backup) supports| No | |
app-service | Manage Create Arc Environment | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/manage-create-arc-environment.md | az extension add --upgrade --yes --name appservice-kube ## Create a Log Analytics workspace -While a [Log Analytic workspace](../azure-monitor/logs/quick-create-workspace.md) is not required to run App Service in Azure Arc, it's how developers can get application logs for their apps that are running in the Azure Arc-enabled Kubernetes cluster. +While a [Log Analytic workspace](/azure/azure-monitor/logs/quick-create-workspace) is not required to run App Service in Azure Arc, it's how developers can get application logs for their apps that are running in the Azure Arc-enabled Kubernetes cluster. 1. For simplicity, create the workspace now. |
app-service | Manage Scale Up | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/manage-scale-up.md | This article shows you how to scale your app in Azure App Service. There are two * [Scale out](https://en.wikipedia.org/wiki/Scalability#Horizontal_and_vertical_scaling): Increase the number of VM instances that run your app. Basic, Standard and Premium service plans scale out to as many as 3, 10 and 30 instances respectively. [App Service Environments](environment/intro.md) in **Isolated** tier further increases your scale-out count to 100 instances. For more information about scaling out, see- [Scale instance count manually or automatically](../azure-monitor/autoscale/autoscale-get-started.md). There, you find out how + [Scale instance count manually or automatically](/azure/azure-monitor/autoscale/autoscale-get-started). There, you find out how to use autoscaling, which is to scale instance count automatically based on predefined rules and schedules. >[!IMPORTANT] For a table of service limits, quotas, and constraints, and supported features i ## More resources -* [Scale instance count manually or automatically](../azure-monitor/autoscale/autoscale-get-started.md) +* [Scale instance count manually or automatically](/azure/azure-monitor/autoscale/autoscale-get-started) * [Configure Premium V3 tier for App Service](app-service-configure-premium-tier.md) * [Tutorial: Run a load test to identify performance bottlenecks in a web app](../load-testing/tutorial-identify-bottlenecks-azure-portal.md) <!-- LINKS --> |
app-service | Overview Arc Integration | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/overview-arc-integration.md | All applications deployed with Azure App Service on Kubernetes with Azure Arc ar ### What logs are collected? -Logs for both system components and your applications are written to standard output. Both log types can be collected for analysis using standard Kubernetes tools. You can also configure the App Service cluster extension with a [Log Analytics workspace](../azure-monitor/logs/log-analytics-overview.md), and it sends all logs to that workspace. +Logs for both system components and your applications are written to standard output. Both log types can be collected for analysis using standard Kubernetes tools. You can also configure the App Service cluster extension with a [Log Analytics workspace](/azure/azure-monitor/logs/log-analytics-overview), and it sends all logs to that workspace. By default, logs from system components are sent to the Azure team. Application logs aren't sent. You can prevent these logs from being transferred by setting `logProcessor.enabled=false` as an extension configuration setting. This configuration setting will also disable forwarding of application to your Log Analytics workspace. Disabling the log processor might impact time needed for any support cases, and you will be asked to collect logs from standard output through some other means. |
app-service | Overview Diagnostics | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/overview-diagnostics.md | To review tailored best practice recommendations, check out the Resiliency Score ### Investigate application code issues (only for Windows app) -Because many app issues are related to issues in your application code, App Service diagnostics integrates with [Application Insights](../azure-monitor/app/app-insights-overview.md) to highlight exceptions and dependency issues to correlate with the selected downtime. Application Insights has to be enabled separately. +Because many app issues are related to issues in your application code, App Service diagnostics integrates with [Application Insights](/azure/azure-monitor/app/app-insights-overview) to highlight exceptions and dependency issues to correlate with the selected downtime. Application Insights has to be enabled separately. ![Application Insights](./media/app-service-diagnostics/application-insights-7.png) |
app-service | Overview Hosting Plans | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/overview-hosting-plans.md | When you create an app in App Service, it's part of an App Service plan. When th In this way, the App Service plan is the scale unit of the App Service apps. If the plan is configured to run five VM instances, then all apps in the plan run on all five instances. If the plan is configured for autoscaling, then all apps in the plan are scaled out together based on the autoscale settings. -For information on scaling out an app, see [Scale instance count manually or automatically](../azure-monitor/autoscale/autoscale-get-started.md). +For information on scaling out an app, see [Scale instance count manually or automatically](/azure/azure-monitor/autoscale/autoscale-get-started). <a name="cost"></a> |
app-service | Overview Manage Costs | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/overview-manage-costs.md | Depending on which feature you use in App Service, the following cost-accruing r - **Isolated tier** A [Virtual Network](../virtual-network/index.yml) is required for an App Service environment and is charged separately. - **Backup** A [Storage account](../storage/index.yml) is required to make backups and is charged separately.-- **Diagnostic logs** You can select [Storage account](../storage/index.yml) as the logging option, or integrate with [Azure Log Analytics](../azure-monitor/logs/log-analytics-tutorial.md). These services are charged separately.+- **Diagnostic logs** You can select [Storage account](../storage/index.yml) as the logging option, or integrate with [Azure Log Analytics](/azure/azure-monitor/logs/log-analytics-tutorial). These services are charged separately. - **App Service certificates** Certificates you purchase in Azure must be maintained in [Azure Key Vault](/azure/key-vault/), which is charged separately. ### Costs that might accrue after resource deletion Production workloads come with the recommendation of the dedicated **Standard** > [!NOTE] > **Premium V3** supports both Windows containers and Linux containers. -Once you choose the pricing tier you want, you should minimize the idle instances. In a scale-out deployment, you can waste money on underutilized compute instances. You should [configure autoscaling](../azure-monitor/autoscale/autoscale-get-started.md), available in **Standard** tier and higher. By creating scale-out schedules, as well as metric-based scale-out rules, you only pay for the instances you really need at any given time. +Once you choose the pricing tier you want, you should minimize the idle instances. In a scale-out deployment, you can waste money on underutilized compute instances. You should [configure autoscaling](/azure/azure-monitor/autoscale/autoscale-get-started), available in **Standard** tier and higher. By creating scale-out schedules, as well as metric-based scale-out rules, you only pay for the instances you really need at any given time. ### Azure Reservations |
app-service | Overview | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/overview.md | Azure App Service is a fully managed platform as a service (PaaS) offering for d * **Managed production environment** - App Service automatically [patches and maintains the OS and language frameworks](overview-patch-os-runtime.md) for you. Spend time writing great apps and let Azure worry about the platform. * **Containerization and Docker** - Dockerize your app and host a custom Windows or Linux container in App Service. Run sidecar containers of your choice. Migrate your Docker skills directly to App Service. * **DevOps optimization** - Set up [continuous integration and deployment](deploy-continuous-deployment.md) with Azure DevOps, GitHub, BitBucket, Docker Hub, or Azure Container Registry. Promote updates through [test and staging environments](deploy-staging-slots.md). Manage your apps in App Service by using [Azure PowerShell](/powershell/azure/) or the [cross-platform command-line interface (CLI)](/cli/azure/install-azure-cli).-* **Global scale with high availability** - Scale [up](manage-scale-up.md) or [out](../azure-monitor/autoscale/autoscale-get-started.md) manually or automatically. Host your apps anywhere in Microsoft's global datacenter infrastructure, and the App Service [SLA](https://azure.microsoft.com/support/legal/sla/app-service/) promises high availability. +* **Global scale with high availability** - Scale [up](manage-scale-up.md) or [out](/azure/azure-monitor/autoscale/autoscale-get-started) manually or automatically. Host your apps anywhere in Microsoft's global datacenter infrastructure, and the App Service [SLA](https://azure.microsoft.com/support/legal/sla/app-service/) promises high availability. * **Connections to SaaS platforms and on-premises data** - Choose from [many hundreds of connectors](/connectors/connector-reference/connector-reference-logicapps-connectors) for enterprise systems (such as SAP), SaaS services (such as Salesforce), and internet services (such as Facebook). Access on-premises data using [Hybrid Connections](app-service-hybrid-connections.md) and [Azure Virtual Networks](./overview-vnet-integration.md). * **Security and compliance** - App Service is [ISO, SOC, and PCI compliant](https://www.microsoft.com/trust-center). Create [IP address restrictions](app-service-ip-restrictions.md) and [managed service identities](overview-managed-identity.md). [Prevent subdomain takeovers](reference-dangling-subdomain-prevention.md). * **Authentication** - [Authenticate users](overview-authentication-authorization.md) using the built-in authentication component. Authenticate users with [Microsoft Entra ID](configure-authentication-provider-aad.md), [Google](configure-authentication-provider-google.md), [Facebook](configure-authentication-provider-facebook.md), [X](configure-authentication-provider-twitter.md), or [Microsoft account](configure-authentication-provider-microsoft.md). |
app-service | Quickstart Arc | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/quickstart-arc.md | The application logs for all the apps hosted in your Kubernetes cluster are logg **Log_s** contains application logs for a given App Service and **AppName_s** contains the App Service app name. In addition to logs you write via your application code, the Log_s column also contains logs on container startup, shutdown, and Function Apps. -You can learn more about log queries in [getting started with Kusto](../azure-monitor/logs/get-started-queries.md). +You can learn more about log queries in [getting started with Kusto](/azure/azure-monitor/logs/get-started-queries). ## (Optional) Deploy a custom container |
app-service | Troubleshoot Diagnostic Logs | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/troubleshoot-diagnostic-logs.md | When stored in the App Service file system, logs are subject to the available st > [!NOTE] > App Service provides a dedicated, interactive diagnostics tool to help you troubleshoot your application. For more information, see [Azure App Service diagnostics overview](overview-diagnostics.md). >-> In addition, you can use other Azure services, such as [Azure Monitor](../azure-monitor/app/azure-web-apps.md), to improve the logging and monitoring capabilities of your app. +> In addition, you can use other Azure services to improve the logging and monitoring capabilities of your app, such as [Azure Monitor](/azure/azure-monitor/app/azure-web-apps). > ## Enable application logging (Windows) For a list of supported log types and their descriptions, see [Supported resourc ## Networking considerations -For Diagnostic Settings restrictions, refer to the [official Diagnostic Settings documentation regarding destination limits](../azure-monitor/essentials/diagnostic-settings.md#destination-limitations). +For Diagnostic Settings restrictions, refer to the [official Diagnostic Settings documentation regarding destination limits](/azure/azure-monitor/essentials/diagnostic-settings#destination-limitations). ## <a name="nextsteps"></a> Next steps-* [Query logs with Azure Monitor](../azure-monitor/logs/log-query-overview.md) -* [How to Monitor Azure App Service](monitor-app-service.md) +* [Query logs with Azure Monitor](/azure/azure-monitor/logs/log-query-overview) +* [How to Monitor Azure App Service](web-sites-monitor.md) * [Troubleshooting Azure App Service in Visual Studio](troubleshoot-dotnet-visual-studio.md) * [Tutorial: Run a load test to identify performance bottlenecks in a web app](../load-testing/tutorial-identify-bottlenecks-azure-portal.md) |
app-service | Troubleshoot Http 502 Http 503 | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/troubleshoot-http-502-http-503.md | Troubleshooting can be divided into three distinct tasks, in sequential order: ### 1. Observe and monitor application behavior #### Track Service health-Microsoft Azure publicizes each time there is a service interruption or performance degradation. You can track the health of the service on the [Azure Portal](https://portal.azure.com/). For more information, see [Track service health](../service-health/service-notifications.md). +Microsoft Azure publicizes each time there is a service interruption or performance degradation. You can track the health of the service on the [Azure Portal](https://portal.azure.com/). For more information, see [Track service health](/azure/service-health/service-notifications). #### Monitor your app This option enables you to find out if your application is having any issues. In your appΓÇÖs blade, click the **Requests and errors** tile. The **Metric** blade will show you all the metrics you can add. Some of the metrics that you might want to monitor for your app are For more information, see: * [Monitor apps in Azure App Service](web-sites-monitor.md)-* [Receive alert notifications](../azure-monitor/alerts/alerts-overview.md) +* [Receive alert notifications](/azure/azure-monitor/alerts/alerts-overview) <a name="collect"></a> |
app-service | Troubleshoot Performance Degradation | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/troubleshoot-performance-degradation.md | Troubleshooting can be divided into three distinct tasks, in sequential order: ### 1. Observe and monitor application behavior #### Track Service health-Microsoft Azure publicizes each time there is a service interruption or performance degradation. You can track the health of the service on the [Azure portal](https://portal.azure.com/). For more information, see [Track service health](../service-health/service-notifications.md). +Microsoft Azure publicizes each time there is a service interruption or performance degradation. You can track the health of the service on the [Azure portal](https://portal.azure.com/). For more information, see [Track service health](/azure/service-health/service-notifications). #### Monitor your app This option enables you to find out if your application is having any issues. In your appΓÇÖs blade, click the **Requests and errors** tile. The **Metric** blade shows you all the metrics you can add. Some of the metrics that you might want to monitor for your app are For more information, see: * [Monitor apps in Azure App Service](web-sites-monitor.md)-* [Receive alert notifications](../azure-monitor/alerts/alerts-overview.md) +* [Receive alert notifications](/azure/azure-monitor/alerts/alerts-overview) #### Monitor web endpoint status If you are running your app in the **Standard** pricing tier, App Service lets you monitor two endpoints from three geographic locations. Each App Service app provides an extensible management end point that allows you - Source code editors like [Azure DevOps](https://www.visualstudio.com/products/what-is-visual-studio-online-vs.aspx). - Management tools for connected resources such as a MySQL database connected to an app. -[Azure Application Insights](https://azure.microsoft.com/services/application-insights/) is a performance monitoring site extension that's also available. To use Application Insights, you rebuild your code with an SDK. You can also install an extension that provides access to additional data. The SDK lets you write code to monitor the usage and performance of your app in more detail. For more information, see [Monitor performance in web applications](../azure-monitor/app/app-insights-overview.md). +[Azure Application Insights](https://azure.microsoft.com/services/application-insights/) is a performance monitoring site extension that's also available. To use Application Insights, you rebuild your code with an SDK. You can also install an extension that provides access to additional data. The SDK lets you write code to monitor the usage and performance of your app in more detail. For more information, see [Monitor performance in web applications](/azure/azure-monitor/app/app-insights-overview). <a name="collect"></a> You can enable the Application Insights Profiler to start capturing detailed per Application Insights Profiler provides statistics on response time for each web call and traces that indicates which line of code caused the slow responses. Sometimes the App Service app is slow because certain code is not written in a performant way. Examples include sequential code that can be run in parallel and undesired database lock contentions. Removing these bottlenecks in the code increases the app's performance, but they are hard to detect without setting up elaborate traces and logs. The traces collected by Application Insights Profiler helps identifying the lines of code that slows down the application and overcome this challenge for App Service apps. - For more information, see [Profiling live apps in Azure App Service with Application Insights](../azure-monitor/app/profiler.md). + For more information, see [Profiling live apps in Azure App Service with Application Insights](/azure/azure-monitor/app/profiler). ##### Use Remote Profiling In Azure App Service, web apps, API apps, mobile back ends, and WebJobs can be remotely profiled. Choose this option if you have access to the app resource and you know how to reproduce the issue, or if you know the exact time interval the performance issue happens. |
app-service | Tutorial Custom Container Sidecar | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-custom-container-sidecar.md | First you create the resources that the tutorial uses (for more information, see > - A resource group > - A [container registry](../container-registry/container-registry-intro.md) with two images deployed: > - An Nginx image with the OpenTelemetry module.- > - An OpenTelemetry collector image, configured to export to [Azure Monitor](../azure-monitor/overview.md). - > - A [log analytics workspace](../azure-monitor/logs/log-analytics-overview.md) - > - An [Application Insights](../azure-monitor/app/app-insights-overview.md) component + > - An OpenTelemetry collector image, configured to export to [Azure Monitor](/azure/azure-monitor/overview). + > - A [log analytics workspace](/azure/azure-monitor/logs/log-analytics-overview) + > - An [Application Insights](/azure/azure-monitor/app/app-insights-overview) component ## 2. Create a sidecar-enabled app |
app-service | Tutorial Dotnetcore Sqldb App | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-dotnetcore-sqldb-app.md | In the AZD output, find the link to stream App Service logs and navigate to it i Stream App Service logs at: https://portal.azure.com/#@/resource/subscriptions/<subscription-guid>/resourceGroups/<group-name>/providers/Microsoft.Web/sites/<app-name>/logStream </pre> -Learn more about logging in .NET apps in the series on [Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications](../azure-monitor/app/opentelemetry-enable.md?tabs=aspnetcore). +Learn more about logging in .NET apps in the series on [Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications](/azure/azure-monitor/app/opentelemetry-enable?tabs=aspnetcore). Having issues? Check the [Troubleshooting section](#troubleshooting). |
app-service | Tutorial Java Spring Cosmosdb | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-java-spring-cosmosdb.md | Azure App Service captures all messages output to the console to help you diagno :::column-end::: :::row-end::: -Learn more about logging in Java apps in the series on [Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications](../azure-monitor/app/opentelemetry-enable.md?tabs=java). +Learn more about logging in Java apps in the series on [Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications](/azure/azure-monitor/app/opentelemetry-enable?tabs=java). Having issues? Check the [Troubleshooting section](#troubleshooting). In the AZD output, find the link to stream App Service logs and navigate to it i Stream App Service logs at: https://portal.azure.com/#@/resource/subscriptions/<subscription-guid>/resourceGroups/<group-name>/providers/Microsoft.Web/sites/<app-name>/logStream </pre> -Learn more about logging in Java apps in the series on [Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications](../azure-monitor/app/opentelemetry-enable.md?tabs=java). +Learn more about logging in Java apps in the series on [Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications](/azure/azure-monitor/app/opentelemetry-enable?tabs=java). Having issues? Check the [Troubleshooting section](#troubleshooting). |
app-service | Tutorial Java Tomcat Connect Managed Identity Postgresql Database | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-java-tomcat-connect-managed-identity-postgresql-database.md | ms.devlang: java Last updated 06/04/2024 -+ |
app-service | Tutorial Java Tomcat Mysql App | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-java-tomcat-mysql-app.md | Azure App Service captures all messages output to the console to help you diagno :::column-end::: :::row-end::: -Learn more about logging in Java apps in the series on [Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications](../azure-monitor/app/opentelemetry-enable.md?tabs=java). +Learn more about logging in Java apps in the series on [Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications](/azure/azure-monitor/app/opentelemetry-enable?tabs=java). Having issues? Check the [Troubleshooting section](#troubleshooting). In the AZD output, find the link to stream App Service logs and navigate to it i Stream App Service logs at: https://portal.azure.com/#@/resource/subscriptions/<subscription-guid>/resourceGroups/<group-name>/providers/Microsoft.Web/sites/<app-name>/logStream </pre> -Learn more about logging in Java apps in the series on [Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications](../azure-monitor/app/opentelemetry-enable.md?tabs=java). +Learn more about logging in Java apps in the series on [Enable Azure Monitor OpenTelemetry for .NET, Node.js, Python and Java applications](/azure/azure-monitor/app/opentelemetry-enable?tabs=java). Having issues? Check the [Troubleshooting section](#troubleshooting). |
app-service | Tutorial Troubleshoot Monitor | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-troubleshoot-monitor.md | Last updated 06/29/2023 # Tutorial: Troubleshoot an App Service app with Azure Monitor -This tutorial shows how to troubleshoot an [App Service](overview.md) app using [Azure Monitor](../azure-monitor/overview.md). The sample app includes code meant to exhaust memory and cause HTTP 500 errors, so you can diagnose and fix the problem using Azure Monitor. When you're finished, you have a sample app running on App Service on Linux integrated with [Azure Monitor](../azure-monitor/overview.md). +This tutorial shows how to troubleshoot an [App Service](overview.md) app using [Azure Monitor](/azure/azure-monitor/overview). The sample app includes code meant to exhaust memory and cause HTTP 500 errors, so you can diagnose and fix the problem using Azure Monitor. When you're finished, you have a sample app running on App Service on Linux integrated with [Azure Monitor](/azure/azure-monitor/overview). -[Azure Monitor](../azure-monitor/overview.md) maximizes the availability and performance of your applications and services by delivering a comprehensive solution for collecting, analyzing, and acting on telemetry from your cloud and on-premises environments. +[Azure Monitor](/azure/azure-monitor/overview) maximizes the availability and performance of your applications and services by delivering a comprehensive solution for collecting, analyzing, and acting on telemetry from your cloud and on-premises environments. In this tutorial, you learn how to: Diagnostic settings can be used to collect metrics for certain Azure services in You run the following commands to create diagnostic settings for AppServiceConsoleLogs (standard output/error) and AppServiceHTTPLogs (web server logs). Replace _\<app-name>_ and _\<workspace-name>_ with your values. > [!NOTE]-> The first two commands, `resourceID` and `workspaceID`, are variables to be used in the [az monitor diagnostic-settings create](/cli/azure/monitor/diagnostic-settings#az-monitor-diagnostic-settings-create) command. See [Create diagnostic settings using Azure CLI](../azure-monitor/essentials/create-diagnostic-settings.md?tabs=cli) for more information on this command. +> The first two commands, `resourceID` and `workspaceID`, are variables to be used in the [az monitor diagnostic-settings create](/cli/azure/monitor/diagnostic-settings#az-monitor-diagnostic-settings-create) command. See [Create diagnostic settings using Azure CLI](/azure/azure-monitor/essentials/create-diagnostic-settings?tabs=cli) for more information on this command. > ```azurecli In the Azure portal, select your Log Analytics workspace. ### Log queries -Log queries help you to fully apply the value of the data collected in Azure Monitor Logs. You use log queries to identify the logs in both AppServiceHTTPLogs and AppServiceConsoleLogs. See the [log query overview](../azure-monitor/logs/log-query-overview.md) for more information on log queries. +Log queries help you to fully apply the value of the data collected in Azure Monitor Logs. You use log queries to identify the logs in both AppServiceHTTPLogs and AppServiceConsoleLogs. See the [log query overview](/azure/azure-monitor/logs/log-query-overview) for more information on log queries. ### View AppServiceHTTPLogs with log query What you learned: > * Used log queries to identify and troubleshoot web app errors ## <a name="nextsteps"></a> Next steps-* [Query logs with Azure Monitor](../azure-monitor/logs/log-query-overview.md) +* [Query logs with Azure Monitor](/azure/azure-monitor/logs/log-query-overview) * [Troubleshooting Azure App Service in Visual Studio](troubleshoot-dotnet-visual-studio.md) * [Analyze app Logs in HDInsight](/azure/hdinsight/hdinsight-hadoop-oms-log-analytics-tutorial) * [Tutorial: Run a load test to identify performance bottlenecks in a web app](../load-testing/tutorial-identify-bottlenecks-azure-portal.md) |
app-service | Web Sites Monitor | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/web-sites-monitor.md | There are two metrics that reflect CPU usage: **CPU percentage**: Useful for apps hosted in Basic, Standard, and Premium plans, because they can be scaled out. CPU percentage is a good indication of the overall usage across all instances. ## Metrics granularity and retention policy-Metrics for an app and app service plan are logged and aggregated by the service and [retained according to these rules](../azure-monitor/essentials/data-platform-metrics.md#retention-of-metrics). +Metrics for an app and app service plan are logged and aggregated by the service and [retained according to these rules](/azure/azure-monitor/essentials/data-platform-metrics#retention-of-metrics). ## Monitoring quotas and metrics in the Azure portal To review the status of the various quotas and metrics that affect an app, go to the [Azure portal](https://portal.azure.com). You can access metrics directly from the resource **Overview** page. Here you'll Clicking on any of those charts will take you to the metrics view where you can create custom charts, query different metrics and much more. -To learn more about metrics, see [Monitor service metrics](../azure-monitor/data-platform.md). +To learn more about metrics, see [Monitor service metrics](/azure/azure-monitor/data-platform). ## Alerts and autoscale Metrics for an app or an App Service plan can be hooked up to alerts. For more i App Service apps hosted in Basic or higher App Service plans support autoscale. With autoscale, you can configure rules that monitor the App Service plan metrics. Rules can increase or decrease the instance count, which can provide additional resources as needed. Rules can also help you save money when the app is over-provisioned. -For more information about autoscale, see [How to scale](../azure-monitor/autoscale/autoscale-get-started.md) and [Best practices for Azure Monitor autoscaling](../azure-monitor/autoscale/autoscale-best-practices.md). +For more information about autoscale, see [How to scale](/azure/azure-monitor/autoscale/autoscale-get-started) and [Best practices for Azure Monitor autoscaling](/azure/azure-monitor/autoscale/autoscale-best-practices). [fzilla]:https://go.microsoft.com/fwlink/?LinkId=247914 [vmsizes]:https://go.microsoft.com/fwlink/?LinkID=309169 |
app-service | Webjobs Sdk Get Started | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/webjobs-sdk-get-started.md | The connection string is now set in your app in Azure. ## Enable Application Insights logging -When the WebJob runs in Azure, you can't monitor function execution by viewing console output. To be able to monitor your WebJob, you should create an associated [Application Insights](../azure-monitor/app/app-insights-overview.md) instance when you publish your project. +When the WebJob runs in Azure, you can't monitor function execution by viewing console output. To be able to monitor your WebJob, you should create an associated [Application Insights](/azure/azure-monitor/app/app-insights-overview) instance when you publish your project. ### Create an Application Insights instance When the WebJob runs in Azure, you can't monitor function execution by viewing c 1. Under **Settings**, choose **Configuration** and verify that a new `APPINSIGHTS_INSTRUMENTATIONKEY` was created. This key is used to connect your WebJob instance to Application Insights. -To take advantage of [Application Insights](../azure-monitor/app/app-insights-overview.md) logging, you need to update your logging code as well. +To take advantage of [Application Insights](/azure/azure-monitor/app/app-insights-overview) logging, you need to update your logging code as well. ### Install the Application Insights extension |
app-service | Webjobs Sdk How To | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/webjobs-sdk-how-to.md | config.LoggerFactory = new LoggerFactory() ### Custom telemetry for Application Insights -The process for implementing custom telemetry for [Application Insights](../azure-monitor/app/app-insights-overview.md) depends on the SDK version. To learn how to configure Application Insights, see [Add Application Insights logging](webjobs-sdk-get-started.md#enable-application-insights-logging). +The process for implementing custom telemetry for [Application Insights](/azure/azure-monitor/app/app-insights-overview) depends on the SDK version. To learn how to configure Application Insights, see [Add Application Insights logging](webjobs-sdk-get-started.md#enable-application-insights-logging). #### Version 3.*x* static async Task Main() } ``` -When the [`TelemetryConfiguration`] is constructed, all registered types of [`ITelemetryInitializer`] are included. To learn more, see [Application Insights API for custom events and metrics](../azure-monitor/app/api-custom-events-metrics.md). +When the [`TelemetryConfiguration`] is constructed, all registered types of [`ITelemetryInitializer`] are included. To learn more, see [Application Insights API for custom events and metrics](/azure/azure-monitor/app/api-custom-events-metrics). In version 3.*x*, you no longer have to flush the [`TelemetryClient`] when the host stops. The .NET Core dependency injection system automatically disposes of the registered `ApplicationInsightsLoggerProvider`, which flushes the [`TelemetryClient`]. private class CustomTelemetryClientFactory : DefaultTelemetryClientFactory } ``` -The `SamplingPercentageEstimatorSettings` object configures [adaptive sampling](../azure-monitor/app/sampling.md). This means that in certain high-volume scenarios, Applications Insights sends a selected subset of telemetry data to the server. +The `SamplingPercentageEstimatorSettings` object configures [adaptive sampling](/azure/azure-monitor/app/sampling). This means that in certain high-volume scenarios, Applications Insights sends a selected subset of telemetry data to the server. After you create the telemetry factory, you pass it in to the Application Insights logging provider: |
app-spaces | How To Manage Components | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-spaces/how-to-manage-components.md | The **Deployment** section in App Spaces provides a detailed log of all deployme ## Logs App Spaces provides robust logging capabilities for static app components, which can be filtered over a range of time periods from the last hour to the last 30 days. You can enable logs through the **Log Settings** button, which offers different configuration options. The **Auto** setting automatically collects logs for HTTP requests, global errors, and usage analytics. For more customized tracking, you can choose the **Manual with npm packages** option to set up custom event tracking with IntelliSense. Alternatively, the **Manual with React and Angular plug-ins** option allows you to configure connection strings to define where to send telemetry data by replacing the placeholder `YOUR_CONNECTION_STRING` with the actual connection string. These flexible logging options ensure comprehensive monitoring and analysis tailored to specific needs. -Select **Open in advanced queries** to go to the [Log Analytics workspace](../azure-monitor/logs/log-analytics-workspace-overview.md). +Select **Open in advanced queries** to go to the [Log Analytics workspace](/azure/azure-monitor/logs/log-analytics-workspace-overview). For Application Insights, see [Enable a framework extension for Application Insights JavaScript SDK](https://go.microsoft.com/fwlink/?linkid=2269911). ::: zone-end ::: zone pivot="app" ## Logs -Select system logs to check service-level events, or console logs to debug code. For more information, see [Use queries in Log Analytics](../azure-monitor/logs/queries.md). +Select system logs to check service-level events, or console logs to debug code. For more information, see [Use queries in Log Analytics](/azure/azure-monitor/logs/queries). -Select **Open in advanced queries** to go to the [Log Analytics workspace](../azure-monitor/logs/log-analytics-workspace-overview.md). +Select **Open in advanced queries** to go to the [Log Analytics workspace](/azure/azure-monitor/logs/log-analytics-workspace-overview). ::: zone-end ::: zone pivot="database" ::: zone-end |
application-gateway | Application Gateway Diagnostics | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/application-gateway-diagnostics.md | Other storage locations: - **Azure Event Hubs**: Event hubs are a great option for integrating with other security information and event management (SIEM) tools to get alerts on your resources. - **Azure Monitor partner integrations**. -Learn more about the Azure Monitor's [diagnostic settings destinations](../azure-monitor/essentials/diagnostic-settings.md?WT.mc_id=Portal-Microsoft_Azure_Monitoring&tabs=portal#destinations) . +Learn more about the Azure Monitor's [diagnostic settings destinations](/azure/azure-monitor/essentials/diagnostic-settings?WT.mc_id=Portal-Microsoft_Azure_Monitoring&tabs=portal#destinations) . ## Enable logging through PowerShell |
application-gateway | Application Gateway Metrics | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/application-gateway-metrics.md | -Application Gateway publishes data points to [Azure Monitor](../azure-monitor/overview.md) for the performance of your Application Gateway and backend instances. These data points are called metrics, and are numerical values in an ordered set of time-series data. Metrics describe some aspect of your application gateway at a particular time. If there are requests flowing through the Application Gateway, it measures and sends its metrics in 60-second intervals. If there are no requests flowing through the Application Gateway or no data for a metric, the metric isn't reported. For more information, see [Azure Monitor metrics](../azure-monitor/essentials/data-platform-metrics.md). +Application Gateway publishes data points to [Azure Monitor](/azure/azure-monitor/overview) for the performance of your Application Gateway and backend instances. These data points are called metrics, and are numerical values in an ordered set of time-series data. Metrics describe some aspect of your application gateway at a particular time. If there are requests flowing through the Application Gateway, it measures and sends its metrics in 60-second intervals. If there are no requests flowing through the Application Gateway or no data for a metric, the metric isn't reported. For more information, see [Azure Monitor metrics](/azure/azure-monitor/essentials/data-platform-metrics). <a name="metrics-supported-by-application-gateway-v1-sku"></a> In the following image, you see an example with three metrics displayed for the :::image type="content" source="media/application-gateway-diagnostics/figure5.png" alt-text="Screenshot shows the Metric view of three metrics." lightbox="media/application-gateway-diagnostics/figure5-lb.png"::: -To see a current list of metrics, see [Supported metrics with Azure Monitor](../azure-monitor/essentials/metrics-supported.md). +To see a current list of metrics, see [Supported metrics with Azure Monitor](/azure/azure-monitor/essentials/metrics-supported). ### Alert rules on metrics A list of alerts appears after you create a metric alert. It provides an overvie ![List of alerts and rules][9] -To learn more about alert notifications, see [Receive alert notifications](../azure-monitor/alerts/alerts-overview.md). +To learn more about alert notifications, see [Receive alert notifications](/azure/azure-monitor/alerts/alerts-overview). -To understand more about webhooks and how you can use them with alerts, visit [Configure a webhook on an Azure metric alert](../azure-monitor/alerts/alerts-webhooks.md). +To understand more about webhooks and how you can use them with alerts, visit [Configure a webhook on an Azure metric alert](/azure/azure-monitor/alerts/alerts-webhooks). ## Next steps |
application-gateway | Configure Alerts With Templates | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/configure-alerts-with-templates.md | Last updated 06/17/2024 Azure Monitor alerts proactively notify you when important conditions are found in your monitoring data. They allow you to identify and address issues in your system before your customers notice them. For more information about Azure Monitor Alerts for Application Gateway, see [Monitoring Azure Application Gateway](monitor-application-gateway.md#alerts). -The templates for alerts described here are defined generically for settings like Severity, Aggregation Granularity, Frequency of Evaluation, Condition Type, and so on. You can modify the settings after deployment to meet your needs. See [detailed information about configuring a metric alert rule](../azure-monitor/alerts/alerts-create-new-alert-rule.md) for more information. +The templates for alerts described here are defined generically for settings like Severity, Aggregation Granularity, Frequency of Evaluation, Condition Type, and so on. You can modify the settings after deployment to meet your needs. See [detailed information about configuring a metric alert rule](/azure/azure-monitor/alerts/alerts-create-new-alert-rule) for more information. -The templates for metric-based alerts use the **Dynamic threshold** value with [high sensitivity](../azure-monitor/alerts/alerts-dynamic-thresholds.md#known-issues-with-dynamic-threshold-sensitivity). You can choose to adjust these settings based on your needs. +The templates for metric-based alerts use the **Dynamic threshold** value with [high sensitivity](/azure/azure-monitor/alerts/alerts-dynamic-thresholds#known-issues-with-dynamic-threshold-sensitivity). You can choose to adjust these settings based on your needs. -The following ARM templates are available to configure Azure Monitor alerts for Application Gateway. For the procedure to use these templates, see [Create a new alert rule using an ARM template](../azure-monitor/alerts/alerts-create-rule-cli-powershell-arm.md#create-a-new-alert-rule-using-an-arm-template). +The following ARM templates are available to configure Azure Monitor alerts for Application Gateway. For the procedure to use these templates, see [Create a new alert rule using an ARM template](/azure/azure-monitor/alerts/alerts-create-rule-cli-powershell-arm#create-a-new-alert-rule-using-an-arm-template). - Alert for Backend Response Status as 5xx The following ARM templates are available to configure Azure Monitor alerts for - See [Monitoring Application Gateway data reference](monitor-application-gateway-reference.md) for a reference of the metrics, logs, and other important values created by Application Gateway. -- See [Monitoring Azure resources with Azure Monitor](../azure-monitor/essentials/monitor-azure-resource.md) for details on monitoring Azure resources.+- See [Monitoring Azure resources with Azure Monitor](/azure/azure-monitor/essentials/monitor-azure-resource) for details on monitoring Azure resources. |
application-gateway | Application Gateway For Containers Metrics | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/for-containers/application-gateway-for-containers-metrics.md | -Application Gateway for Containers publishes data points to [Azure Monitor](../../azure-monitor/overview.md) for the performance of your Application Gateway for Containers and backend instances. These data points are called metrics, and are numerical values in an ordered set of time-series data. Metrics describe some aspect of your application gateway at a particular time. If there are requests flowing through the Application Gateway, it measures and sends its metrics in 60-second intervals. If there are no requests flowing through the Application Gateway or no data for a metric, the metric isn't reported. For more information, see [Azure Monitor metrics](../../azure-monitor/essentials/data-platform-metrics.md). +Application Gateway for Containers publishes data points to [Azure Monitor](/azure/azure-monitor/overview) for the performance of your Application Gateway for Containers and backend instances. These data points are called metrics, and are numerical values in an ordered set of time-series data. Metrics describe some aspect of your application gateway at a particular time. If there are requests flowing through the Application Gateway, it measures and sends its metrics in 60-second intervals. If there are no requests flowing through the Application Gateway or no data for a metric, the metric isn't reported. For more information, see [Azure Monitor metrics](/azure/azure-monitor/essentials/data-platform-metrics). ## Metrics supported by Application Gateway for Containers |
application-gateway | Diagnostics | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/for-containers/diagnostics.md | You can monitor Azure Application Gateway for Containers resources in the follow ## Diagnostic logs -You can use different types of logs in Azure to manage and troubleshoot Application Gateway for Containers. You can access some of these logs through the portal. All logs can be extracted from Azure Blob storage and viewed in different tools, such as [Azure Monitor logs](../../azure-monitor/logs/data-platform-logs.md), Excel, and Power BI. You can learn more about the different types of logs from the following list: +You can use different types of logs in Azure to manage and troubleshoot Application Gateway for Containers. You can access some of these logs through the portal. All logs can be extracted from Azure Blob storage and viewed in different tools, such as [Azure Monitor logs](/azure/azure-monitor/logs/data-platform-logs), Excel, and Power BI. You can learn more about the different types of logs from the following list: -* **Activity log**: You can use [Azure activity logs](../../azure-monitor/essentials/activity-log.md) (formerly known as operational logs and audit logs) to view all operations that are submitted to your Azure subscription, and their status. Activity log entries are collected by default, and you can view them in the Azure portal. +* **Activity log**: You can use [Azure activity logs](/azure/azure-monitor/essentials/activity-log) (formerly known as operational logs and audit logs) to view all operations that are submitted to your Azure subscription, and their status. Activity log entries are collected by default, and you can view them in the Azure portal. * **Access log**: You can use this log to view Application Gateway for Containers access patterns and analyze important information. This includes the caller's IP, requested URL, response latency, return code, and bytes in and out. An access log is collected every 60 seconds. The data may be stored in a storage account that is specified at time of enable logging. ### Configure access log New-AzDiagnosticSetting -Name 'AppGWForContainersLogs' -ResourceId "/subscriptio > [!Note] > After initially enabling diagnostic logs, it may take up to one hour before logs are available at your selected destination. -For more information and Azure Monitor deployment tutorials, see [Diagnostic settings in Azure Monitor](../../azure-monitor/essentials/diagnostic-settings.md). +For more information and Azure Monitor deployment tutorials, see [Diagnostic settings in Azure Monitor](/azure/azure-monitor/essentials/diagnostic-settings). ### Access log format |
application-gateway | Prometheus Grafana | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/for-containers/prometheus-grafana.md | You can monitor Azure Application Gateway for Containers resources in the follow [![A diagram of architecture grid.](./media/prometheus-grafana/design-arch.png)](./media/prometheus-grafana/design-arch.png#lightbox) ## Learn About the Services-- [What is Azure Managed Prometheus?](../../azure-monitor/essentials/prometheus-metrics-overview.md)+- [What is Azure Managed Prometheus?](/azure/azure-monitor/essentials/prometheus-metrics-overview) - Why use Prometheus: Azure Prometheus offers native integration and management capabilities, simplifying the setup and management of monitoring infrastructure. - [What is Azure Managed Grafana?](../../managed-grafan) - Why use Grafana: Azure Managed Grafana lets you bring together all your telemetry data into one place and Built-in support for Azure Monitor and Azure Data Explorer using Microsoft Entra identities.-- [What is Azure Log Analytics Workspace?](../../azure-monitor/logs/log-analytics-workspace-overview.md)+- [What is Azure Log Analytics Workspace?](/azure/azure-monitor/logs/log-analytics-workspace-overview) - Why use Log Analytics Workspace: Log Analytics workspace scales with your business needs, handling large volumes of log data efficiently and detects and diagnose issues quickly. ## Prerequisites We created the resources and now we combine all resources and configure promethe ## Enable diagnostic logs for Application Gateway for Containers Activity logging is automatically enabled for every Resource Manager resource. For Access Logs, you must enable access logging to start collecting the data available through those logs. To enable logging, you may configure diagnostic settings in Azure Monitor. -1. [Create a log analytics workspace](../../azure-monitor/logs/quick-create-workspace.md). +1. [Create a log analytics workspace](/azure/azure-monitor/logs/quick-create-workspace). 2. Send logs from Application Gateway for Containers to log analytics workspace: 1. Enter **Application Gateway for Containers** in the search box. Select your active Application Gateway for Container resource. 2. Search and select Diagnostic Setting under Monitoring. Add diagnostic setting. |
application-gateway | Siem Integration With Sentinel | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/for-containers/siem-integration-with-sentinel.md | In this QuickStart guide, you set up: ## Learn About The Services - [What is Azure Sentinel?](../../sentinel/overview.md) - Why use Sentinel: Sentinel offers security content that is pre-packaged in SIEM solutions, allowing you to monitor, analyze, investigate, notify, and integrate with many platforms and products, including Log Analytics Workspace.-- [What is Azure Log Analytics Workspace?](../../azure-monitor/logs/log-analytics-workspace-overview.md)+- [What is Azure Log Analytics Workspace?](/azure/azure-monitor/logs/log-analytics-workspace-overview) - Why use Log Analytics Workspace: Log Analytics workspace scales with your business needs, handling large volumes of log data efficiently and detects and diagnose issues quickly. ## Prerequisites |
application-gateway | High Traffic Support | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/high-traffic-support.md | You can use Application Gateway with Web Application Firewall (WAF) for a scalab It's important that you scale your Application Gateway according to your traffic and with a bit of a buffer so that you're prepared for any traffic surges or spikes and minimizing the impact that it may have in your QoS. The following suggestions help you set up Application Gateway with WAF to handle extra traffic. -Please check the [metrics documentation](./application-gateway-metrics.md) for the complete list of metrics offered by Application Gateway. See [visualize metrics](./application-gateway-metrics.md#metrics-visualization) in the Azure portal and the [Azure monitor documentation](../azure-monitor/alerts/alerts-metric.md) on how to set alerts for metrics. +Please check the [metrics documentation](./application-gateway-metrics.md) for the complete list of metrics offered by Application Gateway. See [visualize metrics](./application-gateway-metrics.md#metrics-visualization) in the Azure portal and the [Azure monitor documentation](/azure/azure-monitor/alerts/alerts-metric) on how to set alerts for metrics. For details and recommendations on performance efficiency for Application Gateway, see [Azure Well-Architected Framework review - Azure Application Gateway v2](/azure/well-architected/services/networking/azure-application-gateway#performance-efficiency). Check your Compute Unit metric for the past one month. Compute unit metric is a ## Monitoring and alerting -To get notified of any traffic or utilization anomalies, you can set up alerts on certain metrics. See [metrics documentation](./application-gateway-metrics.md) for the complete list of metrics offered by Application Gateway. See [visualize metrics](./application-gateway-metrics.md#metrics-visualization) in the Azure portal and the [Azure monitor documentation](../azure-monitor/alerts/alerts-metric.md) on how to set alerts for metrics. +To get notified of any traffic or utilization anomalies, you can set up alerts on certain metrics. See [metrics documentation](./application-gateway-metrics.md) for the complete list of metrics offered by Application Gateway. See [visualize metrics](./application-gateway-metrics.md#metrics-visualization) in the Azure portal and the [Azure monitor documentation](/azure/azure-monitor/alerts/alerts-metric) on how to set alerts for metrics. To configure alerts using ARM templates, see [Configure Azure Monitor alerts for Application Gateway](configure-alerts-with-templates.md). |
application-gateway | Key Vault Certs | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/key-vault-certs.md | Azure Application Gateway doesn't just poll for the renewed certificate version 4. You find a recommendation titled **Resolve Azure Key Vault issue for your Application Gateway**, if your gateway is experiencing this issue. Ensure the correct subscription is selected from the drop-down options above. 5. Select it to view the error details, the associated key vault resource and the [troubleshooting guide](../application-gateway/application-gateway-key-vault-common-errors.md) to fix your exact issue. -By identifying such an event through Azure Advisor or Resource Health, you can quickly resolve any configuration problems with your Key Vault. We strongly recommend you take advantage of [Azure Advisor](../advisor/advisor-alerts-portal.md) and [Resource Health](../service-health/resource-health-alert-monitor-guide.md) alerts to stay informed when a problem is detected. +By identifying such an event through Azure Advisor or Resource Health, you can quickly resolve any configuration problems with your Key Vault. We strongly recommend you take advantage of [Azure Advisor](/azure/advisor/advisor-alerts-portal) and [Resource Health](/azure/service-health/resource-health-alert-monitor-guide) alerts to stay informed when a problem is detected. For Advisor alert, use "Resolve Azure Key Vault issue for your Application Gateway" in the recommendation type shown:</br> ![Diagram that shows steps for Advisor alert.](media/key-vault-certs/advisor-alert.png) |
application-gateway | Log Analytics | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/log-analytics.md | -Once your Application Gateway WAF is operational, you can enable logs to inspect what is happening with each request. Firewall logs give insight to what the WAF is evaluating, matching, and blocking. With Log Analytics, you can examine the data inside the firewall logs to give even more insights. For more information about log queries, see [Overview of log queries in Azure Monitor](../azure-monitor/logs/log-query-overview.md). +Once your Application Gateway WAF is operational, you can enable logs to inspect what is happening with each request. Firewall logs give insight to what the WAF is evaluating, matching, and blocking. With Log Analytics, you can examine the data inside the firewall logs to give even more insights. For more information about log queries, see [Overview of log queries in Azure Monitor](/azure/azure-monitor/logs/log-query-overview). ## Prerequisites * An Azure account with an active subscription is required. If you don't already have an account, you can [create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). * An Azure Web Application Firewall with logs enabled. For more information, see [Azure Web Application Firewall on Azure Application Gateway](../web-application-firewall/ag/ag-overview.md).-* A Log Analytics workspace. For more information about creating a Log Analytics workspace, see [Create a Log Analytics workspace in the Azure portal](../azure-monitor/logs/quick-create-workspace.md). +* A Log Analytics workspace. For more information about creating a Log Analytics workspace, see [Create a Log Analytics workspace in the Azure portal](/azure/azure-monitor/logs/quick-create-workspace). ## Import WAF logs |
application-gateway | Monitor Application Gateway Reference | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/monitor-application-gateway-reference.md | Application Gateway's Layer 4 proxy provides log data through access logs. These You can use Azure activity logs to view all operations that are submitted to your Azure subscription, and their status. Activity log entries are collected by default. You can view them in the Azure portal. Azure activity logs were formerly known as *operational logs* and *audit logs*. -Azure generates activity logs by default. The logs are preserved for 90 days in the Azure event logs store. Learn more about these logs by reading the [View events and activity log](../azure-monitor/essentials/activity-log.md) article. +Azure generates activity logs by default. The logs are preserved for 90 days in the Azure event logs store. Learn more about these logs by reading the [View events and activity log](/azure/azure-monitor/essentials/activity-log) article. ## Related content |
application-gateway | Monitor Application Gateway | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/monitor-application-gateway.md | For Application Gateway, resource-specific mode creates three tables: :::image type="content" source="./media/application-gateway-diagnostics/resource-specific.png" alt-text="Screenshot of the resource ID for application gateway in the portal." lightbox="./media/application-gateway-diagnostics/resource-specific.png"::: -**Workspace Transformations:** Opting for the Resource specific option allows you to filter and modify your data before [workspace transformations](../azure-monitor/essentials/data-collection-transformations-workspace.md) ingests it. This approach provides granular control, allowing you to focus on the most relevant information from the logs there by reducing data costs and enhancing security. +**Workspace Transformations:** Opting for the Resource specific option allows you to filter and modify your data before [workspace transformations](/azure/azure-monitor/essentials/data-collection-transformations-workspace) ingests it. This approach provides granular control, allowing you to focus on the most relevant information from the logs there by reducing data costs and enhancing security. -For detailed instructions on setting up workspace transformations, see [Tutorial: Add a workspace transformation to Azure Monitor Logs by using the Azure portal](../azure-monitor/logs/tutorial-workspace-transformations-portal.md). +For detailed instructions on setting up workspace transformations, see [Tutorial: Add a workspace transformation to Azure Monitor Logs by using the Azure portal](/azure/azure-monitor/logs/tutorial-workspace-transformations-portal). [!INCLUDE [horz-monitor-platform-metrics](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-platform-metrics.md)] Application Gateway v1 |Metric|Response status (4xx, 5xx) crosses threshold|When Application Gateway response status is 4xx or 5xx. There could be occasional 4xx or 5xx response seen due to transient issues. You should observe the gateway in production to determine static threshold or use dynamic threshold for the alert.| |Metric|Failed requests crosses threshold|When failed requests metric crosses a threshold. You should observe the gateway in production to determine static threshold or use dynamic threshold for the alert.| -Azure Monitor alerts proactively notify you when important conditions are found in your monitoring data. They allow you to identify and address issues in your system before your customers notice them. You can set alerts on [metrics](../azure-monitor/alerts/alerts-metric-overview.md), [logs](../azure-monitor/alerts/alerts-unified-log.md), and the [activity log](../azure-monitor/alerts/activity-log-alerts.md). Different types of alerts have benefits and drawbacks. +Azure Monitor alerts proactively notify you when important conditions are found in your monitoring data. They allow you to identify and address issues in your system before your customers notice them. You can set alerts on [metrics](/azure/azure-monitor/alerts/alerts-metric-overview), [logs](/azure/azure-monitor/alerts/alerts-unified-log), and the [activity log](/azure/azure-monitor/alerts/activity-log-alerts). Different types of alerts have benefits and drawbacks. -If you're creating or running an application that uses Application Gateway, [Azure Monitor Application Insights](../azure-monitor/app/app-insights-overview.md) can offer other types of alerts. +If you're creating or running an application that uses Application Gateway, [Azure Monitor Application Insights](/azure/azure-monitor/app/app-insights-overview) can offer other types of alerts. [!INCLUDE [horz-monitor-advisor-recommendations](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-advisor-recommendations.md)] |
application-gateway | Overview V2 | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/overview-v2.md | The v2 SKU includes the following enhancements: Application Gateway v2 is available under two SKUs: - **Basic** (preview): The Basic SKU is designed for applications that have lower traffic and SLA requirements, and don't need advanced traffic management features. For information on how to register for the public preview of Application Gateway Basic SKU, see [Register for the preview](#register-for-the-preview).-- **Standard_v2 SKU**: The Standard_v2 SKU is designed for running production workloads and high traffic. It also includes auto scale that can automatically adjust the number of instances to match your traffic needs. +- **Standard_v2 SKU**: The Standard_v2 SKU is designed for running production workloads and high traffic. It also includes [autoscaling](high-traffic-support.md#autoscaling-for-application-gateway-v2-sku-standard_v2waf_v2-sku), which can automatically adjust the number of instances to match your traffic needs. The following table displays a comparison between Basic and Standard_v2. | Feature | Capabilities | Basic SKU (preview)| Standard SKU | | :: | : | :: | :: | | Reliability | SLA | 99.9 | 99.95 |-| Functionality - basic | HTTP/HTTP2/HTTPS<br>Websocket<br>Public/Private IP<br>Cookie Affinity<br>Path-based affinity<br>Wildcard<br>Multisite<br>KeyVault<br>AKS (via AGIC)<br>Zone<br>Header rewrite | ✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓ | ✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓ | -| Functionality - advanced | URL rewrite<br>mTLS<br>Private Link<br>Private-only<sup>1</sup><br>TCP/TLS Proxy | | ✓<br>✓<br>✓<br>✓<br>✓ | +| Functionality - basic | HTTP/HTTP2/HTTPS<br>Websocket<br>Public/Private IP<br>Cookie Affinity<br>Path-based affinity<br>Wildcard<br>Multisite<br>KeyVault<br>Zone<br>Header rewrite | ✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓ | ✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓<br>✓| +| Functionality - advanced | AKS (via AGIC)<br>URL rewrite<br>mTLS<br>Private Link<br>Private-only<sup>1</sup><br>TCP/TLS Proxy | | ✓<br>✓<br>✓<br>✓<br>✓<br>✓ | | Scale | Max. connections per second<br>Number of listeners<br>Number of backend pools<br>Number of backend servers per pool<br>Number of rules | 200<sup>1</sup><br>5<br>5<br>5<br>5 | 62500<sup>1</sup><br>100<br>100<br>1200<br>400 | | Capacity Unit | Connections per second per compute unit<br>Throughput<br>Persistent new connections | 10<br>2.22 Mbps<br>2500 | 50<br>2.22 Mbps<br>2500 | Unregister-AzProviderFeature -FeatureName AllowApplicationGatewayBasicSku -Provi Depending on your requirements and environment, you can create a test Application Gateway using either the Azure portal, Azure PowerShell, or Azure CLI. -- - [Tutorial: Create an application gateway that improves web application access](tutorial-autoscale-ps.md) - [Learn module: Introduction to Azure Application Gateway](/training/modules/intro-to-azure-application-gateway) |
application-gateway | Parameter Based Path Selection Portal | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/parameter-based-path-selection-portal.md | + + Title: Route traffic using parameter based path selection in portal - Azure Application Gateway +description: Learn how to use the Azure portal to configure an Azure Application Gateway to choose the backend pool based on the value of a header, part of URL, or query string in the request. ++++ Last updated : 09/10/2024++++# Perform parameter based path selection with Azure Application Gateway - Azure portal ++This article describes how to use the Azure portal to configure an [Application Gateway v2 SKU](./application-gateway-autoscaling-zone-redundant.md) instance to perform parameter based path selection by combining the capabilities of URL Rewrite with path-based routing. ++If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin. ++## Before you begin ++You need to have an Application Gateway v2 SKU instance to complete the steps in this article. URL rewrite and rewriting headers aren't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](./tutorial-autoscale-ps.md) instance before you begin. +++## Sign in to Azure ++Sign in to the [Azure portal](https://portal.azure.com/) with your Azure account. ++## Configure parameter based path selection ++For this example, you have a shopping website and the product category is passed as query string in the URL, and you want to route the request to backend based on the query string, then: ++**Step 1:** Create a path-map as shown in the following image: +++**Step 2 (a):** Create a rewrite set which has 3 rewrite rules: ++* The first rule has a condition that checks the *query_string* variable for *category=shoes* and has an action that rewrites the URL path to /*listing1* and has **Reevaluate path map** enabled ++* The second rule has a condition that checks the *query_string* variable for *category=bags* and has an action that rewrites the URL path to /*listing2* and has **Reevaluate path map** enabled ++* The third rule has a condition that checks the *query_string* variable for *category=accessories* and has an action that rewrites the URL path to /*listing3* and has **Reevaluate path map** enabled ++ :::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-2.png" alt-text="A screenshot of URL rewrite scenario 1-2."::: ++ +**Step 2 (b):** Associate this rewrite set with the default path of the previous path-based rule: +++If the user requests *contoso.com/listing?category=any*, then it's matched with the default path since none of the path patterns in the path map (/listing1, /listing2, /listing3) are matched. Since you associated the previous rewrite set with this path, this rewrite set is evaluated. Because the query string doesn't match the condition in any of the 3 rewrite rules in this rewrite set, no rewrite action takes place. Therefore, the request is routed unchanged to the backend associated with the default path (which is *GenericList*). ++If the user requests *contoso.com/listing?category=shoes*, then the default path is matched. However, in this case, the condition in the first rule matches. Therefore, the action associated with the condition is executed, which rewrites the URL path to /*listing1* and reevaluates the path-map. When the path-map is reevaluated, the request matches the path associated with pattern */listing1* and the request is routed to the backend associated with this pattern (ShoesListBackendPool). ++> [!NOTE] +> This scenario can be extended to any header or cookie value, URL path, query string or server variables based on the conditions defined and essentially enables you to route requests based on those conditions. ++## Next steps ++To learn more about how to set up some common use cases, see [common header rewrite scenarios](./rewrite-http-headers-url.md). |
application-gateway | Resource Health Overview | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/resource-health-overview.md | -[Azure Resource Health](../service-health/resource-health-overview.md) helps you diagnose and get support when an Azure service problem affects your resources. It informs you about the current and past health of your resources. And it provides technical support to help you mitigate problems. +[Azure Resource Health](/azure/service-health/resource-health-overview) helps you diagnose and get support when an Azure service problem affects your resources. It informs you about the current and past health of your resources. And it provides technical support to help you mitigate problems. For Application Gateway, Resource Health relies on signals emitted by the gateway to assess whether it's healthy or not. If the gateway is unhealthy, Resource Health analyzes additional information to determine the source of the problem. It also identifies actions that Microsoft is taking or what you can do to fix the problem. -For additional details on how health is assessed, review the full list of resource types and health checks in [Azure Resource Health](../service-health/resource-health-checks-resource-types.md#microsoftnetworkapplicationgateways). +For additional details on how health is assessed, review the full list of resource types and health checks in [Azure Resource Health](/azure/service-health/resource-health-checks-resource-types#microsoftnetworkapplicationgateways). The health status for Application Gateway is displayed as one of the following statuses: |
application-gateway | Rewrite Http Headers Url | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/rewrite-http-headers-url.md | description: This article provides an overview of rewriting HTTP headers and URL Previously updated : 09/06/2024 Last updated : 09/10/2024 Here are the steps for replacing the hostname: 1. Create a rewrite rule with a condition that evaluates if the location header in the response contains azurewebsites.net. Enter the pattern `(https?):\/\/.*azurewebsites\.net(.*)$`. 2. Perform an action to rewrite the location header so that it has the application gateway's hostname. Do this by entering `{http_resp_Location_1}://contoso.com{http_resp_Location_2}` as the header value. Alternatively, you can also use the server variable `host` to set the hostname to match the original request. -![A screenshow of the modify location header action.](./media/rewrite-http-headers-url/app-service-redirection.png) + ![A screenshot of the modify location header action.](./media/rewrite-http-headers-url/app-service-redirection.png) #### Implement security HTTP headers to prevent vulnerabilities You can evaluate an HTTP request or response header for the presence of a header #### Parameter based path selection -To accomplish scenarios where you want to choose the backend pool based on the value of a header, part of the URL, or query string in the request, you can use the combination of URL Rewrite capability and path-based routing. For example, if you have a shopping website and the product category is passed as query string in the URL, and you want to route the request to backend based on the query string, then: +To accomplish scenarios where you want to choose the backend pool based on the value of a header, part of the URL, or query string in the request, you can use a combination of URL Rewrite capability and path-based routing. -**Step1:** Create a path-map as shown in the image below +To do this, create a rewrite set with a condition that checks for a specific parameter (query string, header, etc.) and then performs an action where it changes the URL path (ensure **Reevaluate path map** is enabled). The rewrite set must then be associated to a path based rule. The path based rule must contain the same URL paths specified in the rewrite set and their corresponding backend pool. +Thus, the rewrite set allows users to check for a specific parameter and assign it a new path, and the path based rule allows users to assign backend pools to those paths. As long as "Reevaluate path map" is enabled, traffic routs based on the path specified in the rewrite set. -**Step 2 (a):** Create a rewrite set which has 3 rewrite rules: +For a use case example using query strings, see [Route traffic using parameter based path selection in portal](parameter-based-path-selection-portal.md). -* The first rule has a condition that checks the *query_string* variable for *category=shoes* and has an action that rewrites the URL path to /*listing1* and has **Reevaluate path map** enabled --* The second rule has a condition that checks the *query_string* variable for *category=bags* and has an action that rewrites the URL path to /*listing2* and has **Reevaluate path map** enabled --* The third rule has a condition that checks the *query_string* variable for *category=accessories* and has an action that rewrites the URL path to /*listing3* and has **Reevaluate path map** enabled --- --**Step 2 (b):** Associate this rewrite set with the default path of the above path-based rule ---If the user requests *contoso.com/listing?category=any*, then it's matched with the default path since none of the path patterns in the path map (/listing1, /listing2, /listing3) are matched. Since you associated the previous rewrite set with this path, this rewrite set is evaluated. Because the query string won't match the condition in any of the 3 rewrite rules in this rewrite set, no rewrite action takes place. Therefore, the request is routed unchanged to the backend associated with the default path (which is *GenericList*). --If the user requests *contoso.com/listing?category=shoes*, then the default path is matched. However, in this case the condition in the first rule matches. Therefore, the action associated with the condition is executed, which rewrites the URL path to /*listing1* and reevaluates the path-map. When the path-map is reevaluated, the request matches the path associated with pattern */listing1* and the request is routed to the backend associated with this pattern (ShoesListBackendPool). --> [!NOTE] -> This scenario can be extended to any header or cookie value, URL path, query string or server variables based on the conditions defined and essentially enables you to route requests based on those conditions. #### Rewrite query string parameters based on the URL |
automanage | Arm Deploy | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/arm-deploy.md | Last updated 12/10/2021 # Onboard a machine to Automanage with an Azure Resource Manager (ARM) template > [!CAUTION]-> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). ## Overview Follow the steps to onboard a machine to Automanage Best Practices using an ARM template. |
automanage | Automanage Account | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/automanage-account.md | Last updated 12/10/2021 # Automanage Accounts > [!CAUTION]-> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). The Automanage account is the identity that is used by the Automanage service to perform its automated operations. |
automanage | Automanage Arc | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/automanage-arc.md | Last updated 05/12/2022 # Azure Automanage for Machines Best Practices - Azure Arc-enabled servers > [!CAUTION]-> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). > [!CAUTION] > This article references CentOS, a Linux distribution that is End Of Life (EOL) status. Please consider your use and planning accordingly. For more information, see the [CentOS End Of Life guidance](/azure/virtual-machines/workloads/centos/centos-end-of-life). Automanage supports the following operating systems for Azure Arc-enabled server | Service | Description | Configuration Profile<sup>1</sup> | | | | |-| [Machines Insights Monitoring](../azure-monitor/vm/vminsights-overview.md) | Azure Monitor for machines monitors the performance and health of your virtual machines, including their running processes and dependencies on other resources. | Production | +| [Machines Insights Monitoring](/azure/azure-monitor/vm/vminsights-overview) | Azure Monitor for machines monitors the performance and health of your virtual machines, including their running processes and dependencies on other resources. | Production | | [Update Management](../automation/update-management/overview.md) | You can use Update Management in Azure Automation to manage operating system updates for your machines. You can quickly assess the status of available updates on all agent machines and manage the process of installing required updates for servers. | Production, Dev/Test | | [Microsoft Antimalware](../security/fundamentals/antimalware.md) | Microsoft Antimalware for Azure is a free real-time protection that helps identify and remove viruses, spyware, and other malicious software. It generates alerts when known malicious or unwanted software tries to install itself or run on your Azure systems. **Note:** Microsoft Antimalware requires that there be no other antimalware software installed, or it may fail to work. This is also only supported for Windows Server 2016 and above. | Production, Dev/Test | | [Change Tracking & Inventory](../automation/change-tracking/overview.md) | Change Tracking and Inventory combines change tracking and inventory functions to allow you to track virtual machine and server infrastructure changes. The service supports change tracking across services, daemons software, registry, and files in your environment to help you diagnose unwanted changes and raise alerts. Inventory support allows you to query in-guest resources for visibility into installed applications and other configuration items. | Production, Dev/Test | | [Machine Configuration](../governance/machine-configuration/overview.md) | Machine Configuration policy is used to monitor the configuration and report on the compliance of the machine. The Automanage service will install the Azure security baseline using the Guest Configuration extension. For Arc machines, the machine configuration service will install the baseline in audit-only mode. You will be able to see where your VM is out of compliance with the baseline, but noncompliance won't be automatically remediated. | Production, Dev/Test | | [Azure Automation Account](../automation/automation-create-standalone-account.md) | Azure Automation supports management throughout the lifecycle of your infrastructure and applications. | Production, Dev/Test |-| [Log Analytics Workspace](../azure-monitor/logs/log-analytics-overview.md) | Azure Monitor stores log data in a Log Analytics workspace, which is an Azure resource and a container where data is collected, aggregated, and serves as an administrative boundary. | Production, Dev/Test | +| [Log Analytics Workspace](/azure/azure-monitor/logs/log-analytics-overview) | Azure Monitor stores log data in a Log Analytics workspace, which is an Azure resource and a container where data is collected, aggregated, and serves as an administrative boundary. | Production, Dev/Test | <sup>1</sup> The [configuration profile](overview-configuration-profiles.md) selection is available when you are enabling Automanage. You can also create your own custom profile with the set of Azure services and settings that you need. |
automanage | Automanage Linux | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/automanage-linux.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). > [!CAUTION] > This article references CentOS, a Linux distribution that is End Of Life (EOL) status. Please consider your use and planning accordingly. For more information, see the [CentOS End Of Life guidance](/azure/virtual-machines/workloads/centos/centos-end-of-life). Automanage supports the following Linux distributions and versions: | Service | Description | Configuration Profile Supported<sup>1</sup> | | | -- | - |-| [Machines Insights Monitoring](../azure-monitor/vm/vminsights-overview.md) | Azure Monitor for machines monitors the performance and health of your virtual machines, including their running processes and dependencies on other resources. Learn [more](../azure-monitor/vm/vminsights-overview.md). | Production | +| [Machines Insights Monitoring](/azure/azure-monitor/vm/vminsights-overview) | Azure Monitor for machines monitors the performance and health of your virtual machines, including their running processes and dependencies on other resources. Learn [more](/azure/azure-monitor/vm/vminsights-overview). | Production | | [Backup](../backup/backup-overview.md) | Azure Backup provides independent and isolated backups to guard against unintended destruction of the data on your VMs. Learn [more](../backup/backup-azure-vms-introduction.md). Charges are based on the number and size of VMs being protected. Learn [more](https://azure.microsoft.com/pricing/details/backup/). | Production | | [Microsoft Defender for Cloud](../security-center/security-center-introduction.md) | Microsoft Defender for Cloud is a unified infrastructure security management system that strengthens the security posture of your data centers, and provides advanced threat protection across your hybrid workloads in the cloud. Learn [more](../security-center/security-center-introduction.md). Automanage will configure the subscription where your VM resides to the free-tier offering of Microsoft Defender for Cloud (Enhanced security off). If your subscription is already onboarded to Microsoft Defender for Cloud, then Automanage will not reconfigure it. | Production, Dev/Test | | [Update Management](../automation/update-management/overview.md) | You can use Update Management in Azure Automation to manage operating system updates for your machines. You can quickly assess the status of available updates on all agent machines and manage the process of installing required updates for servers. Learn [more](../automation/update-management/overview.md). | Production, Dev/Test | Automanage supports the following Linux distributions and versions: | [Machine configuration](../governance/machine-configuration/overview.md) | Machine configuration is used to monitor the configuration and report on the compliance of the machine. The Automanage service will install the Azure Linux baseline using the guest configuration extension. For Linux machines, the machine configuration service will install the baseline in audit-only mode. You will be able to see where your VM is out of compliance with the baseline, but noncompliance won't be automatically remediated. Learn [more](../governance/machine-configuration/overview.md). | Production, Dev/Test | | [Boot Diagnostics](/azure/virtual-machines/boot-diagnostics) | Boot diagnostics is a debugging feature for Azure virtual machines (VM) that allows diagnosis of VM boot failures. Boot diagnostics enables a user to observe the state of their VM as it is booting up by collecting serial log information and screenshots. This will only be enabled for machines that are using managed disks. | Production, Dev/Test | | [Azure Automation Account](../automation/automation-create-standalone-account.md) | Azure Automation supports management throughout the lifecycle of your infrastructure and applications. Learn [more](../automation/automation-intro.md). | Production, Dev/Test |-| [Log Analytics Workspace](../azure-monitor/logs/log-analytics-workspace-overview.md) | Azure Monitor stores log data in a Log Analytics workspace, which is an Azure resource and a container where data is collected, aggregated, and serves as an administrative boundary. Learn [more](../azure-monitor/logs/workspace-design.md). | Production, Dev/Test | +| [Log Analytics Workspace](/azure/azure-monitor/logs/log-analytics-workspace-overview) | Azure Monitor stores log data in a Log Analytics workspace, which is an Azure resource and a container where data is collected, aggregated, and serves as an administrative boundary. Learn [more](/azure/azure-monitor/logs/workspace-design). | Production, Dev/Test | <sup>1</sup> The configuration profile selection is available when you are enabling Automanage. Learn [more](overview-configuration-profiles.md). You can also create your own custom profile with the set of Azure services and settings that you need. |
automanage | Automanage Smb Over Quic | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/automanage-smb-over-quic.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). SMB over QUIC offers an "SMB VPN" for telecommuters, mobile device users, and branch offices, providing secure, reliable connectivity to edge file servers over untrusted networks like the Internet. To learn more about SMB over QUIC and how to configure SMB over QUIC, see [SMB over QUIC](/windows-server/storage/file-server/smb-over-quic). |
automanage | Automanage Upgrade | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/automanage-upgrade.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). Automanage machine best practices released the generally available API version. The API now supports creating custom profiles where you can pick and choose the services and settings you want to apply to your machines. This article describes the differences in the versions and how to upgrade. |
automanage | Automanage Windows Server | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/automanage-windows-server.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). These Azure services are automatically onboarded for you when you use Automanage Machine Best Practices on a Windows Server VM. They are essential to our best practices white paper, which you can find in our [Cloud Adoption Framework](/azure/cloud-adoption-framework/manage/azure-server-management). Automanage supports the following Windows versions: | Service | Description | Configuration Profile<sup>1</sup> | | - | | |-| [Machines Insights Monitoring](../azure-monitor/vm/vminsights-overview.md) | Azure Monitor for Machines monitors the performance and health of your virtual machines, including their running processes and dependencies on other resources. | Production | +| [Machines Insights Monitoring](/azure/azure-monitor/vm/vminsights-overview) | Azure Monitor for Machines monitors the performance and health of your virtual machines, including their running processes and dependencies on other resources. | Production | | [Backup](../backup/backup-overview.md) | Azure Backup provides independent and isolated backups to guard against unintended destruction of the data on your machines. Charges are based on the number and size of VMs being protected. | Production | | [Microsoft Defender for Cloud](/azure/defender-for-cloud/defender-for-cloud-introduction) | Microsoft Defender for Cloud is a unified infrastructure security management system that strengthens the security posture of your data centers, and provides advanced threat protection across your hybrid workloads in the cloud. Automanage will configure the subscription where your VM resides to the free-tier offering of Microsoft Defender for Cloud (Enhanced security off). If your subscription is already onboarded to Microsoft Defender for Cloud, then Automanage will not reconfigure it. | Production, Dev/Test | | [Microsoft Antimalware](../security/fundamentals/antimalware.md) | Microsoft Antimalware for Azure is a free real-time protection that helps identify and remove viruses, spyware, and other malicious software. It generates alerts when known malicious or unwanted software tries to install itself or run on your Azure systems. **Note:** Microsoft Antimalware requires that there be no other antimalware software installed, or it may fail to work. | Production, Dev/Test | Automanage supports the following Windows versions: | [Boot Diagnostics](/azure/virtual-machines/boot-diagnostics) | Boot diagnostics is a debugging feature for Azure virtual machines (VM) that allows diagnosis of VM boot failures. Boot diagnostics enables a user to observe the state of their VM as it is booting up by collecting serial log information and screenshots. This will only be enabled for machines that are using managed disks. | Production, Dev/Test | | [Windows Admin Center](/windows-server/manage/windows-admin-center/azure/manage-vm) | Use Windows Admin Center (preview) in the Azure portal to manage the Windows Server operating system inside an Azure VM. This is only supported for machines using Windows Server 2016 or higher. Automanage configures Windows Admin Center over a Private IP address. If you wish to connect with Windows Admin Center over a Public IP address, please open an inbound port rule for port 6516. Automanage onboards Windows Admin Center for the Dev/Test profile by default. Use the preferences to enable or disable Windows Admin Center for the Production and Dev/Test environments. | Production, Dev/Test | | [Azure Automation Account](../automation/automation-create-standalone-account.md) | Azure Automation supports management throughout the lifecycle of your infrastructure and applications. | Production, Dev/Test |-| [Log Analytics Workspace](../azure-monitor/logs/log-analytics-overview.md) | Azure Monitor stores log data in a Log Analytics workspace, which is an Azure resource and a container where data is collected, aggregated, and serves as an administrative boundary. | Production, Dev/Test | +| [Log Analytics Workspace](/azure/azure-monitor/logs/log-analytics-overview) | Azure Monitor stores log data in a Log Analytics workspace, which is an Azure resource and a container where data is collected, aggregated, and serves as an administrative boundary. | Production, Dev/Test | <sup>1</sup> The [configuration profile](overview-configuration-profiles.md) selection is available when you are enabling Automanage. You can also create your own custom profile with the set of Azure services and settings that you need. |
automanage | How To Disable Automanage | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/how-to-disable-automanage.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). You may decide one day to disable Automanage on certain VMs. For instance, your machine is running some super sensitive secure workload and you need to lock it down even further than Azure would have done naturally, so you need to configure the machine outside of Azure best practices. |
automanage | Move Automanaged Configuration Profile | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/move-automanaged-configuration-profile.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). This article describes how to migrate an Automanage Configuration Profile to a different region. You might want to move your Configuration Profiles to another region for many reasons. For example, to take advantage of a new Azure region, to meet internal policy and governance requirements, or in response to capacity planning requirements. You may want to deploy Azure Automanage to some VMs that are in a new region. Some regions may require that you use Automanage Configuration Profiles that are local to that region. |
automanage | Move Automanaged Vms | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/move-automanaged-vms.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). This article describes how to keep Automanage enabled on a virtual machine (VM) when you move it to a different region. You might want to move your virtual machines to another region for a number of reasons. For example, to take advantage of a new Azure region, to meet internal policy and governance requirements, or in response to capacity planning requirements. Those VMs that you move may be currently Automanaged, and you may want them to remain Automanaged after your move. |
automanage | Overview About | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/overview-about.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). This article covers information about Azure Automanage machine best practices, which have the following benefits: |
automanage | Overview Azure Disk Encryption | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/overview-azure-disk-encryption.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). Automanage is compatible with VMs that have Azure Disk Encryption (ADE) enabled. |
automanage | Overview Configuration Profiles | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/overview-configuration-profiles.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). When you are enabling Automanage for your machine, a configuration profile is required. Configuration profiles are the foundation of this service. They define which services we onboard your machines to and to some extent what the configuration of those services would be. |
automanage | Overview Vm Status | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/overview-vm-status.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). In the Azure portal, go to the **Automanage machine best practices** page which lists all of your automanage machines. Here you will see the overall status of each machine. |
automanage | Quick Create Virtual Machines Portal | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/quick-create-virtual-machines-portal.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). Get started with Azure Automanage for virtual machines by using the Azure portal to enable automanagement on a new or existing virtual machine. |
automanage | Repair Automanage Account | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/repair-automanage-account.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). > [!IMPORTANT] > This article is only relevant for machines that were onboarded to the earlier version of Automanage (API version 2020-06-30-preview). The status for these machines will be **Needs upgrade**. |
automanage | Virtual Machines Best Practices | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/virtual-machines-best-practices.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). These Azure services are automatically onboarded for you when you use Automanage. They are essential to our best practices white paper, which you can find in our [Cloud Adoption Framework](/azure/cloud-adoption-framework/manage/azure-server-management). For all of these services, we will auto-onboard, auto-configure, monitor for dri | Service | Description | Profiles Supported<sup>1</sup> | Preferences supported<sup>1</sup> | | - | | | |-| VM Insights Monitoring | Azure Monitor for VMs monitors the performance and health of your virtual machines, including their running processes and dependencies on other resources. Learn [more](../azure-monitor/vm/vminsights-overview.md). | Azure VM Best Practices ΓÇô Production | No | +| VM Insights Monitoring | Azure Monitor for VMs monitors the performance and health of your virtual machines, including their running processes and dependencies on other resources. Learn [more](/azure/azure-monitor/vm/vminsights-overview). | Azure VM Best Practices ΓÇô Production | No | | Backup | Azure Backup provides independent and isolated backups to guard against unintended destruction of the data on your VMs. Learn [more](../backup/backup-azure-vms-introduction.md). Charges are based on the number and size of VMs being protected. Learn [more](https://azure.microsoft.com/pricing/details/backup/). | Azure VM Best Practices ΓÇô Production | Yes | | Microsoft Defender for Cloud | Microsoft Defender for Cloud is a unified infrastructure security management system that strengthens the security posture of your data centers, and provides advanced threat protection across your hybrid workloads in the cloud. Learn [more](/azure/defender-for-cloud/defender-for-cloud-introduction). Automanage will configure the subscription where your VM resides to the free-tier offering of Microsoft Defender for Cloud. If your subscription is already onboarded to Microsoft Defender for Cloud, then automanaged will not reconfigure it. | Azure VM Best Practices ΓÇô Production, Azure VM Best Practices ΓÇô Dev/Test | No | | Microsoft Antimalware | Microsoft Antimalware for Azure is a free real-time protection that helps identify and remove viruses, spyware, and other malicious software. It generates alerts when known malicious or unwanted software tries to install itself or run on your Azure systems. Learn [more](../security/fundamentals/antimalware.md). | Azure VM Best Practices ΓÇô Production, Azure VM Best Practices ΓÇô Dev/Test | Yes | For all of these services, we will auto-onboard, auto-configure, monitor for dri | Change Tracking & Inventory | Change Tracking and Inventory combines change tracking and inventory functions to allow you to track virtual machine and server infrastructure changes. The service supports change tracking across services, daemons software, registry, and files in your environment to help you diagnose unwanted changes and raise alerts. Inventory support allows you to query in-guest resources for visibility into installed applications and other configuration items. Learn [more](../automation/change-tracking/overview.md). | Azure VM Best Practices ΓÇô Production, Azure VM Best Practices ΓÇô Dev/Test | No | | Guest configuration | Guest configuration is used to monitor the configuration and report on the compliance of the machine. The Automanage service will install the [Windows security baselines](/windows/security/threat-protection/windows-security-baselines) using the guest configuration extension. Learn [more](../governance/machine-configuration/overview.md). | Azure VM Best Practices ΓÇô Production, Azure VM Best Practices ΓÇô Dev/Test | No | | Azure Automation Account | Azure Automation supports management throughout the lifecycle of your infrastructure and applications. Learn [more](../automation/automation-intro.md). | Azure VM Best Practices ΓÇô Production, Azure VM Best Practices ΓÇô Dev/Test | No |-| Log Analytics Workspace | Azure Monitor stores log data in a Log Analytics workspace, which is an Azure resource and a container where data is collected, aggregated, and serves as an administrative boundary. Learn [more](../azure-monitor/logs/log-analytics-workspace-overview.md). | Azure VM Best Practices ΓÇô Production, Azure VM Best Practices ΓÇô Dev/Test | No | +| Log Analytics Workspace | Azure Monitor stores log data in a Log Analytics workspace, which is an Azure resource and a container where data is collected, aggregated, and serves as an administrative boundary. Learn [more](/azure/azure-monitor/logs/log-analytics-workspace-overview). | Azure VM Best Practices ΓÇô Production, Azure VM Best Practices ΓÇô Dev/Test | No | <sup>1</sup> Configuration profiles are available when you are enabling Automanage. Learn [more](overview-about.md). You can also adjust the default settings of the configuration profile and set your own preferences within the best practices constraints. |
automanage | Virtual Machines Custom Profile | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/virtual-machines-custom-profile.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). Azure Automanage for Virtual Machines includes default best practice profiles that can't be edited. However, if you need more flexibility, you can pick and choose the set of services and settings by creating a custom profile. |
automanage | Virtual Machines Policy Enable | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/virtual-machines-policy-enable.md | -> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](https://learn.microsoft.com/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://ms.portal.azure.com/). +> On 31 August 2024, both Automation Update Management and the Log Analytics agent it uses will be retired. Migrate to Azure Update Manager before that. Refer to guidance on migrating to Azure Update Manager [here](/azure/update-manager/guidance-migration-automation-update-management-azure-update-manager?WT.mc_id=Portal-Microsoft_Azure_Automation). [Migrate Now](https://portal.azure.com/). If you want to enable Automanage for lots of VMs, you can do that using a built-in [Azure Policy](..\governance\azure-management.md). This article will walk you through finding the right policy and how to assign it in order to enable Automanage in the Azure portal. |
automation | Automation Alert Metric | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-alert-metric.md | -In this article, you learn how to create a [metric alert](../azure-monitor/alerts/alerts-metric-overview.md) based on runbook completion status. +In this article, you learn how to create a [metric alert](/azure/azure-monitor/alerts/alerts-metric-overview) based on runbook completion status. ## Sign in to Azure Alerts allow you to define a condition to monitor for and an action to take when ### Define the action to take -1. Under **Action group**, select **Specify action group**. An action group is a group of actions that you can use across more than one alert. These can include but aren't limited to, email notifications, runbooks, webhooks, and many more. To learn more about action groups and steps to create one that sends an email notification, see [Create and manage action groups](../azure-monitor/alerts/action-groups.md). +1. Under **Action group**, select **Specify action group**. An action group is a group of actions that you can use across more than one alert. These can include but aren't limited to, email notifications, runbooks, webhooks, and many more. To learn more about action groups and steps to create one that sends an email notification, see [Create and manage action groups](/azure/azure-monitor/alerts/action-groups). ### Define alert details |
automation | Automation Create Alert Triggered Runbook | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-create-alert-triggered-runbook.md | -You can use [Azure Monitor](../azure-monitor/overview.md) to monitor base-level metrics and logs for most services in Azure. You can call Azure Automation runbooks by using [action groups](../azure-monitor/alerts/action-groups.md) to automate tasks based on alerts. This article shows you how to configure and run a runbook by using alerts. +You can use [Azure Monitor](/azure/azure-monitor/overview) to monitor base-level metrics and logs for most services in Azure. You can call Azure Automation runbooks by using [action groups](/azure/azure-monitor/alerts/action-groups) to automate tasks based on alerts. This article shows you how to configure and run a runbook by using alerts. ## Prerequisites You can use automation runbooks with three alert types: * Near-real-time metric alerts > [!NOTE]-> The common alert schema standardizes the consumption experience for alert notifications in Azure. Historically, the three alert types in Azure (metric, log, and activity log) have had their own email templates, webhook schemas, etc. To learn more, see [Common alert schema](../azure-monitor/alerts/alerts-common-schema.md). +> The common alert schema standardizes the consumption experience for alert notifications in Azure. Historically, the three alert types in Azure (metric, log, and activity log) have had their own email templates, webhook schemas, etc. To learn more, see [Common alert schema](/azure/azure-monitor/alerts/alerts-common-schema). When an alert calls a runbook, the actual call is an HTTP POST request to the webhook. The body of the POST request contains a JSON-formated object that has useful properties that are related to the alert. The following table lists links to the payload schema for each alert type: |Alert |Description|Payload schema | ||||-|[Common alert](../azure-monitor/alerts/alerts-common-schema.md)|The common alert schema that standardizes the consumption experience for alert notifications in Azure today.|Common alert payload schema.| -|[Activity log alert](../azure-monitor/alerts/activity-log-alerts.md) |Sends a notification when any new event in the Azure activity log matches specific conditions. For example, when a `Delete VM` operation occurs in **myProductionResourceGroup** or when a new Azure Service Health event with an Active status appears.| [Activity log alert payload schema](../azure-monitor/alerts/activity-log-alerts-webhook.md) | -|[Near real-time metric alert](../azure-monitor/alerts/alerts-metric-near-real-time.md) | Sends a notification faster than metric alerts when one or more platform-level metrics meet specified conditions. For example, when the value for **CPU %** on a VM is greater than 90, and the value for **Network In** is greater than 500 MB for the past 5 minutes.| [Near real-time metric alert payload schema](../azure-monitor/alerts/alerts-webhooks.md#payload-schema) | +|[Common alert](/azure/azure-monitor/alerts/alerts-common-schema)|The common alert schema that standardizes the consumption experience for alert notifications in Azure today.|Common alert payload schema.| +|[Activity log alert](/azure/azure-monitor/alerts/activity-log-alerts) |Sends a notification when any new event in the Azure activity log matches specific conditions. For example, when a `Delete VM` operation occurs in **myProductionResourceGroup** or when a new Azure Service Health event with an Active status appears.| [Activity log alert payload schema](/azure/azure-monitor/alerts/activity-log-alerts-webhook) | +|[Near real-time metric alert](/azure/azure-monitor/alerts/alerts-metric-near-real-time) | Sends a notification faster than metric alerts when one or more platform-level metrics meet specified conditions. For example, when the value for **CPU %** on a VM is greater than 90, and the value for **Network In** is greater than 500 MB for the past 5 minutes.| [Near real-time metric alert payload schema](/azure/azure-monitor/alerts/alerts-webhooks#payload-schema) | Because the data that's provided by each type of alert is different, each alert type is handled differently. In the next section, you learn how to create a runbook to handle different types of alerts. Alerts use action groups, which are collections of actions that are triggered by 1. Under **Alert rule details**, for the **Alert rule name** text box. -1. Select **Create alert rule**. You can use the action group in the [activity log alerts](../azure-monitor/alerts/activity-log-alerts.md) and [near real-time alerts](../azure-monitor/alerts/alerts-overview.md) that you create. +1. Select **Create alert rule**. You can use the action group in the [activity log alerts](/azure/azure-monitor/alerts/activity-log-alerts) and [near real-time alerts](/azure/azure-monitor/alerts/alerts-overview) that you create. ## Verification Azure Automation provides scripts for common Azure VM management operations like ## Next steps * Discover different ways to start a runbook, see [Start a runbook](./start-runbooks.md).-* Create an activity log alert, see [Create activity log alerts](../azure-monitor/alerts/activity-log-alerts.md). -* Learn how to create a near real-time alert, see [Create an alert rule in the Azure portal](../azure-monitor/alerts/alerts-metric.md?toc=/azure/azure-monitor/toc.json). +* Create an activity log alert, see [Create activity log alerts](/azure/azure-monitor/alerts/activity-log-alerts). +* Learn how to create a near real-time alert, see [Create an alert rule in the Azure portal](/azure/azure-monitor/alerts/alerts-metric?toc=/azure/azure-monitor/toc.json). |
automation | Automation Dsc Diagnostics | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-dsc-diagnostics.md | -Azure Automation State Configuration retains node status data for 30 days. You can send node status data to [Azure Monitor Logs](../azure-monitor/logs/data-platform-logs.md) if you prefer to retain this data for a longer period. Compliance status is visible in the Azure portal or with PowerShell, for nodes and for individual DSC resources in node configurations. +Azure Automation State Configuration retains node status data for 30 days. You can send node status data to [Azure Monitor Logs](/azure/azure-monitor/logs/data-platform-logs) if you prefer to retain this data for a longer period. Compliance status is visible in the Azure portal or with PowerShell, for nodes and for individual DSC resources in node configurations. Azure Monitor Logs provides greater operational visibility to your Automation State Configuration data and can help address incidents more quickly. With Azure Monitor Logs you can: To start sending your Automation State Configuration reports to Azure Monitor Lo * The PowerShell [Az Module](/powershell/azure/new-azureps-module-az) installed. Ensure you have the latest version. If necessary, run `Update-Module -Name Az`. - An Azure Automation account. For more information, see [An introduction to Azure Automation](automation-intro.md).-- A Log Analytics workspace. For more information, see [Azure Monitor Logs overview](../azure-monitor/logs/data-platform-logs.md).+- A Log Analytics workspace. For more information, see [Azure Monitor Logs overview](/azure/azure-monitor/logs/data-platform-logs). - At least one Azure Automation State Configuration node. For more information, see [Onboarding machines for management by Azure Automation State Configuration](automation-dsc-onboarding.md). - The [xDscDiagnostics](https://www.powershellgallery.com/packages/xDscDiagnostics/2.7.0.0) module, version 2.7.0.0 or greater. For installation steps, see [Troubleshoot Azure Automation Desired State Configuration](./troubleshoot/desired-state-configuration.md). Filtering details: - Filter on `DscResourceStatusData` to return operations for each DSC resource called in the node configuration applied to that resource. - Filter on `DscResourceStatusData` to return error information for any DSC resources that fail. -To learn more about constructing log queries to find data, see [Overview of log queries in Azure Monitor](../azure-monitor/logs/log-query-overview.md). +To learn more about constructing log queries to find data, see [Overview of log queries in Azure Monitor](/azure/azure-monitor/logs/log-query-overview). ### Send an email when a State Configuration compliance check fails To learn more about constructing log queries to find data, see [Overview of log If you have set up logs from more than one Automation account or subscription to your workspace, you can group your alerts by subscription and Automation account. Derive the Automation account name from the `Resource` property in the log search results of the `DscNodeStatusData`. -1. Review [Create, view, and manage metric alerts using Azure Monitor](../azure-monitor/alerts/alerts-metric.md) to complete the remaining steps. +1. Review [Create, view, and manage metric alerts using Azure Monitor](/azure/azure-monitor/alerts/alerts-metric) to complete the remaining steps. ### Find failed DSC resources across all nodes Azure Automation diagnostics create two categories of records in Azure Monitor L - For a PowerShell cmdlet reference, see [Az.Automation](/powershell/module/az.automation). - For pricing information, see [Azure Automation State Configuration pricing](https://azure.microsoft.com/pricing/details/automation/). - To see an example of using Azure Automation State Configuration in a continuous deployment pipeline, see [Set up continuous deployment with Chocolatey](automation-dsc-cd-chocolatey.md).-- To learn more about how to construct different search queries and review the Automation State Configuration logs with Azure Monitor Logs, see [Log searches in Azure Monitor Logs](../azure-monitor/logs/log-query-overview.md).-- To learn more about Azure Monitor Logs and data collection sources, see [Collecting Azure storage data in Azure Monitor Logs overview](../azure-monitor/essentials/resource-logs.md#send-to-log-analytics-workspace).+- To learn more about how to construct different search queries and review the Automation State Configuration logs with Azure Monitor Logs, see [Log searches in Azure Monitor Logs](/azure/azure-monitor/logs/log-query-overview). +- To learn more about Azure Monitor Logs and data collection sources, see [Collecting Azure storage data in Azure Monitor Logs overview](/azure/azure-monitor/essentials/resource-logs#send-to-log-analytics-workspace). |
automation | Automation Hybrid Runbook Worker | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-hybrid-runbook-worker.md | Azure Automation provides native integration of the Hybrid Runbook Worker role t | Platform | Description | ||| |**Extension-based (V2)** |Installed using the [Hybrid Runbook Worker VM extension](./extension-based-hybrid-runbook-worker-install.md), without any dependency on the Log Analytics agent reporting to an Azure Monitor Log Analytics workspace. **This is the recommended platform**.|-|**Agent-based (V1)** |Installed after the [Log Analytics agent](../azure-monitor/agents/log-analytics-agent.md) reporting to an Azure Monitor [Log Analytics workspace](../azure-monitor/logs/log-analytics-workspace-overview.md) is completed.| +|**Agent-based (V1)** |Installed after the [Log Analytics agent](/azure/azure-monitor/agents/log-analytics-agent) reporting to an Azure Monitor [Log Analytics workspace](/azure/azure-monitor/logs/log-analytics-workspace-overview) is completed.| :::image type="content" source="./media/automation-hybrid-runbook-worker/hybrid-worker-group-platform-inline.png" alt-text="Screenshot of hybrid worker group showing platform field." lightbox="./media/automation-hybrid-runbook-worker/hybrid-worker-group-platform-expanded.png"::: There are two types of Runbook Workers - system and user. The following table de |**System** |Supports a set of hidden runbooks used by the Update Management feature that are designed to install user-specified updates on Windows and Linux machines.<br> This type of Hybrid Runbook Worker isn't a member of a Hybrid Runbook Worker group, and therefore doesn't run runbooks that target a Runbook Worker group. | |**User** |Supports user-defined runbooks intended to run directly on the Windows and Linux machines. | -Agent-based (V1) Hybrid Runbook Workers rely on the [Log Analytics agent](../azure-monitor/agents/log-analytics-agent.md) reporting to an Azure Monitor [Log Analytics workspace](../azure-monitor/logs/log-analytics-workspace-overview.md). The workspace isn't only to collect monitoring data from the machine, but also to download the components required to install the agent-based Hybrid Runbook Worker. +Agent-based (V1) Hybrid Runbook Workers rely on the [Log Analytics agent](/azure/azure-monitor/agents/log-analytics-agent) reporting to an Azure Monitor [Log Analytics workspace](/azure/azure-monitor/logs/log-analytics-workspace-overview). The workspace isn't only to collect monitoring data from the machine, but also to download the components required to install the agent-based Hybrid Runbook Worker. When Azure Automation [Update Management](./update-management/overview.md) is enabled, any machine connected to your Log Analytics workspace is automatically configured as a system Hybrid Runbook Worker. To configure it as a user Windows Hybrid Runbook Worker, see [Deploy an agent-based Windows Hybrid Runbook Worker in Automation](automation-windows-hrw-install.md) and for Linux, see [Deploy an agent-based Linux Hybrid Runbook Worker in Automation](./automation-linux-hrw-install.md). If you use a proxy server for communication between Azure Automation and machine ### Firewall use -If you use a firewall to restrict access to the Internet, you must configure the firewall to permit access. If using the Log Analytics gateway as a proxy, ensure that it's configured for Hybrid Runbook Workers. See [Configure the Log Analytics gateway for Automation Hybrid Runbook Workers](../azure-monitor/agents/gateway.md). +If you use a firewall to restrict access to the Internet, you must configure the firewall to permit access. If using the Log Analytics gateway as a proxy, ensure that it's configured for Hybrid Runbook Workers. See [Configure the Log Analytics gateway for Automation Hybrid Runbook Workers](/azure/azure-monitor/agents/gateway). ### Service tags |
automation | Automation Linux Hrw Install | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-linux-hrw-install.md | Before you start, make sure that you've the following. ### A Log Analytics workspace -The Hybrid Runbook Worker role depends on an Azure Monitor Log Analytics workspace to install and configure the role. You can create it through [Azure Resource Manager](../azure-monitor/logs/resource-manager-workspace.md#create-a-log-analytics-workspace), through [PowerShell](../azure-monitor/logs/powershell-workspace-configuration.md?toc=%2fpowershell%2fmodule%2ftoc.json), or in the [Azure portal](../azure-monitor/logs/quick-create-workspace.md). +The Hybrid Runbook Worker role depends on an Azure Monitor Log Analytics workspace to install and configure the role. You can create it through [Azure Resource Manager](/azure/azure-monitor/logs/resource-manager-workspace#create-a-log-analytics-workspace), through [PowerShell](/azure/azure-monitor/logs/powershell-workspace-configuration?toc=%2fpowershell%2fmodule%2ftoc.json), or in the [Azure portal](/azure/azure-monitor/logs/quick-create-workspace). -If you don't have an Azure Monitor Log Analytics workspace, review the [Azure Monitor Log design guidance](../azure-monitor/logs/workspace-design.md) before you create the workspace. +If you don't have an Azure Monitor Log Analytics workspace, review the [Azure Monitor Log design guidance](/azure/azure-monitor/logs/workspace-design) before you create the workspace. ### Log Analytics agent -The Hybrid Runbook Worker role requires the [Log Analytics agent](../azure-monitor/agents/log-analytics-agent.md) for the supported Linux operating system. For servers or machines hosted outside of Azure, you can install the Log Analytics agent using [Azure Arc-enabled servers](../azure-arc/servers/overview.md). The agent is installed with certain service accounts that execute commands requiring root permissions. For more information, see [Service accounts](./automation-hrw-run-runbooks.md#service-accounts). +The Hybrid Runbook Worker role requires the [Log Analytics agent](/azure/azure-monitor/agents/log-analytics-agent) for the supported Linux operating system. For servers or machines hosted outside of Azure, you can install the Log Analytics agent using [Azure Arc-enabled servers](../azure-arc/servers/overview.md). The agent is installed with certain service accounts that execute commands requiring root permissions. For more information, see [Service accounts](./automation-hrw-run-runbooks.md#service-accounts). ### Supported Linux operating systems |
automation | Automation Manage Send Joblogs Log Analytics | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-manage-send-joblogs-log-analytics.md | Azure Automation can send runbook job status and job streams to your Log Analyti - Use customized views and search queries to visualize your runbook results, runbook job status, and other related key indicators or metrics through an [Azure dashboard](../azure-portal/azure-portal-dashboards.md). - Get the audit logs related to Automation accounts, runbooks, and other asset create, modify and delete operations. -Using Azure Monitor logs, you can consolidate logs from different resources in the same workspace where it can be analyzed with [queries](../azure-monitor/logs/log-query-overview.md) to quickly retrieve, consolidate, and analyze the collected data. You can create and test queries using [Log Analytics](../azure-monitor/logs/log-query-overview.md) in the Azure portal and then either directly analyze the data using these tools or save queries for use with [visualization](../azure-monitor/best-practices-analysis.md) or [alert rules](../azure-monitor/alerts/alerts-overview.md). +Using Azure Monitor logs, you can consolidate logs from different resources in the same workspace where it can be analyzed with [queries](/azure/azure-monitor/logs/log-query-overview) to quickly retrieve, consolidate, and analyze the collected data. You can create and test queries using [Log Analytics](/azure/azure-monitor/logs/log-query-overview) in the Azure portal and then either directly analyze the data using these tools or save queries for use with [visualization](/azure/azure-monitor/best-practices-analysis) or [alert rules](/azure/azure-monitor/alerts/alerts-overview). -Azure Monitor uses a version of the [Kusto query language (KQL)](/azure/kusto/query/) used by Azure Data Explorer that is suitable for simple log queries. It also includes advanced functionality such as aggregations, joins, and smart analytics. You can quickly learn the query language using [multiple lessons](../azure-monitor/logs/get-started-queries.md). +Azure Monitor uses a version of the [Kusto query language (KQL)](/azure/kusto/query/) used by Azure Data Explorer that is suitable for simple log queries. It also includes advanced functionality such as aggregations, joins, and smart analytics. You can quickly learn the query language using [multiple lessons](/azure/azure-monitor/logs/get-started-queries). ## Azure Automation diagnostic settings You can configure diagnostic settings in the Azure portal from the menu for the :::image type="content" source="media/automation-manage-send-joblogs-log-analytics/destination-details-options-inline.png" alt-text="Screenshot showing selections in destination details section." lightbox="media/automation-manage-send-joblogs-log-analytics/destination-details-options-expanded.png"::: - - **Log Analytics** : Enter the Subscription ID and workspace name. If you don't have a workspace, you must [create one before proceeding](../azure-monitor/logs/quick-create-workspace.md). + - **Log Analytics** : Enter the Subscription ID and workspace name. If you don't have a workspace, you must [create one before proceeding](/azure/azure-monitor/logs/quick-create-workspace). - **Event Hubs**: Specify the following criteria: - Subscription: The same subscription as that of the Event Hub. You can configure diagnostic settings in the Azure portal from the menu for the 1. Click **Save**. -After a few moments, the new setting appears in your list of settings for this resource, and logs are streamed to the specified destinations as new event data is generated. There can be 15 minutes time difference between the event emitted and its appearance in [Log Analytics workspace](../azure-monitor/logs/data-ingestion-time.md). +After a few moments, the new setting appears in your list of settings for this resource, and logs are streamed to the specified destinations as new event data is generated. There can be 15 minutes time difference between the event emitted and its appearance in [Log Analytics workspace](/azure/azure-monitor/logs/data-ingestion-time). ## Query the logs To create an alert rule, create a log search for the runbook job records that sh ```kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s ```- 1. To open the **Create alert rule** screen, click **+New alert rule** on the top of the page. For more information on the options to configure the alerts, see [Log alerts in Azure](../azure-monitor/alerts/alerts-log.md#create-a-new-log-alert-rule-in-the-azure-portal) + 1. To open the **Create alert rule** screen, click **+New alert rule** on the top of the page. For more information on the options to configure the alerts, see [Log alerts in Azure](/azure/azure-monitor/alerts/alerts-log#create-a-new-log-alert-rule-in-the-azure-portal) ## Azure Automation diagnostic audit logs You can now send audit logs also to the Azure Monitor workspace. This allows ent ## Difference between activity logs and audit logs -Activity log is aΓÇ»[platform log](../azure-monitor/essentials/platform-logs-overview.md)in Azure that provides insight into subscription-level events. The activity log for Automation account includes information about when an automation resource is modified or created or deleted. However, it does not capture the name or ID of the resource. +Activity log is aΓÇ»[platform log](/azure/azure-monitor/essentials/platform-logs-overview)in Azure that provides insight into subscription-level events. The activity log for Automation account includes information about when an automation resource is modified or created or deleted. However, it does not capture the name or ID of the resource. Audit logs for Automation accounts capture the name and ID of the resource such as automation variable, credential, connection and so on, along with the type of the operation performed for the resource and Azure Automation would scrub some details like client IP data conforming to the GDPR compliance. AzureDiagnostics ## Next steps -* To learn how to construct search queries and review the Automation job logs with Azure Monitor logs, see [Log searches in Azure Monitor logs](../azure-monitor/logs/log-query-overview.md). +* To learn how to construct search queries and review the Automation job logs with Azure Monitor logs, see [Log searches in Azure Monitor logs](/azure/azure-monitor/logs/log-query-overview). * To understand creation and retrieval of output and error messages from runbooks, see [Monitor runbook output](automation-runbook-output-and-messages.md). * To learn more about runbook execution, how to monitor runbook jobs, and other technical details, see [Runbook execution in Azure Automation](automation-runbook-execution.md).-* To learn more about Azure Monitor logs and data collection sources, see [Collecting Azure storage data in Azure Monitor logs overview](../azure-monitor/essentials/resource-logs.md#send-to-log-analytics-workspace). -* For help troubleshooting Log Analytics, see [Troubleshooting why Log Analytics is no longer collecting data](../azure-monitor/logs/data-collection-troubleshoot.md). +* To learn more about Azure Monitor logs and data collection sources, see [Collecting Azure storage data in Azure Monitor logs overview](/azure/azure-monitor/essentials/resource-logs#send-to-log-analytics-workspace). +* For help troubleshooting Log Analytics, see [Troubleshooting why Log Analytics is no longer collecting data](/azure/azure-monitor/logs/data-collection-troubleshoot). |
automation | Automation Managing Data | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-managing-data.md | To ensure the security of data in transit to Azure Automation, we strongly encou Older versions of TLS/Secure Sockets Layer (SSL) have been found to be vulnerable and while they still currently work to allow backwards compatibility, they are **not recommended**. We do not recommend explicitly setting your agent to only use TLS 1.2 unless its necessary, as it can break platform level security features that allow you to automatically detect and take advantage of newer more secure protocols as they become available, such as TLS 1.3. -For information about TLS support with the Log Analytics agent for Windows and Linux, which is a dependency for the Hybrid Runbook Worker role, see [Log Analytics agent overview - TLS](../azure-monitor/agents/log-analytics-agent.md#tls-protocol). +For information about TLS support with the Log Analytics agent for Windows and Linux, which is a dependency for the Hybrid Runbook Worker role, see [Log Analytics agent overview - TLS](/azure/azure-monitor/agents/log-analytics-agent#tls-protocol). ### Upgrade TLS protocol for Hybrid Workers and Webhook calls |
automation | Automation Network Configuration | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-network-configuration.md | The following port and URLs are required for the Hybrid Runbook Worker, and for ### Network planning for Hybrid Runbook Worker -For either a system or user Hybrid Runbook Worker to connect to and register with Azure Automation, it must have access to the port number and URLs described in this section. The worker must also have access to the [ports and URLs required for the Log Analytics agent](../azure-monitor/agents/log-analytics-agent.md) to connect to the Azure Monitor Log Analytics workspace. +For either a system or user Hybrid Runbook Worker to connect to and register with Azure Automation, it must have access to the port number and URLs described in this section. The worker must also have access to the [ports and URLs required for the Log Analytics agent](/azure/azure-monitor/agents/log-analytics-agent) to connect to the Azure Monitor Log Analytics workspace. If you have an Automation account that's defined for a specific region, you can restrict Hybrid Runbook Worker communication to that regional datacenter. Review the [DNS records used by Azure Automation](how-to/automation-region-dns-records.md) for the required DNS records. |
automation | Automation Runbook Execution | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-runbook-execution.md | A runbook requires appropriate [credentials](shared-resources/credentials.md) to ## Azure Monitor -Azure Automation makes use of [Azure Monitor](../azure-monitor/overview.md) for monitoring its machine operations. The operations require a Log Analytics workspace and a [Log Analytics agent](../azure-monitor/agents/log-analytics-agent.md). +Azure Automation makes use of [Azure Monitor](/azure/azure-monitor/overview) for monitoring its machine operations. The operations require a Log Analytics workspace and a [Log Analytics agent](/azure/azure-monitor/agents/log-analytics-agent). ### Log Analytics agent for Windows -The [Log Analytics agent for Windows](../azure-monitor/agents/agent-windows.md) works with Azure Monitor to manage Windows VMs and physical computers. The machines can be running either in Azure or in a non-Azure environment, such as a local datacenter. +The [Log Analytics agent for Windows](/azure/azure-monitor/agents/agent-windows) works with Azure Monitor to manage Windows VMs and physical computers. The machines can be running either in Azure or in a non-Azure environment, such as a local datacenter. >[!NOTE] >The Log Analytics agent for Windows was previously known as the Microsoft Monitoring Agent (MMA). ### Log Analytics agent for Linux -The [Log Analytics agent for Linux](../azure-monitor/agents/agent-linux.md) works similarly to the agent for Windows, but connects Linux computers to Azure Monitor. The agent is installed with certain service accounts that execute commands requiring root permissions. For more information, see [Service accounts](./automation-hrw-run-runbooks.md#service-accounts). +The [Log Analytics agent for Linux](/azure/azure-monitor/agents/agent-linux) works similarly to the agent for Windows, but connects Linux computers to Azure Monitor. The agent is installed with certain service accounts that execute commands requiring root permissions. For more information, see [Service accounts](./automation-hrw-run-runbooks.md#service-accounts). The Log Analytics agent log is located at `/var/opt/microsoft/omsagent/log/omsagent.log`. |
automation | Automation Tutorial Installed Software | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-tutorial-installed-software.md | First you need to enable Change tracking and Inventory for this tutorial. If you 1. Navigate to your Automation account and select **Inventory** or **Change tracking** under **Configuration Management**. -2. Choose the [Log Analytics](../azure-monitor/logs/log-query-overview.md) workspace. This workspace collects data that is generated by features such as Change Tracking and Inventory. The workspace provides a single location to review and analyze data from multiple sources. +2. Choose the [Log Analytics](/azure/azure-monitor/logs/log-query-overview) workspace. This workspace collects data that is generated by features such as Change Tracking and Inventory. The workspace provides a single location to review and analyze data from multiple sources. [!INCLUDE [azure-monitor-log-analytics-rebrand](~/reusable-content/ce-skilling/azure/includes/azure-monitor-log-analytics-rebrand.md)] After the feature is enabled, information about installed software and changes o To enable non-Azure machines for the feature: -1. Install the [Log Analytics agent for Windows](../azure-monitor/agents/agent-windows.md) or [Log Analytics agent for Linux](automation-linux-hrw-install.md), depending on your operating system. +1. Install the [Log Analytics agent for Windows](/azure/azure-monitor/agents/agent-windows) or [Log Analytics agent for Linux](automation-linux-hrw-install.md), depending on your operating system. 2. Navigate to your Automation account and go to **Inventory** or **Change tracking** under **Configuration Management**. ConfigurationData | summarize arg_max(TimeGenerated, *) by SoftwareName, Computer ``` -To learn more about running and searching log files in Azure Monitor logs, see [Azure Monitor logs](../azure-monitor/logs/log-query-overview.md). +To learn more about running and searching log files in Azure Monitor logs, see [Azure Monitor logs](/azure/azure-monitor/logs/log-query-overview). ## See the software inventory for a single machine |
automation | Automation Windows Hrw Install | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-windows-hrw-install.md | Before you start, make sure that you have the following. ### A Log Analytics workspace -The Hybrid Runbook Worker role depends on an Azure Monitor Log Analytics workspace to install and configure the role. You can create it through [Azure Resource Manager](../azure-monitor/logs/resource-manager-workspace.md#create-a-log-analytics-workspace), through [PowerShell](../azure-monitor/logs/powershell-workspace-configuration.md?toc=%2fpowershell%2fmodule%2ftoc.json), or in the [Azure portal](../azure-monitor/logs/quick-create-workspace.md). +The Hybrid Runbook Worker role depends on an Azure Monitor Log Analytics workspace to install and configure the role. You can create it through [Azure Resource Manager](/azure/azure-monitor/logs/resource-manager-workspace#create-a-log-analytics-workspace), through [PowerShell](/azure/azure-monitor/logs/powershell-workspace-configuration?toc=%2fpowershell%2fmodule%2ftoc.json), or in the [Azure portal](/azure/azure-monitor/logs/quick-create-workspace). -If you don't have an Azure Monitor Log Analytics workspace, review the [Azure Monitor Log design guidance](../azure-monitor/logs/workspace-design.md) before you create the workspace. +If you don't have an Azure Monitor Log Analytics workspace, review the [Azure Monitor Log design guidance](/azure/azure-monitor/logs/workspace-design) before you create the workspace. ### Log Analytics agent -The Hybrid Runbook Worker role requires the [Log Analytics agent](../azure-monitor/agents/log-analytics-agent.md) for the supported Windows operating system. For servers or machines hosted outside of Azure, you can install the Log Analytics agent using [Azure Arc-enabled servers](../azure-arc/servers/overview.md). +The Hybrid Runbook Worker role requires the [Log Analytics agent](/azure/azure-monitor/agents/log-analytics-agent) for the supported Windows operating system. For servers or machines hosted outside of Azure, you can install the Log Analytics agent using [Azure Arc-enabled servers](../azure-arc/servers/overview.md). ### Supported Windows operating system The *Azure Automation* folder has a sub-folder with the version number as the na ## Update Log Analytics agent to latest version -Azure Automation [Agent-based User Hybrid Runbook Worker](automation-hybrid-runbook-worker.md) (V1) requires the [Log Analytics agent](../azure-monitor/agents/log-analytics-agent.md) (also known as MMA agent) during the installation of the Hybrid Worker. We recommend you to update the Log Analytics agent to the latest version to reduce security vulnerabilities and benefit from bug fixes. +Azure Automation [Agent-based User Hybrid Runbook Worker](automation-hybrid-runbook-worker.md) (V1) requires the [Log Analytics agent](/azure/azure-monitor/agents/log-analytics-agent) (also known as MMA agent) during the installation of the Hybrid Worker. We recommend you to update the Log Analytics agent to the latest version to reduce security vulnerabilities and benefit from bug fixes. Log Analytics agent versions prior to [10.20.18053 (bundle) and 1.0.18053.0 (extension)](/azure/virtual-machines/extensions/oms-windows#agent-and-vm-extension-version) use an older method of certificate handling, and hence it is **not recommended**. Hybrid Workers on the outdated agents will not be able to connect to Azure, and Azure Automation jobs executed by these Hybrid Workers will stop. You must update the Log Analytics agent to the latest version by following the below steps: 1. Check the current version of the Log Analytics agent for your Windows Hybrid Worker: Go to the installation path - *C:\ProgramFiles\Microsoft Monitoring Agent\Agent* and right-click *HealthService.exe* to check **Properties**. The field **Product version** provides the version number of the Log Analytics agent.-2. If your Log Analytics agent version is prior to [10.20.18053 (bundle) and 1.0.18053.0 (extension)](/azure/virtual-machines/extensions/oms-windows#agent-and-vm-extension-version), upgrade to the latest version of the Windows Log Analytics agent, following these [guidelines](../azure-monitor/agents/agent-manage.md). +2. If your Log Analytics agent version is prior to [10.20.18053 (bundle) and 1.0.18053.0 (extension)](/azure/virtual-machines/extensions/oms-windows#agent-and-vm-extension-version), upgrade to the latest version of the Windows Log Analytics agent, following these [guidelines](/azure/azure-monitor/agents/agent-manage). > [!NOTE] > Any Azure Automation jobs running on the Hybrid Worker during the upgrade process might stop. Ensure that there arenΓÇÖt any jobs running or scheduled during the Log Analytics agent upgrade. |
automation | Configure Alerts | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/change-tracking/configure-alerts.md | -If you're not familiar with Azure Monitor alerts, see [Overview of alerts in Microsoft Azure](../../azure-monitor/alerts/alerts-overview.md) before you start. To learn more about alerts that use log queries, see [Log alerts in Azure Monitor](../../azure-monitor/alerts/alerts-unified-log.md). +If you're not familiar with Azure Monitor alerts, see [Overview of alerts in Microsoft Azure](/azure/azure-monitor/alerts/alerts-overview) before you start. To learn more about alerts that use log queries, see [Log alerts in Azure Monitor](/azure/azure-monitor/alerts/alerts-unified-log). ## Create alert Let's use this example to discuss the steps for creating alerts on a change. 5. After the alert logic is set, assign action groups to perform actions in response to triggering of the alert. In this case, we're setting up emails to be sent and an IT Service Management (ITSM) ticket to be created. -Follow the steps below to set up alerts to let you know the status of an update deployment. If you are new to Azure alerts, see [Azure Alerts overview](../../azure-monitor/alerts/alerts-overview.md). +Follow the steps below to set up alerts to let you know the status of an update deployment. If you are new to Azure alerts, see [Azure Alerts overview](/azure/azure-monitor/alerts/alerts-overview). ## Configure action groups for your alerts -Once you have your alerts configured, you can set up an action group, which is a group of actions to use across multiple alerts. The actions can include email notifications, runbooks, webhooks, and much more. To learn more about action groups, see [Create and manage action groups](../../azure-monitor/alerts/action-groups.md). +Once you have your alerts configured, you can set up an |