diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 96d419498956b..a7d37b4cac053 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -21896,7 +21896,7 @@ }, { "source_path": "articles/service-fabric/service-fabric-patch-orchestration-application-linux.md", - "redirect_url": "/azure/service-fabric/service-fabric-patch-orchestration-application", + "redirect_url": "/azure/service-fabric/service-fabric-patch-orchestration-application#frequently-asked-questions", "redirect_document_id": false }, { @@ -33909,8 +33909,8 @@ "redirect_document_id": "false" }, { - "source_path": "articles/monitoring/monitoring-vminsights-onboard.md", - "redirect_url": "/azure/azure-monitor/insights/vminsights-onboard", + "source_path": "articles/azure-monitor/insights/vminsights-onboard.md", + "redirect_url": "/azure/azure-monitor/insights/vminsights-enable-overview", "redirect_document_id": "false" }, { diff --git a/articles/active-directory/fundamentals/active-directory-faq.md b/articles/active-directory/fundamentals/active-directory-faq.md index a7264f150cf87..26a57c23d4f6f 100644 --- a/articles/active-directory/fundamentals/active-directory-faq.md +++ b/articles/active-directory/fundamentals/active-directory-faq.md @@ -206,4 +206,4 @@ For more information, see [Automate user provisioning and deprovisioning to SaaS - - - **Q: Can I set up a secure LDAP connection with Azure AD?** -**A:** No. Azure AD does not support the Lightweight Directory Access Protocol (LDAP) protocol. However, it's possible to use Azure AD Domain Services (Azure AD DS) with properly configured network security groups through Azure Networking to achieve LDAP connectivity. For more information, see https://docs.microsoft.com/azure/active-directory-domain-services/active-directory-ds-admin-guide-configure-secure-ldap. \ No newline at end of file +**A:** No. Azure AD does not support the Lightweight Directory Access Protocol (LDAP) protocol or Secure LDAP directly. However, it's possible to enable Azure AD Domain Services (Azure AD DS) instance on your Azure AD tenant with properly configured network security groups through Azure Networking to achieve LDAP connectivity. For more information, see https://docs.microsoft.com/azure/active-directory-domain-services/active-directory-ds-admin-guide-configure-secure-ldap. diff --git a/articles/azure-monitor/insights/container-insights-live-logs.md b/articles/azure-monitor/insights/container-insights-live-logs.md index aa1f837166359..7fb31e1719468 100644 --- a/articles/azure-monitor/insights/container-insights-live-logs.md +++ b/articles/azure-monitor/insights/container-insights-live-logs.md @@ -11,7 +11,7 @@ ms.service: azure-monitor ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services -ms.date: 04/25/2019 +ms.date: 05/10/2019 ms.author: magoedte --- @@ -67,7 +67,7 @@ If you have enabled Kubernetes RBAC authorization, you will need to apply cluste AKS can be configured to use Azure Active Directory (AD) for user authentication. If you are configuring this for the first time, see [Integrate Azure Active Directory with Azure Kubernetes Service](../../aks/azure-ad-integration.md). During the steps to create the [client application](../../aks/azure-ad-integration.md#create-client-application) and specify the **redirect URI**, you need to add another URI to the list `https://ininprodeusuxbase.microsoft.com/*`. >[!NOTE] ->Configuring authentication with Azure Active Directory for single-sign on can only be accomplished during intial deployment of a new AKS cluster. You cannot configure single-sign on for an AKS cluster already deployed. +>Configuring authentication with Azure Active Directory for single-sign on can only be accomplished during intial deployment of a new AKS cluster. You cannot configure single-sign on for an AKS cluster already deployed. You must configure authentication from **App registration (legacy)** option in Azure AD in order to support the use of a wildcard in the URI, and while adding it to the list, register it as a **native** app. > ## View live logs and events diff --git a/articles/azure-monitor/insights/container-insights-onboard.md b/articles/azure-monitor/insights/container-insights-onboard.md index 6e7307209a24a..ff1d52a7494e6 100644 --- a/articles/azure-monitor/insights/container-insights-onboard.md +++ b/articles/azure-monitor/insights/container-insights-onboard.md @@ -1,6 +1,6 @@ --- -title: How to onboard Azure Monitor for containers | Microsoft Docs -description: This article describes how you onboard and configure Azure Monitor for containers so you can understand how your container is performing and what performance-related issues have been identified. +title: How to enable Azure Monitor for containers | Microsoft Docs +description: This article describes how you enable and configure Azure Monitor for containers so you can understand how your container is performing and what performance-related issues have been identified. services: azure-monitor documentationcenter: '' author: mgoedtel @@ -15,7 +15,7 @@ ms.date: 04/25/2019 ms.author: magoedte --- -# How to onboard Azure Monitor for containers +# How to enable Azure Monitor for containers This article provides an overview of the options available to setup Azure Monitor for containers to monitor the performance of workloads that are deployed to Kubernetes environments and hosted on [Azure Kubernetes Service](https://docs.microsoft.com/azure/aks/). diff --git a/articles/azure-monitor/insights/container-insights-overview.md b/articles/azure-monitor/insights/container-insights-overview.md index c0416d16017dc..d2cccd0f37ca3 100644 --- a/articles/azure-monitor/insights/container-insights-overview.md +++ b/articles/azure-monitor/insights/container-insights-overview.md @@ -42,4 +42,4 @@ You can access Azure Monitor for containers two ways, from Azure Monitor or dire If you are interested in monitoring and managing your Docker and Windows container hosts to view configuration, audit, and resource utilization, see the [Container Monitoring solution](../../azure-monitor/insights/containers.md). ## Next steps -To begin monitoring your AKS cluster, review [How to onboard the Azure Monitor for containers](container-insights-onboard.md) to understand the requirements and available methods to enable monitoring. +To begin monitoring your AKS cluster, review [How to enable the Azure Monitor for containers](container-insights-onboard.md) to understand the requirements and available methods to enable monitoring. diff --git a/articles/azure-monitor/insights/container-insights-troubleshoot.md b/articles/azure-monitor/insights/container-insights-troubleshoot.md index 48c6e2cb43c75..f6b330ab35a8e 100644 --- a/articles/azure-monitor/insights/container-insights-troubleshoot.md +++ b/articles/azure-monitor/insights/container-insights-troubleshoot.md @@ -75,7 +75,7 @@ If Azure Monitor for containers is successfully enabled and configured, but you 4. Check the agent logs. When the containerized agent gets deployed, it runs a quick check by running OMI commands and displays the version of the agent and provider. -5. To verify that the agent has been onboarded successfully, run the command: `kubectl logs omsagent-484hw --namespace=kube-system` +5. To verify that the agent has been deployed successfully, run the command: `kubectl logs omsagent-484hw --namespace=kube-system` The status should resemble the following example: @@ -108,7 +108,7 @@ The table below summarizes known errors you may encounter while using Azure Moni | ---- | --- | | Error Message `No data for selected filters` | It may take some time to establish monitoring data flow for newly created clusters. Allow at least 10 to 15 minutes for data to appear for your cluster. | | Error Message `Error retrieving data` | While Azure Kubenetes Service cluster is setting up for health and performance monitoring, a connection is established between the cluster and Azure Log Analytics workspace. A Log Analytics workspace is used to store all monitoring data for your cluster. This error may occur when your Log Analytics workspace has been deleted or lost. Check whether your workspace is available by reviewing [manage access](../platform/manage-access.md#view-workspace-details). If the workspace is missing, you will need to re-enable monitoring of your cluster with Azure Monitor for containers. To re-enable, you will need to [disable](container-insights-optout.md) monitoring for the cluster and [enable](container-insights-enable-new-cluster.md) Azure Monitor for containers again. | -| `Error retrieving data` after adding Azure Monitor for containers through az aks cli | When enable monitoring using `az aks cli`, Azure Monitor for containers may not be properly onboarded. Check whether the solution is onboarded. To do this, go to your Log Analytics workspace and see if the solution is available by selecting **Solutions** from the pane on the left-hand side. To resolve this issue, you will need to redeploy the solution by following the instructions on [how to deploy Azure Monitor for containers](container-insights-onboard.md) | +| `Error retrieving data` after adding Azure Monitor for containers through az aks cli | When enable monitoring using `az aks cli`, Azure Monitor for containers may not be properly deployed. Check whether the solution is deployed. To do this, go to your Log Analytics workspace and see if the solution is available by selecting **Solutions** from the pane on the left-hand side. To resolve this issue, you will need to redeploy the solution by following the instructions on [how to deploy Azure Monitor for containers](container-insights-onboard.md) | To help diagnose the problem, we have provided a troubleshooting script available [here](https://github.com/Microsoft/OMS-docker/tree/ci_feature_prod/Troubleshoot#troubleshooting-script). diff --git a/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/get-started-page-01.png b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/get-started-page-01.png new file mode 100644 index 0000000000000..611a1b415c6b2 Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/get-started-page-01.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/manage-policy-page-01.png b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/manage-policy-page-01.png new file mode 100644 index 0000000000000..412294794d5d1 Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/manage-policy-page-01.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/manage-policy-page-02.png b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/manage-policy-page-02.png new file mode 100644 index 0000000000000..022718a3e1920 Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/manage-policy-page-02.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/manage-policy-page-assign-01.png b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/manage-policy-page-assign-01.png new file mode 100644 index 0000000000000..5185c7d27c984 Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/manage-policy-page-assign-01.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/onboard-vminsights-vm-portal-status.png b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/onboard-vminsights-vm-portal-status.png new file mode 100644 index 0000000000000..75f48cc9adeb7 Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/onboard-vminsights-vm-portal-status.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/policy-view-compliance-01.png b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/policy-view-compliance-01.png new file mode 100644 index 0000000000000..ecf3d15e6ec4f Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-enable-at-scale-policy/policy-view-compliance-01.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-enable-single-vm/enable-vminsights-vm-portal-01.png b/articles/azure-monitor/insights/media/vminsights-enable-single-vm/enable-vminsights-vm-portal-01.png new file mode 100644 index 0000000000000..c60724883b81c Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-enable-single-vm/enable-vminsights-vm-portal-01.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-enable-single-vm/enable-vminsights-vmss-portal-01.png b/articles/azure-monitor/insights/media/vminsights-enable-single-vm/enable-vminsights-vmss-portal-01.png new file mode 100644 index 0000000000000..e8c4dc72180ef Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-enable-single-vm/enable-vminsights-vmss-portal-01.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-enable-single-vm/onboard-vminsights-vm-portal-status.png b/articles/azure-monitor/insights/media/vminsights-enable-single-vm/onboard-vminsights-vm-portal-status.png new file mode 100644 index 0000000000000..75f48cc9adeb7 Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-enable-single-vm/onboard-vminsights-vm-portal-status.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-enable-single-vm/onboard-vminsights-vmss-portal-status-01.png b/articles/azure-monitor/insights/media/vminsights-enable-single-vm/onboard-vminsights-vmss-portal-status-01.png new file mode 100644 index 0000000000000..c24167ec713db Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-enable-single-vm/onboard-vminsights-vmss-portal-status-01.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-maps/map-direct-vmss-01.png b/articles/azure-monitor/insights/media/vminsights-maps/map-direct-vmss-01.png new file mode 100644 index 0000000000000..65546e6fa3588 Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-maps/map-direct-vmss-01.png differ diff --git a/articles/azure-monitor/insights/media/vminsights-performance/vminsights-performance-directvmss-01.png b/articles/azure-monitor/insights/media/vminsights-performance/vminsights-performance-directvmss-01.png new file mode 100644 index 0000000000000..e7a8b6a06cc88 Binary files /dev/null and b/articles/azure-monitor/insights/media/vminsights-performance/vminsights-performance-directvmss-01.png differ diff --git a/articles/azure-monitor/insights/vminsights-enable-at-scale-policy.md b/articles/azure-monitor/insights/vminsights-enable-at-scale-policy.md new file mode 100644 index 0000000000000..06c5fbde78686 --- /dev/null +++ b/articles/azure-monitor/insights/vminsights-enable-at-scale-policy.md @@ -0,0 +1,206 @@ +--- +title: Enable Azure Monitor for VMs using Azure Policy | Microsoft Docs +description: This article describes how you enable Azure Monitor for VMs for multiple Azure virtual machines or virtual machine scale sets using Azure Policy. +services: azure-monitor +documentationcenter: '' +author: mgoedtel +manager: carmonm +editor: +ms.assetid: +ms.service: azure-monitor +ms.topic: conceptual +ms.tgt_pltfrm: na +ms.workload: infrastructure-services +ms.date: 05/07/2019 +ms.author: magoedte +--- + +# Enable Azure Monitor for VMs (preview) using Azure Policy + +This article explains how to enable Azure Monitor for VMs (preview) for Azure virtual machines or virtual machine scale sets using Azure Policy. At the end of this process, you will have successfully configured enabling the Log Analytics and Dependency agents, and identified virtual machines that are not compliant. + +To discover, manage, and enable Azure Monitor for VMs for all of your Azure virtual machines or virtual machine scale sets, you can use either Azure Policy or Azure PowerShell. Azure Policy is the recommended method because you can manage policy definitions to effectively govern your subscriptions to ensure consistent compliance and automatic enabling of newly provisioned VMs. These policy definitions: + +* Deploy the Log Analytics agent and the Dependency agent. +* Report on compliance results. +* Remediate for non-compliant VMs. + +If you are interested in accomplishing this with Azure PowerShell or Azure Resource Manager template, see [Enable using Azure PowerShell or Resource Manager template](vminsights-enable-at-scale-powershell.md). + +## Manage Policy Coverage feature overview + +Originally the experience with Azure Policy for managing and deploying the policy definitions for Azure Monitor for VMs was performed exclusively from Azure Policy. With the **Manage Policy Coverage** feature, it makes it simpler and easier to discover, manage, and enable at scale the **Enable Azure Monitor for VMs** initiative, which includes the policy definitions mentioned earlier. You can access this new feature from the **Get started** tab in Azure Monitor for VMs by selecting **Manage Policy Coverage**. It opens the VMs Policy Coverage page. + +![Azure Monitor from VMs Get Started tab](./media/vminsights-enable-at-scale-policy/get-started-page-01.png) + +From here you can check and manage coverage for the initiative across your management groups and subscriptions, as well as understand how many VMs exist in each of the management groups and subscriptions and their compliance status. + +![Azure Monitor for VMs Manage Policy page](./media/vminsights-enable-at-scale-policy/manage-policy-page-01.png) + +This information is useful to plan and execute your governance scenario for Azure Monitor for VMs from one central location. While Azure Policy provides a compliance view when a policy/initiative is assigned to a scope, with this new page you can discover where the policy/initiative is not assigned and assign it in-place. All actions (assign, view, edit) redirect to Azure Policy directly. Azure Monitor for VMs Policy Coverage page is an expanded and integrated experience for only the initiative **Enable Azure Monitor for VMs**. + +From this page you can also configure your Log Analytics workspace for Azure Monitor for VMs, which performs the following: + +- Installs the Installing Service Map and Infrastructure Insights solutions +- Enables the operating system performance counters used by the performance charts, workbooks, and your custom log queries and alerts. + +![Azure Monitor for VMs configure workspace](./media/vminsights-enable-at-scale-policy/manage-policy-page-02.png) + +This option isn't related to any policy actions and is available to provide an easy way to satisfy the [prerequisites](vminsights-enable-overview.md) required for enabling Azure Monitor for VMs. + +### What information is available on this page? +The following table provides a breakdown of what information is presented in the policy coverage page and how to interpret it. + +| Function | Description | +|----------|-------------| +| **Scope** | Management group and subscriptions that you have or inherited access to with ability to drill down through the Management group hierarchy.| +| **Role** | Your role to the scope, could be reader owner, or contributor. In some cases, it may appear blank to indicate that you may have access to subscription but not to the management group it belongs to. Information in other columns will vary depending on your role as it is key in determining what data you can see and actions you can perform in terms of assigning initiative/policy (owner), editing them, or viewing compliance. | +| **Total VMs** | Number of VMs under that scope. For a management group, it is a sum of VMs nested under the subscriptions and/or child management group. | +| **Assignment Coverage** | Percent of VMs that are covered by initiative/policy. | +| **Assignment Status** | Under this column, you can find information on the status of your policy/ initiative assignment. | +| **Compliant VMs** | Number of VMs that are compliant under the policy/initiative. For the initiative **Enable Azure Monitor for VMs** this is the number of VMs that have both Log Analytics agent and Dependency agent. In some cases, it may appear blank due to either no assignment, or no VMs, or not enough permissions. Information is provided under Compliance State. | +| **Compliance** | The overall compliance number is the sum of distinct resources that are Compliant divided by the sum of all distinct resources. | +| **Compliance State** | Information on Compliance state for your policy/ initiative assignment.| + +When you assign the initiative/policy, the scope selected in the assignment could be the scope listed or a subset of it. For instance, you may have created an assignment for a subscription (policy scope) and not a management group (coverage scope). In this case, the value of **Assignment Coverage** would indicate VMs in policy (or initiative) scope divided by VMs in coverage scope. In another case, you may have excluded some VMs, resource groups, or a subscription from policy scope. If the value is blank, it indicates that either the policy/initiative does not exist or you do not have permission (information is provided in Assignment Status). + +## Enable using Azure Policy + +To enable Azure Monitor for VMs by using Azure Policy in your tenant: + +- Assign the initiative to a scope: management group, subscription, or resource group +- Review and remediate compliance results + +For more information about assigning Azure Policy, see [Azure Policy overview](../../governance/policy/overview.md#policy-assignment) and review the [overview of management groups](../../governance/management-groups/index.md) before you continue. + +### Policies for Azure VMs + +The policy definitions for an Azure VM are listed in the following table: + +|Name |Description |Type | +|-----|------------|-----| +|[Preview]: Enable Azure Monitor for VMs |Enable Azure Monitor for the Virtual Machines (VMs) in the specified scope (management group, subscription, or resource group). Takes Log Analytics workspace as a parameter. |Initiative | +|[Preview]: Audit Dependency Agent Deployment – VM Image (OS) unlisted |Reports VMs as non-compliant if the VM Image (OS) isn't defined in the list and the agent isn't installed. |Policy | +|[Preview]: Audit Log Analytics Agent Deployment – VM Image (OS) unlisted |Reports VMs as non-compliant if the VM Image (OS) isn't defined in the list and the agent isn't installed. |Policy | +|[Preview]: Deploy Dependency Agent for Linux VMs |Deploy Dependency Agent for Linux VMs if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | +|[Preview]: Deploy Dependency Agent for Windows VMs |Deploy Dependency Agent for Windows VMs if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | +|[Preview]: Deploy Log Analytics Agent for Linux VMs |Deploy Log Analytics Agent for Linux VMs if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | +|[Preview]: Deploy Log Analytics Agent for Windows VMs |Deploy Log Analytics Agent for Windows VMs if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | + +### Policies for Azure virtual machine scale sets + +The policy definitions for an Azure virtual machine scale set are listed in the following table: + +|Name |Description |Type | +|-----|------------|-----| +|[Preview]: Enable Azure Monitor for VM Scale Sets (VMSS) |Enable Azure Monitor for the virtual machine scale sets in the specified scope (Management group, subscription or resource group). Takes Log Analytics workspace as parameter. Note: if your scale set upgradePolicy is set to Manual, you need to apply the extension to all the VMs in the set by calling upgrade on them. In CLI this would be az vmss update-instances. |Initiative | +|[Preview]: Audit Dependency Agent Deployment in VMSS – VM Image (OS) unlisted |Reports virtual machine scale set as non-compliant if the VM Image (OS) isn't defined in the list and the agent isn't installed. |Policy | +|[Preview]: Audit Log Analytics Agent Deployment in VMSS – VM Image (OS) unlisted |Reports virtual machine scale set as non-compliant if the VM Image (OS) isn't defined in the list and the agent isn't installed. |Policy | +|[Preview]: Deploy Dependency Agent for Linux VM Scale Sets (VMSS) |Deploy Dependency Agent for Linux virtual machine scale sets if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | +|[Preview]: Deploy Dependency Agent for Windows VM Scale Sets (VMSS) |Deploy Dependency Agent for Windows virtual machine scale sets if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | +|[Preview]: Deploy Log Analytics Agent for Linux VM Scale Sets (VMSS) |Deploy Log Analytics Agent for Linux virtual machine scale sets if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | +|[Preview]: Deploy Log Analytics Agent for Windows VM Scale Sets (VMSS) |Deploy Log Analytics Agent for Windows virtual machine scale sets if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | + +Standalone policy (not included with the initiative) is described here: + +|Name |Description |Type | +|-----|------------|-----| +|[Preview]: Audit Log Analytics Workspace for VM - Report Mismatch |Report VMs as non-compliant if they aren't logging to the Log Analytics workspace specified in the policy/initiative assignment. |Policy | + +### Assign the Azure Monitor initiative +To create the policy assignment from the Azure Monitor for VMs Policy Coverage page, perform the following steps. To understand how to complete these steps, see [Create a policy assignment from the Azure portal](../../governance/policy/assign-policy-portal.md). + +When you assign the initiative/policy, the scope selected in the assignment could be the scope listed here or a subset of it. For instance, you may have created assignment for subscription (policy scope) and not the management group (coverage scope) in which case coverage % would indicate VMs in policy (or initiative) scope divided by VMs in coverage scope. In some other case, you may have excluded some VMs or RGs or subscription from policy scope. In case it is blank, it indicates that either the policy / initiative does not exist or you do not have permissions (info provided in Assignment status) + +1. Sign in to the [Azure portal](https://portal.azure.com). + +2. In the Azure portal, select **Monitor**. + +3. Choose **Virtual Machines (preview)** in the **Insights** section. + +4. Select the **Get Started** tab, and on the page select **Manage Policy Coverage**. + +5. Select either a management group or subscription from the table, and select **Scope** by clicking the ellipse (...). + In our example, a scope limits the policy assignment to a grouping of virtual machines for enforcement. + +6. On the **Azure Policy assignment** page it is pre-populated with the initiative **Enable Azure Monitor for VMs**. + The **Assignment name** box is automatically populated with the initiative name, but you can change it. You can also add an optional description. The **Assigned by** box is automatically populated based on who is logged in, and this value is optional. + +7. (Optional) To remove one or more resources from the scope, select **Exclusions**. + +8. In the **Log Analytics workspace** drop-down list for the supported region, select a workspace. + + > [!NOTE] + > If the workspace is beyond the scope of the assignment, grant *Log Analytics Contributor* permissions to the policy assignment's Principal ID. If you don't do this, you might see a deployment failure such as: `The client '343de0fe-e724-46b8-b1fb-97090f7054ed' with object id '343de0fe-e724-46b8-b1fb-97090f7054ed' does not have authorization to perform action 'microsoft.operationalinsights/workspaces/read' over scope ...` + > To grant access, review [how to manually configure the managed identity](../../governance/policy/how-to/remediate-resources.md#manually-configure-the-managed-identity). + > + > The **Managed Identity** check box is selected, because the initiative being assigned includes a policy with the *deployIfNotExists* effect. + +9. In the **Manage Identity location** drop-down list, select the appropriate region. + +10. Select **Assign**. + +Once you create the assignment, the Azure Monitor for VMs Policy Coverage page will update Assignment Coverage, Assignment Status, Compliance VMs and Compliance State to reflect the changes. + +The following matrix maps each possible compliance state for the initiative. + +| Compliance State | Description | +|------------------|-------------| +| **Compliant** | All VMs in the scope have the Log Analytics and Dependency agents deployed to them.| +| **Not Compliant** | Not all VMs in the scope have the Log Analytics and Dependency agents deployed to them and may require remediation.| +| **Not started** | A new assignment has been added. | +| **Lock** | You do not have sufficient privileges to the management group.1 | +| **Blank** | No policy assigned. | + +1 If you don’t have access to the management group, ask an owner to provide access or view Compliance and manage Assignments through the child management groups or subscriptions. + +The following table maps each possible assignment status for the initiative. + +| Assignment Status | Description | +|------------------|-------------| +| **Success** | All VMs in the scope have the Log Analytics and Dependency agents deployed to them.| +| **Warning** | The subscription is not under a management group.| +| **Not started** | A new assignment has been added. | +| **Lock** | You do not have sufficient privileges to the management group.1 | +| **Blank** | No VMs exist or policy not assigned. | +| **Action** | Assign Policy or Edit assignment | + +1 If you don’t have access to the management group, ask an owner to provide access or view Compliance and manage Assignments through the child management groups or subscriptions. + +## Review and remediate the compliance results + +The following example is for an Azure VM, but also applies to virtual machine scale sets. You can learn how to review compliance results by reading [identify non-compliance results](../../governance/policy/assign-policy-portal.md#identify-non-compliant-resources). On the Azure Monitor for VMs Policy Coverage page, select either a management group or subscription from the table, and select **View Compliance** by clicking the ellipse (...). + +![Policy compliance for Azure VMs](./media/vminsights-enable-at-scale-policy/policy-view-compliance-01.png) + +Based on the results of the policies included with the initiative, VMs are reported as non-compliant in the following scenarios: + +* Log Analytics or the Dependency agent isn't deployed. + This scenario is typical for a scope with existing VMs. To mitigate it, deploy the required agents by [creating remediation tasks](../../governance/policy/how-to/remediate-resources.md) on a non-compliant policy. + - [Preview]: Deploy Dependency Agent for Linux VMs + - [Preview]: Deploy Dependency Agent for Windows VMs + - [Preview]: Deploy Log Analytics Agent for Linux VMs + - [Preview]: Deploy Log Analytics Agent for Windows VMs + +* VM Image (OS) isn't identified in the policy definition. + The criteria of the deployment policy include only VMs that are deployed from well-known Azure VM images. Check the documentation to see whether the VM OS is supported. If it isn't supported, duplicate the deployment policy and update or modify it to make the image compliant. + - [Preview]: Audit Dependency Agent Deployment – VM Image (OS) unlisted + - [Preview]: Audit Log Analytics Agent Deployment – VM Image (OS) unlisted + +* VMs aren't logging in to the specified Log Analytics workspace. + It's possible that some VMs in the initiative scope are logging in to a Log Analytics workspace other than the one that's specified in the policy assignment. This policy is a tool to identify which VMs are reporting to a non-compliant workspace. + - [Preview]: Audit Log Analytics Workspace for VM - Report Mismatch + +## Edit initiative assignment + +At any time after assigning an initiative to a management group or subscription, you can edit it to modify the following properties: + +- Assignment name +- Description +- Assigned by +- Log Analytics workspace +- Exceptions + +## Next steps + +Now that monitoring is enabled for your virtual machines, this information is available for analysis with Azure Monitor for VMs. To learn how to use the Health feature, see [View Azure Monitor for VMs Health](vminsights-health.md). To view discovered application dependencies, see [View Azure Monitor for VMs Map](vminsights-maps.md). To identify bottlenecks and overall utilization with your VMs performance, see [View Azure VM Performance](vminsights-performance.md), or to view discovered application dependencies, see [View Azure Monitor for VMs Map](vminsights-maps.md). \ No newline at end of file diff --git a/articles/azure-monitor/insights/vminsights-enable-at-scale-powershell.md b/articles/azure-monitor/insights/vminsights-enable-at-scale-powershell.md new file mode 100644 index 0000000000000..e3a8d06248bc9 --- /dev/null +++ b/articles/azure-monitor/insights/vminsights-enable-at-scale-powershell.md @@ -0,0 +1,353 @@ +--- +title: Enable Azure Monitor for VMs (preview) using Azure PowerShell or Resource Manager template | Microsoft Docs +description: This article describes how you enable Azure Monitor for VMs for one or more Azure virtual machines or virtual machine scale sets using Azure PowerShell or Azure Resource Manager templates. +services: azure-monitor +documentationcenter: '' +author: mgoedtel +manager: carmonm +editor: +ms.assetid: +ms.service: azure-monitor +ms.topic: conceptual +ms.tgt_pltfrm: na +ms.workload: infrastructure-services +ms.date: 05/09/2019 +ms.author: magoedte +--- + +# Enable Azure Monitor for VMs (preview) using Azure PowerShell or Resource Manager template + +[!INCLUDE [updated-for-az](../../../includes/updated-for-az.md)] + +This article explains how to enable Azure Monitor for VMs (preview) for Azure virtual machines or virtual machine scale sets using Azure PowerShell or Azure Resource Manager templates. At the end of this process you will have successfully begun monitoring all of your virtual machines and learn if any are experiencing performance or availability issues. + +## Set up a Log Analytics workspace + +If you don't have a Log Analytics workspace, create one by reviewing the methods that are suggested in the [Prerequisites](vminsights-enable-overview.md#log-analytics) section before proceeding with the steps to configure it in order to complete the deployment of Azure Monitor for VMs using the Azure Resource Manager template method. + +### Enable performance counters + +If the Log Analytics workspace that's referenced by the solution isn't already configured to collect the performance counters required by the solution, you need to enable them. You can do so in either of two ways: +* Manually, as described in [Windows and Linux performance data sources in Log Analytics](../../azure-monitor/platform/data-sources-performance-counters.md) +* By downloading and running a PowerShell script that's available from [Azure PowerShell Gallery](https://www.powershellgallery.com/packages/Enable-VMInsightsPerfCounters/1.1) + +### Install the ServiceMap and InfrastructureInsights solutions +This method includes a JSON template that specifies the configuration for enabling the solution components in your Log Analytics workspace. + +If you're unfamiliar with deploying resources by using a template, see: +* [Deploy resources with Resource Manager templates and Azure PowerShell](../../azure-resource-manager/resource-group-template-deploy.md) +* [Deploy resources with Resource Manager templates and the Azure CLI](../../azure-resource-manager/resource-group-template-deploy-cli.md) + +If you choose to use the Azure CLI, you first need to install and use the CLI locally. You must be running the Azure CLI version 2.0.27 or later. To identify your version, run `az --version`. If you need to install or upgrade the Azure CLI, see [Install the Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli). + +1. Copy and paste the following JSON syntax into your file: + + ```json + { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "WorkspaceName": { + "type": "string" + }, + "WorkspaceLocation": { + "type": "string" + } + }, + "resources": [ + { + "apiVersion": "2017-03-15-preview", + "type": "Microsoft.OperationalInsights/workspaces", + "name": "[parameters('WorkspaceName')]", + "location": "[parameters('WorkspaceLocation')]", + "resources": [ + { + "apiVersion": "2015-11-01-preview", + "location": "[parameters('WorkspaceLocation')]", + "name": "[concat('ServiceMap', '(', parameters('WorkspaceName'),')')]", + "type": "Microsoft.OperationsManagement/solutions", + "dependsOn": [ + "[concat('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" + ], + "properties": { + "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" + }, + + "plan": { + "name": "[concat('ServiceMap', '(', parameters('WorkspaceName'),')')]", + "publisher": "Microsoft", + "product": "[Concat('OMSGallery/', 'ServiceMap')]", + "promotionCode": "" + } + }, + { + "apiVersion": "2015-11-01-preview", + "location": "[parameters('WorkspaceLocation')]", + "name": "[concat('InfrastructureInsights', '(', parameters('WorkspaceName'),')')]", + "type": "Microsoft.OperationsManagement/solutions", + "dependsOn": [ + "[concat('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" + ], + "properties": { + "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" + }, + "plan": { + "name": "[concat('InfrastructureInsights', '(', parameters('WorkspaceName'),')')]", + "publisher": "Microsoft", + "product": "[Concat('OMSGallery/', 'InfrastructureInsights')]", + "promotionCode": "" + } + } + ] + } + ] + } + ``` + +1. Save this file as *installsolutionsforvminsights.json* to a local folder. + +1. Capture the values for *WorkspaceName*, *ResourceGroupName*, and *WorkspaceLocation*. The value for *WorkspaceName* is the name of your Log Analytics workspace. The value for *WorkspaceLocation* is the region the workspace is defined in. + +1. You're ready to deploy this template. + + * Use the following PowerShell commands in the folder that contains the template: + + ```powershell + New-AzResourceGroupDeployment -Name DeploySolutions -TemplateFile InstallSolutionsForVMInsights.json -ResourceGroupName -WorkspaceName -WorkspaceLocation + ``` + + The configuration change can take a few minutes to complete. When it's complete, a message is displayed that's similar to the following and includes the result: + + ```powershell + provisioningState : Succeeded + ``` + + * To run the following command by using the Azure CLI: + + ```azurecli + az login + az account set --subscription "Subscription Name" + az group deployment create --name DeploySolutions --resource-group --template-file InstallSolutionsForVMInsights.json --parameters WorkspaceName= WorkspaceLocation= + ``` + +The configuration change can take a few minutes to complete. When it's completed, a message is displayed that's similar to the following and includes the result: + +```azurecli +provisioningState : Succeeded +``` + +## Enable with Azure Resource Manager template +We have created example Azure Resource Manager templates for onboarding your virtual machines and virtual machine scale sets. These templates include scenarios for enabling monitoring on an existing resource and for creating a new resource that will have monitoring enabled. + +>[!NOTE] +>The template needs to be deployed in the same resource group as the resource to be onboarded. + +If you are unfamiliar with the concept of deploying resources by using a template, see: +* [Deploy resources with Resource Manager templates and Azure PowerShell](../../azure-resource-manager/resource-group-template-deploy.md) +* [Deploy resources with Resource Manager templates and the Azure CLI](../../azure-resource-manager/resource-group-template-deploy-cli.md) + +If you choose to use the Azure CLI, you first need to install and use the CLI locally. You must be running the Azure CLI version 2.0.27 or later. To identify your version, run `az --version`. If you need to install or upgrade the Azure CLI, see [Install the Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli). + +### Download templates + +The Azure Resource Manager templates are provided in an archive file (.zip) that you can [download](https://aka.ms/VmInsightsARMTemplates) from our GitHub repo. Contents of the file include folders representing each deployment scenario with a template and parameter file. Before running, modify the parameters file and specify the values required. Do not modify the template file unless you need to customize it to support your particular requirements. After you have modified the parameter file you can deploy it using the following methods described later in this article. + +The download file contains the following templates for different scenarios: + +- **ExistingVmOnboarding** template enables Azure Monitor for VMs if the virtual machines already exists. +- **NewVmOnboarding** template creates a virtual machine and enables Azure Monitor for VMs to monitor it. +- **ExistingVmssOnboarding** template enables Azure Monitor for VMs if the virtual machine scale set already exists. +- **NewVmssOnboarding** template creates a virtual machine scale sets and enables Azure Monitor for VMs to monitor them. +- **ConfigureWorksapce*** template configures your Log Analytics workspace to support Azure Monitor for VMs by enabling the solutions and collection of Linux and Windows operating system performance counters. + +>[!NOTE] +>If virtual machine scale sets were already present and the upgrade policy is set to **Manual**, Azure Monitor for VMs will not be enabled for instances by default after running the **ExistingVmssOnboarding** Azure Resource Manager template. You have to manually upgrade the instances. + +### Deploy using Azure PowerShell + +The following step enables monitoring using Azure PowerShell. + +```powershell +New-AzResourceGroupDeployment -Name OnboardCluster -ResourceGroupName -TemplateFile -TemplateParameterFile +``` +The configuration change can take a few minutes to complete. When it's completed, a message is displayed that's similar to the following and includes the result: + +```powershell +provisioningState : Succeeded +``` +### Deploy using Azure CLI + +The following step enables monitoring using Azure CLI. + +```azurecli +az login +az account set --subscription "Subscription Name" +az group deployment create --resource-group --template-file --parameters +``` + +The output will resemble the following: + +```azurecli +provisioningState : Succeeded +``` + +## Enable with PowerShell + +To enable Azure Monitor for VMs for multiple VMs or virtual machine scale sets, you can use the PowerShell script [Install-VMInsights.ps1](https://www.powershellgallery.com/packages/Install-VMInsights/1.0), available from the Azure PowerShell Gallery. This script iterates through every virtual machine and virtual machine scale set in your subscription, in the scoped resource group that's specified by *ResourceGroup*, or to a single VM or virtual machine scale set that's specified by *Name*. For each VM or virtual machine scale set, the script verifies whether the VM extension is already installed. If the VM extension is not installed, the script tries to reinstall it. If the VM extension is installed, the script installs the Log Analytics and Dependency agent VM extensions. + +This script requires Azure PowerShell module Az version 1.0.0 or later. Run `Get-Module -ListAvailable Az` to find the version. If you need to upgrade, see [Install Azure PowerShell module](https://docs.microsoft.com/powershell/azure/install-az-ps). If you're running PowerShell locally, you also need to run `Connect-AzAccount` to create a connection with Azure. + +To get a list of the script's argument details and example usage, run `Get-Help`. + +```powershell +Get-Help .\Install-VMInsights.ps1 -Detailed + +SYNOPSIS + This script installs VM extensions for Log Analytics and the Dependency agent as needed for VM Insights. + + +SYNTAX + .\Install-VMInsights.ps1 [-WorkspaceId] [-WorkspaceKey] [-SubscriptionId] [[-ResourceGroup] + ] [[-Name] ] [[-PolicyAssignmentName] ] [-ReInstall] [-TriggerVmssManualVMUpdate] [-Approve] [-WorkspaceRegion] + [-WhatIf] [-Confirm] [] + + +DESCRIPTION + This script installs or re-configures following on VMs and VM Scale Sets: + - Log Analytics VM Extension configured to supplied Log Analytics Workspace + - Dependency Agent VM Extension + + Can be applied to: + - Subscription + - Resource Group in a Subscription + - Specific VM/VM Scale Set + - Compliance results of a policy for a VM or VM Extension + + Script will show you list of VMs/VM Scale Sets that will apply to and let you confirm to continue. + Use -Approve switch to run without prompting, if all required parameters are provided. + + If the extensions are already installed will not install again. + Use -ReInstall switch if you need to for example update the workspace. + + Use -WhatIf if you would like to see what would happen in terms of installs, what workspace configured to, and status of the extension. + + +PARAMETERS + -WorkspaceId + Log Analytics WorkspaceID (GUID) for the data to be sent to + + -WorkspaceKey + Log Analytics Workspace primary or secondary key + + -SubscriptionId + SubscriptionId for the VMs/VM Scale Sets + If using PolicyAssignmentName parameter, subscription that VMs are in + + -ResourceGroup + Resource Group to which the VMs or VM Scale Sets belong + + -Name + To install to a single VM/VM Scale Set + + -PolicyAssignmentName + Take the input VMs to operate on as the Compliance results from this Assignment + If specified will only take from this source. + + -ReInstall [] + If VM/VM Scale Set is already configured for a different workspace, set this to change to the new workspace + + -TriggerVmssManualVMUpdate [] + Set this flag to trigger update of VM instances in a scale set whose upgrade policy is set to Manual + + -Approve [] + Gives the approval for the installation to start with no confirmation prompt for the listed VMs/VM Scale Sets + + -WorkspaceRegion + Region the Log Analytics Workspace is in + Supported values: "East US","eastus","Southeast Asia","southeastasia","West Central US","westcentralus","West Europe","westeurope" + For Health supported is: "East US","eastus","West Central US","westcentralus" + + -WhatIf [] + See what would happen in terms of installs. + If extension is already installed will show what workspace is currently configured, and status of the VM extension + + -Confirm [] + Confirm every action + + + This cmdlet supports the common parameters: Verbose, Debug, + ErrorAction, ErrorVariable, WarningAction, WarningVariable, + OutBuffer, PipelineVariable, and OutVariable. For more information, see + about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216). + + -------------------------- EXAMPLE 1 -------------------------- + .\Install-VMInsights.ps1 -WorkspaceRegion eastus -WorkspaceId -WorkspaceKey -SubscriptionId + -ResourceGroup + + Install for all VMs in a Resource Group in a subscription + + -------------------------- EXAMPLE 2 -------------------------- + .\Install-VMInsights.ps1 -WorkspaceRegion eastus -WorkspaceId -WorkspaceKey -SubscriptionId + -ResourceGroup -ReInstall + + Specify to reinstall extensions even if already installed, for example to update to a different workspace + + -------------------------- EXAMPLE 3 -------------------------- + .\Install-VMInsights.ps1 -WorkspaceRegion eastus -WorkspaceId -WorkspaceKey -SubscriptionId + -PolicyAssignmentName a4f79f8ce891455198c08736 -ReInstall + + Specify to use a PolicyAssignmentName for source, and to reinstall (move to a new workspace) +``` + +The following example demonstrates using the PowerShell commands in the folder to enable Azure Monitor for VMs and understand the expected output: + +```powershell +$WorkspaceId = "" +$WorkspaceKey = "" +$SubscriptionId = "" +.\Install-VMInsights.ps1 -WorkspaceId $WorkspaceId -WorkspaceKey $WorkspaceKey -SubscriptionId $SubscriptionId -WorkspaceRegion eastus + +Getting list of VMs or VM ScaleSets matching criteria specified + +VMs or VM ScaleSets matching criteria: + +db-ws-1 VM running +db-ws2012 VM running + +This operation will install the Log Analytics and Dependency agent extensions on above 2 VMs or VM Scale Sets. +VMs in a non-running state will be skipped. +Extension will not be reinstalled if already installed. Use -ReInstall if desired, for example to update workspace + +Confirm +Continue? +[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y + +db-ws-1 : Deploying DependencyAgentWindows with name DAExtension +db-ws-1 : Successfully deployed DependencyAgentWindows +db-ws-1 : Deploying MicrosoftMonitoringAgent with name MMAExtension +db-ws-1 : Successfully deployed MicrosoftMonitoringAgent +db-ws2012 : Deploying DependencyAgentWindows with name DAExtension +db-ws2012 : Successfully deployed DependencyAgentWindows +db-ws2012 : Deploying MicrosoftMonitoringAgent with name MMAExtension +db-ws2012 : Successfully deployed MicrosoftMonitoringAgent + +Summary: + +Already Onboarded: (0) + +Succeeded: (4) +db-ws-1 : Successfully deployed DependencyAgentWindows +db-ws-1 : Successfully deployed MicrosoftMonitoringAgent +db-ws2012 : Successfully deployed DependencyAgentWindows +db-ws2012 : Successfully deployed MicrosoftMonitoringAgent + +Connected to different workspace: (0) + +Not running - start VM to configure: (0) + +Failed: (0) +``` + +## Next steps + +Now that monitoring is enabled for your virtual machines, this information is available for analysis with Azure Monitor for VMs. To learn how to use the Health feature, see [View Azure Monitor for VMs Health](vminsights-health.md). To view discovered application dependencies, see [View Azure Monitor for VMs Map](vminsights-maps.md). To identify bottlenecks and overall utilization with your VMs performance, see [View Azure VM Performance](vminsights-performance.md), or to view discovered application dependencies, see [View Azure Monitor for VMs Map](vminsights-maps.md). \ No newline at end of file diff --git a/articles/azure-monitor/insights/vminsights-enable-hybrid-cloud.md b/articles/azure-monitor/insights/vminsights-enable-hybrid-cloud.md new file mode 100644 index 0000000000000..bd4f6b9e1258f --- /dev/null +++ b/articles/azure-monitor/insights/vminsights-enable-hybrid-cloud.md @@ -0,0 +1,186 @@ +--- +title: Enable Azure Monitor (preview) for a hybrid environment | Microsoft Docs +description: This article describes how you enable Azure Monitor for VMs for a hybrid cloud environment that contains one or more virtual machines. +services: azure-monitor +documentationcenter: '' +author: mgoedtel +manager: carmonm +editor: +ms.assetid: +ms.service: azure-monitor +ms.topic: conceptual +ms.tgt_pltfrm: na +ms.workload: infrastructure-services +ms.date: 05/09/2019 +ms.author: magoedte +--- + +# Enable Azure Monitor for VMs (preview) for a hybrid environment + +[!INCLUDE [updated-for-az](../../../includes/updated-for-az.md)] + +This article explains how to enable Azure Monitor for VMs (preview) for virtual machines or physical computers hosted in your datacenter or other cloud environment. At the end of this process you will have successfully begun monitoring your virtual machines in your environment and learn if they are experiencing any performance or availability issues. + +Before getting started, be sure to review the [prerequisites](vminsights-enable-overview.md) and verify your subscription and resources meet the requirements. Review the requirements and deployment methods for the [Log Analytics Linux and Windows agent](../../log-analytics/log-analytics-agent-overview.md). + +[!INCLUDE [log-analytics-agent-note](../../../includes/log-analytics-agent-note.md)] + +>[!NOTE] +>The Azure Monitor for VMs Map Dependency agent doesn't transmit any data itself, and it doesn't require any changes to firewalls or ports. The Map data is always transmitted by the Log Analytics agent to the Azure Monitor service, either directly or through the [OMS Gateway](../../azure-monitor/platform/gateway.md) if your IT security policies don't allow computers on the network to connect to the internet. + +The tasks to complete this task are summarized as follows: + +1. Install Log Analytics Agent for Windows or Linux. + +2. Download and install the Azure Monitor for VMs Map Dependency agent for [Windows](https://aka.ms/dependencyagentwindows) or [Linux](https://aka.ms/dependencyagentlinux). + +3. Enable the collection of performance counters. + +4. Deploy Azure Monitor for VMs. + +## Install the Dependency agent on Windows +You can install the Dependency agent manually on Windows computers by running `InstallDependencyAgent-Windows.exe`. If you run this executable file without any options, it starts a setup wizard that you can follow to install the agent interactively. + +>[!NOTE] +>*Administrator* privileges are required to install or uninstall the agent. + +The following table highlights the parameters that are supported by setup for the agent from the command line. + +| Parameter | Description | +|:--|:--| +| /? | Returns a list of the command-line options. | +| /S | Performs a silent installation with no user interaction. | + +For example, to run the installation program with the `/?` parameter, type **InstallDependencyAgent-Windows.exe /?**. + +Files for the Windows Dependency agent are installed in *C:\Program Files\Microsoft Dependency Agent* by default. If the Dependency agent fails to start after setup is complete, check the logs for detailed error information. The log directory is *%Programfiles%\Microsoft Dependency Agent\logs*. + +## Install the Dependency agent on Linux +The Dependency agent is installed on Linux servers from *InstallDependencyAgent-Linux64.bin*, a shell script with a self-extracting binary. You can run the file by using `sh` or add execute permissions to the file itself. + +>[!NOTE] +> Root access is required to install or configure the agent. +> + +| Parameter | Description | +|:--|:--| +| -help | Get a list of the command-line options. | +| -s | Perform a silent installation with no user prompts. | +| --check | Check permissions and the operating system, but don't install the agent. | + +For example, to run the installation program with the `-help` parameter, type **InstallDependencyAgent-Linux64.bin -help**. + +Install the Linux Dependency agent as root by running the following command, `sh InstallDependencyAgent-Linux64.bin`. + +If the Dependency agent fails to start, check the logs for detailed error information. On Linux agents, the log directory is */var/opt/microsoft/dependency-agent/log*. + +Files for the Dependency agent are placed in the following directories: + +| Files | Location | +|:--|:--| +| Core files | /opt/microsoft/dependency-agent | +| Log files | /var/opt/microsoft/dependency-agent/log | +| Config files | /etc/opt/microsoft/dependency-agent/config | +| Service executable files | /opt/microsoft/dependency-agent/bin/microsoft-dependency-agent
/opt/microsoft/dependency-agent/bin/microsoft-dependency-agent-manager | +| Binary storage files | /var/opt/microsoft/dependency-agent/storage | + +## Enable performance counters +If the Log Analytics workspace that's referenced by the solution isn't already configured to collect the performance counters required by the solution, you will need to enable them. You can do so in either of two ways: +* Manually, as described in [Windows and Linux performance data sources in Log Analytics](../../azure-monitor/platform/data-sources-performance-counters.md) +* By downloading and running a PowerShell script that's available from [Azure PowerShell Gallery](https://www.powershellgallery.com/packages/Enable-VMInsightsPerfCounters/1.1) + +## Deploy Azure Monitor for VMs +This method includes a JSON template that specifies the configuration for enabling the solution components in your Log Analytics workspace. + +If you're unfamiliar with deploying resources by using a template, see: +* [Deploy resources with Resource Manager templates and Azure PowerShell](../../azure-resource-manager/resource-group-template-deploy.md) +* [Deploy resources with Resource Manager templates and the Azure CLI](../../azure-resource-manager/resource-group-template-deploy-cli.md) + +If you choose to use the Azure CLI, you first need to install and use the CLI locally. You must be running the Azure CLI version 2.0.27 or later. To identify your version, run `az --version`. If you need to install or upgrade the Azure CLI, see [Install the Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli). + +### Create and execute a template + +1. Copy and paste the following JSON syntax into your file: + + ```json + { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "WorkspaceName": { + "type": "string" + }, + "WorkspaceLocation": { + "type": "string" + } + }, + "resources": [ + { + "apiVersion": "2017-03-15-preview", + "type": "Microsoft.OperationalInsights/workspaces", + "name": "[parameters('WorkspaceName')]", + "location": "[parameters('WorkspaceLocation')]", + "resources": [ + { + "apiVersion": "2015-11-01-preview", + "location": "[parameters('WorkspaceLocation')]", + "name": "[concat('ServiceMap', '(', parameters('WorkspaceName'),')')]", + "type": "Microsoft.OperationsManagement/solutions", + "dependsOn": [ + "[concat('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" + ], + "properties": { + "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" + }, + + "plan": { + "name": "[concat('ServiceMap', '(', parameters('WorkspaceName'),')')]", + "publisher": "Microsoft", + "product": "[Concat('OMSGallery/', 'ServiceMap')]", + "promotionCode": "" + } + }, + { + "apiVersion": "2015-11-01-preview", + "location": "[parameters('WorkspaceLocation')]", + "name": "[concat('InfrastructureInsights', '(', parameters('WorkspaceName'),')')]", + "type": "Microsoft.OperationsManagement/solutions", + "dependsOn": [ + "[concat('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" + ], + "properties": { + "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" + }, + "plan": { + "name": "[concat('InfrastructureInsights', '(', parameters('WorkspaceName'),')')]", + "publisher": "Microsoft", + "product": "[Concat('OMSGallery/', 'InfrastructureInsights')]", + "promotionCode": "" + } + } + ] + } + ] + } + ``` + +1. Save this file as *installsolutionsforvminsights.json* to a local folder. + +1. Capture the values for *WorkspaceName*, *ResourceGroupName*, and *WorkspaceLocation*. The value for *WorkspaceName* is the name of your Log Analytics workspace. The value for *WorkspaceLocation* is the region the workspace is defined in. + +1. You're ready to deploy this template by using the following PowerShell command: + + ```powershell + New-AzResourceGroupDeployment -Name DeploySolutions -TemplateFile InstallSolutionsForVMInsights.json -ResourceGroupName ResourceGroupName> -WorkspaceName -WorkspaceLocation + ``` + + The configuration change can take a few minutes to complete. When it's complete, a message is displayed that's similar to the following and includes the result: + + ```powershell + provisioningState : Succeeded + ``` + After you've enabled monitoring, it might take about 10 minutes before you can view the health state and metrics for the hybrid computer. + +## Next steps + +Now that monitoring is enabled for your virtual machines, this information is available for analysis with Azure Monitor for VMs. To learn how to use the Health feature, see [View Azure Monitor for VMs Health](vminsights-health.md). To view discovered application dependencies, see [View Azure Monitor for VMs Map](vminsights-maps.md). To identify bottlenecks and overall utilization with your VMs performance, see [View Azure VM Performance](vminsights-performance.md), or to view discovered application dependencies, see [View Azure Monitor for VMs Map](vminsights-maps.md). \ No newline at end of file diff --git a/articles/azure-monitor/insights/vminsights-enable-overview.md b/articles/azure-monitor/insights/vminsights-enable-overview.md new file mode 100644 index 0000000000000..1ee3f615579df --- /dev/null +++ b/articles/azure-monitor/insights/vminsights-enable-overview.md @@ -0,0 +1,233 @@ +--- +title: Enable Azure Monitor for VMs (preview) overview | Microsoft Docs +description: This article describes how you deploy and configure Azure Monitor for VMs and the required system requirements. +services: azure-monitor +documentationcenter: '' +author: mgoedtel +manager: carmonm +editor: +ms.assetid: +ms.service: azure-monitor +ms.topic: conceptual +ms.tgt_pltfrm: na +ms.workload: infrastructure-services +ms.date: 05/09/2019 +ms.author: magoedte +--- + +# Enable Azure Monitor for VMs (preview) overview + +This article provides an overview of the options available to setup Azure Monitor for VMs to monitor the health, performance, and discover application dependencies running on Azure virtual machines and virtual machine scale sets, on-premise VMs, or VMs hosted in another cloud environment. + +You enable Azure Monitor for VMs by using one of the following methods: + +* Enable a single Azure virtual machine or virtual machine scale set by selecting **Insights (preview)** directly from the VM or virtual machine scale set. +* Enable two or more Azure VMs and virtual machine scale sets by using Azure Policy. Through this method, the required dependencies of existing and new VMs and scale sets are installed and properly configured. Non-compliant VMs and scale sets are reported, so you can decide whether to enable them and how you want to remediate them. +* Enable two or more Azure VMs or virtual machine scale sets across a specified subscription or resource group by using PowerShell. +* Enable to monitor virtual machines or physical computers hosted in your corporate network or other cloud environment. + +## Prerequisites + +Before you start, make sure that you understand the information in the following sections. + +### Log Analytics + +Azure Monitor for VMs supports a Log Analytics workspace in the following regions: + +- West Central US +- East US +- Canada Central1 +- UK South1 +- West Europe +- Southeast Asia1 + +1 This region doesn't currently support the Health feature of Azure Monitor for VMs. + +>[!NOTE] +>Azure virtual machines can be deployed from any region and aren't limited to the supported regions for the Log Analytics workspace. +> + +If you don't have a workspace, you can create one with one of the following methods: +* [The Azure CLI](../../azure-monitor/learn/quick-create-workspace-cli.md) +* [PowerShell](../../azure-monitor/learn/quick-create-workspace-posh.md) +* [The Azure portal](../../azure-monitor/learn/quick-create-workspace.md) +* [Azure Resource Manager](../../azure-monitor/platform/template-workspace-configuration.md) + +If you're enabling monitoring for a single Azure VM or virtual machine scale set in the Azure portal, you can create a workspace during this process. + +For the at-scale scenario using Azure Policy, Azure PowerShell, or Azure Resource Manager templates, your Log Analytics workspace first needs the following configured: + +* Install the ServiceMap and InfrastructureInsights solutions. You can complete this installation by using an Azure Resource Manager template that's provided or by using the **Configure Workspace** option found on the **Get Started** tab. +* Configure the Log Analytics workspace to collect performance counters. + +To configure your workspace for the at-scale scenario, you can configure it using one of the following methods: + +* [Azure PowerShell](vminsights-enable-at-scale-powershell.md#set-up-a-log-analytics-workspace) +* From the **Configure Workspace** option on the Azure Monitor for VMs [Policy Coverage](vminsights-enable-at-scale-policy.md#manage-policy-coverage-feature-overview) page + +### Supported operating systems + +The following table lists the Windows and Linux operating systems that are supported with Azure Monitor for VMs. A full list that details the major and minor Linux OS release and supported kernel versions is provided later in this section. + +|OS version |Performance |Maps |Health | +|-----------|------------|-----|-------| +|Windows Server 2019 | X | X | | +|Windows Server 2016 1803 | X | X | X | +|Windows Server 2016 | X | X | X | +|Windows Server 2012 R2 | X | X | | +|Windows Server 2012 | X | X | | +|Windows Server 2008 R2 | X | X| | +|Red Hat Enterprise Linux (RHEL) 6, 7| X | X| X | +|Ubuntu 14.04, 16.04, 18.04 | X | X | X | +|CentOS Linux 6, 7 | X | X | X | +|SUSE Linux Enterprise Server (SLES) 11, 12 | X | X | X | +|Debian 8, 9.4 | X1 | | X | + +1 The Performance feature of Azure Monitor for VMs is available only from Azure Monitor. It isn't available when you access it directly from the left pane of the Azure VM. + +>[!NOTE] +>The following information applies to support of the Linux operating system: +> - Only default and SMP Linux kernel releases are supported. +> - Nonstandard kernel releases, such as Physical Address Extension (PAE) and Xen, aren't supported for any Linux distribution. For example, a system with the release string of *2.6.16.21-0.8-xen* isn't supported. +> - Custom kernels, including recompiles of standard kernels, aren't supported. +> - CentOSPlus kernel is supported. + +#### Red Hat Linux 7 + +| OS version | Kernel version | +|:--|:--| +| 7.4 | 3.10.0-693 | +| 7.5 | 3.10.0-862 | +| 7.6 | 3.10.0-957 | + +#### Red Hat Linux 6 + +| OS version | Kernel version | +|:--|:--| +| 6.9 | 2.6.32-696 | +| 6.10 | 2.6.32-754 | + +### CentOSPlus +| OS version | Kernel version | +|:--|:--| +| 6.9 | 2.6.32-696.18.7
2.6.32-696.30.1 | +| 6.10 | 2.6.32-696.30.1
2.6.32-754.3.5 | + +#### Ubuntu Server + +| OS version | Kernel version | +|:--|:--| +| Ubuntu 18.04 | kernel 4.15.* | +| Ubuntu 16.04.3 | kernel 4.15.* | +| 16.04 | 4.4.\*
4.8.\*
4.10.\*
4.11.\*
4.13.\* | +| 14.04 | 3.13.\*
4.4.\* | + +#### SUSE Linux 11 Enterprise Server + +| OS version | Kernel version +|:--|:--| +|11 SP4 | 3.0.* | + +#### SUSE Linux 12 Enterprise Server + +| OS version | Kernel version +|:--|:--| +|12 SP2 | 4.4.* | +|12 SP3 | 4.4.* | + +### The Microsoft Dependency agent + +The Azure Monitor for VMs Map feature gets its data from the Microsoft Dependency agent. The Dependency agent relies on the Log Analytics agent for its connection to Log Analytics. Therefore, your system must have the Log Analytics agent installed and configured with the Dependency agent. + +Whether you enable Azure Monitor for VMs for a single Azure VM or you use the at-scale deployment method, you need to use the Azure VM Dependency agent extension to install the agent as part of the experience. + +In a hybrid environment, you can download and install the Dependency agent in either of two ways: manually, or by using an automated deployment method for virtual machines that are hosted outside Azure. + +The following table describes the connected sources that the Map feature supports in a hybrid environment. + +| Connected source | Supported | Description | +|:--|:--|:--| +| Windows agents | Yes | In addition to the [Log Analytics agent for Windows](../../azure-monitor/platform/log-analytics-agent.md), Windows agents require the Microsoft Dependency agent. For a complete list of operating system versions, see [supported operating systems](#supported-operating-systems). | +| Linux agents | Yes | In addition to the [Log Analytics agent for Linux](../../azure-monitor/platform/log-analytics-agent.md), Linux agents require the Microsoft Dependency agent. For a complete list of operating system versions, see [supported operating systems](#supported-operating-systems). | +| System Center Operations Manager management group | No | | + +The Dependency agent can be downloaded from the following locations: + +| File | OS | Version | SHA-256 | +|:--|:--|:--|:--| +| [InstallDependencyAgent-Windows.exe](https://aka.ms/dependencyagentwindows) | Windows | 9.8.1 | 622C99924385CBF539988D759BCFDC9146BB157E7D577C997CDD2674E27E08DD | +| [InstallDependencyAgent-Linux64.bin](https://aka.ms/dependencyagentlinux) | Linux | 9.8.1 | 3037934A5D3FB7911D5840A9744AE9F980F87F620A7F7B407F05E276FE7AE4A8 | + +## Role-based access control + +To enable and access the features in Azure Monitor for VMs, you need to be assigned the following access roles: + +- To enable it, you must have the *Log Analytics contributor* role. + +- To view performance, health, and map data, you must have the *Monitoring Reader* role for the Azure VM. The Log Analytics workspace must be configured for Azure Monitor for VMs. + +For more information about how to control access to a Log Analytics workspace, see [Manage workspaces](../../azure-monitor/platform/manage-access.md). + +## How to enable Azure Monitor for VMs (preview) + +You enable Azure Monitor for VMs by using one of the following methods described in the following table. + +| Deployment state | Method | Description | +|------------------|--------|-------------| +| Single Azure VM or virtual machine scale set | [Directly from the VM](vminsights-enable-single-vm.md) | You can enable a single Azure virtual machine by selecting **Insights (preview)** directly from the VM or virtual machine scale set. | +| Multiple Azure VMs or virtual machine scale sets | [Azure Policy](vminsights-enable-at-scale-policy.md) | You can enable multiple Azure VMs using Azure Policy and available policy definitions. | +| Multiple Azure VMs or virtual machine scale sets | [Azure PowerShell or Azure Resource Manager templates](vminsights-enable-at-scale-powershell.md) | You can enable multiple Azure VMs or virtual machine scale sets across a specified subscription or resource group using Azure PowerShell or Azure Resource Manager templates. | +| Hybrid cloud | [Enable for Hybrid environment](vminsights-enable-hybrid-cloud.md) | You can deploy to virtual machines or physical computers that are hosted in your datacenter or other cloud environments. | + +## Performance counters enabled + +Azure Monitor for VMs configures a Log Analytics workspace to collect the performance counters that it uses. The following table lists the objects and counters that are collected every 60 seconds. + +### Windows performance counters + +|Object name |Counter name | +|------------|-------------| +|LogicalDisk |% Free Space | +|LogicalDisk |Avg. Disk sec/Read | +|LogicalDisk |Avg. Disk sec/Transfer | +|LogicalDisk |Avg. Disk sec/Write | +|LogicalDisk |Disk Bytes/sec | +|LogicalDisk |Disk Read Bytes/sec | +|LogicalDisk |Disk Reads/sec | +|LogicalDisk |Disk Transfers/sec | +|LogicalDisk |Disk Write Bytes/sec | +|LogicalDisk |Disk Writes/sec | +|LogicalDisk |Free Megabytes | +|Memory |Available MBytes | +|Network Adapter |Bytes Received/sec | +|Network Adapter |Bytes Sent/sec | +|Processor |% Processor Time | + +### Linux performance counters + +|Object name |Counter name | +|------------|-------------| +|Logical Disk |% Used Space | +|Logical Disk |Disk Read Bytes/sec | +|Logical Disk |Disk Reads/sec | +|Logical Disk |Disk Transfers/sec | +|Logical Disk |Disk Write Bytes/sec | +|Logical Disk |Disk Writes/sec | +|Logical Disk |Free Megabytes | +|Logical Disk |Logical Disk Bytes/sec | +|Memory |Available MBytes Memory | +|Network |Total Bytes Received | +|Network |Total Bytes Transmitted | +|Processor |% Processor Time | + +## Diagnostic and usage data + +Microsoft automatically collects usage and performance data through your use of the Azure Monitor service. Microsoft uses this data to provide and improve the quality, security, and integrity of the service. To provide accurate and efficient troubleshooting capabilities, data from the Map feature includes information about the configuration of your software, such as the operating system and version, IP address, DNS name, and workstation name. Microsoft doesn't collect names, addresses, or other contact information. + +For more information about data collection and usage, see the [Microsoft Online Services Privacy Statement](https://go.microsoft.com/fwlink/?LinkId=512132). + +[!INCLUDE [GDPR-related guidance](../../../includes/gdpr-dsr-and-stp-note.md)] + +## Next steps + +Now that monitoring is enabled for your virtual machine, this information is available for analysis with Azure Monitor for VMs. To learn how to use the Health feature, see [View Azure Monitor for VMs Health](vminsights-health.md). To view discovered application dependencies, see [View Azure Monitor for VMs Map](vminsights-maps.md). diff --git a/articles/azure-monitor/insights/vminsights-enable-single-vm.md b/articles/azure-monitor/insights/vminsights-enable-single-vm.md new file mode 100644 index 0000000000000..bcce607437aa5 --- /dev/null +++ b/articles/azure-monitor/insights/vminsights-enable-single-vm.md @@ -0,0 +1,80 @@ +--- +title: Enable Azure Monitor for VMs (preview) for evaluation | Microsoft Docs +description: This article describes how you enable Azure Monitor for VMs for a single Azure virtual machine or virtual machine scale set for evaluation purposes. +services: azure-monitor +documentationcenter: '' +author: mgoedtel +manager: carmonm +editor: +ms.assetid: +ms.service: azure-monitor +ms.topic: conceptual +ms.tgt_pltfrm: na +ms.workload: infrastructure-services +ms.date: 05/09/2019 +ms.author: magoedte +--- + +# Enable Azure Monitor for VMs (preview) for evaluation + +To evaluate Azure Monitor for VMs (preview) on a small number of Azure virtual machines or a single virtual machine or virtual machine scale set, the easiest and most direct approach to enable monitoring is from the Azure portal. At the end of this process, you will have successfully begun monitoring them and learn if they are experiencing any performance or availability issues. + +Before getting started, be sure to review the [prerequisites](vminsights-enable-overview.md) and verify your subscription and resources meet the requirements. + +## Enable monitoring for a single Azure VM +To enable monitoring of your Azure VM in the Azure portal, do the following: + +1. Sign in to the [Azure portal](https://portal.azure.com). + +1. Select **Virtual Machines**. + +1. From the list, select a VM. + +1. On the VM page, in the **Monitoring** section, select **Insights (preview)**. + +1. On the **Insights (preview)** page, select **Try now**. + + ![Enable Azure Monitor for VMs for a VM](./media/vminsights-enable-single-vm/enable-vminsights-vm-portal-01.png) + +1. On the **Azure Monitor Insights Onboarding** page, if you have an existing Log Analytics workspace in the same subscription, select it in the drop-down list. + + The list preselects the default workspace and location that the virtual machine is deployed to in the subscription. + + >[!NOTE] + >If you want to create a new Log Analytics workspace for storing the monitoring data from the VM, follow the instructions in [Create a Log Analytics workspace](../../azure-monitor/learn/quick-create-workspace.md) in one of the supported regions listed [here](vminsights-enable-overview.md#log-analytics). + +After you've enabled monitoring, it might take about 10 minutes before you can view the health metrics for the virtual machine. + +![Enable Azure Monitor for VMs monitoring deployment processing](./media/vminsights-enable-single-vm/onboard-vminsights-vm-portal-status.png) + +## Enable monitoring for a single virtual machine scale set + +To enable monitoring of your Azure virtual machine scale set in the Azure portal, do the following: + +1. Sign in to the [Azure portal](https://portal.azure.com). + +2. Select **Virtual Machine Scale Sets**. + +3. From the list, select a virtual machine scale set. + +4. On the virtual machine scale set page, in the **Monitoring** section, select **Insights (preview)**. + +5. On the **Insights (preview)** page, if you have an existing Log Analytics workspace you want to use, select it in the drop-down list. + + The list preselects the default workspace and location that the virtual machine is deployed to in the subscription. + + ![Enable Azure Monitor for VMs for a virtual machine scale set](./media/vminsights-enable-single-vm/enable-vminsights-vmss-portal-01.png) + + >[!NOTE] + >If you want to create a new Log Analytics workspace for storing the monitoring data from the VM, follow the instructions in [Create a Log Analytics workspace](../learn/quick-create-workspace.md) in one of the supported regions listed [here](vminsights-enable-overview.md#log-analytics). + +After you've enabled monitoring, it might take about 10 minutes before you can view the monitoring data for the scale set. + +>[!NOTE] +>If you are using a manual upgrade model for your scale set you will need to upgrade the instances to complete the setup. This can be done from the Instances page under the **Settings** section. + +![Enable Azure Monitor for VMs monitoring deployment processing](./media/vminsights-enable-single-vm/onboard-vminsights-vmss-portal-status-01.png) + +## Next steps + +Now that monitoring is enabled for your virtual machine or virtual machine scale set, this information is available for analysis with Azure Monitor for VMs. To learn how to use the Health feature, see [View Azure Monitor for VMs Health](vminsights-health.md). To view discovered application dependencies, see [View Azure Monitor for VMs Map](vminsights-maps.md). To identify bottlenecks and overall utilization with your VMs performance, see [View Azure VM Performance](vminsights-performance.md), or to view discovered application dependencies, see [View Azure Monitor for VMs Map](vminsights-maps.md). \ No newline at end of file diff --git a/articles/azure-monitor/insights/vminsights-faq.md b/articles/azure-monitor/insights/vminsights-faq.md index f110d71625005..3fa9a441aadea 100644 --- a/articles/azure-monitor/insights/vminsights-faq.md +++ b/articles/azure-monitor/insights/vminsights-faq.md @@ -17,28 +17,28 @@ ms.author: magoedte This Microsoft FAQ is a list of commonly asked questions about Azure Monitor for VMs. If you have any additional questions about the solution, go to the [discussion forum](https://feedback.azure.com/forums/34192--general-feedback) and post your questions. When a question is frequently asked, we add it to this article so that it can be found quickly and easily. ## Can I onboard to an existing workspace? -If your virtual machines are already connected to a Log Analytics workspace, you may continue to use that workspace when onboarding to Azure Monitor for VMs, provided it is in one of the supported regions listed [here](vminsights-onboard.md#prerequisites). +If your virtual machines are already connected to a Log Analytics workspace, you may continue to use that workspace when onboarding to Azure Monitor for VMs, provided it is in one of the supported regions listed [here](vminsights-enable-overview.md#prerequisites). When onboarding, we configure performance counters for the workspace that will cause all of the VMs reporting data to the workspace to begin collecting this information for display and analysis in Azure Monitor for VMs. As a result, you will see performance data from all of the VMs connected to the selected workspace. The Health and Map features are only enabled for the VMs that you have specified to onboard. -For more information on which performance counters are enabled, refer to our [onboarding](vminsights-onboard.md) article. +For more information on which performance counters are enabled, refer to our [enable overview](vminsights-enable-overview.md#performance-counters-enabled) article. ## Can I onboard to a new workspace? -If your VMs are not currently connected to an existing Log Analytics workspace, you need to create a new workspace to store your data. Creating a new default workspace is done automatically if you configure a single Azure VM for Azure Monitor for VMs through the Azure portal. +If your VMs are not currently connected to an existing Log Analytics workspace, you need to create a new workspace to store your data. Creating a new default workspace is done automatically if you configure a single Azure VM for Azure Monitor for VMs through the Azure portal. -If you choose to use the script-based method, these steps are covered in the [onboarding](vminsights-onboard.md) article. +If you choose to use the script-based method, these steps are covered in the [Enable Azure Monitor for VMs (preview) using Azure PowerShell or Resource Manager template](vminsights-enable-at-scale-powershell.md) article. ## What do I do if my VM is already reporting to an existing workspace? If you are already collecting data from your virtual machines, you may have already configured it to report data to an existing Log Analytics workspace. As long as that workspace is in one of our supported regions, you can enable Azure Monitor for VMs to that pre-existing workspace. If the workspace you are already using is not in one of our supported regions, you won’t be able to onboard to Azure Monitor for VMs at this time. We are actively working to support additional regions. >[!NOTE] ->We configure performance counters for the workspace that affects all VMs that report to the workspace, whether or not you have chosen to onboard them to Azure Monitor for VMs. For more details on how performance counters are configured for the workspace, please refer to our [documentation](../../azure-monitor/platform/data-sources-performance-counters.md). For information about the counters configured for Azure Monitor for VMs, please refer to our [onboarding documentation](vminsights-onboard.md#performance-counters-enabled). +>We configure performance counters for the workspace that affects all VMs that report to the workspace, whether or not you have chosen to onboard them to Azure Monitor for VMs. For more details on how performance counters are configured for the workspace, please refer to our [documentation](../../azure-monitor/platform/data-sources-performance-counters.md). For information about the counters configured for Azure Monitor for VMs, please refer to our [enable Azure Monitor for VMs](vminsights-enable-overview.md#performance-counters-enabled) article. ## Why did my VM fail to onboard? When onboarding an Azure VM from the Azure portal, the following steps occur: * A default Log Analytics workspace is created, if that option was selected. -* The performance counters are configured for selected workspace. If this step fails, you notice that some of the performance charts and tables aren't showing data for the VM you onboarded. You can fix this by running the PowerShell script documented [here](vminsights-onboard.md#enable-with-powershell). +* The performance counters are configured for selected workspace. If this step fails, you notice that some of the performance charts and tables aren't showing data for the VM you onboarded. You can fix this by running the PowerShell script documented [here](vminsights-enable-at-scale-powershell.md#enable-performance-counters). * The Log Analytics agent is installed on Azure VMs using a VM extension, if determined it is required. * The Azure Monitor for VMs Map Dependency agent is installed on Azure VMs using an extension, if determined it is required. * Azure Monitor components supporting the Health feature are configured, if needed, and the VM is configured to report health data. @@ -85,7 +85,7 @@ Thresholds for the following Linux health criteria aren’t modifiable, because Alert rules that are defined for each health criterion aren't displayed in the Azure portal. You can enable or disable a health alert rule only in the [Workload Monitor API](https://docs.microsoft.com/rest/api/monitor/microsoft.workloadmonitor/components). Also, you can't assign an [Azure Monitor action group](../../azure-monitor/platform/action-groups.md) for health alerts in the Azure portal. You can only use the notification setting API to configure an action group to be triggered whenever a health alert is fired. Currently, you can assign action groups against a VM so that all *health alerts* fired against the VM trigger the same action groups. Unlike traditional Azure alerts, there's no concept of a separate action group for each health alert rule. Additionally, only action groups that are configured to provide email or SMS notifications are supported when health alerts are triggered. ## I don’t see some or any data in the performance charts for my VM -If you don’t see performance data in the disk table or in some of the performance charts then your performance counters may not be configured in the workspace. To resolve, run the following [PowerShell script](vminsights-onboard.md#enable-with-powershell). +If you don’t see performance data in the disk table or in some of the performance charts then your performance counters may not be configured in the workspace. To resolve, run the following [PowerShell script](vminsights-enable-at-scale-powershell.md#enable-with-powershell). ## How is Azure Monitor for VMs Map feature different from Service Map? The Azure Monitor for VMs Map feature is based on Service Map, but has the following differences: @@ -134,4 +134,4 @@ If you have configured Azure Monitor with a Log Analytics workspace using the *F Under this condition, you will be prompted with the **Try Now** option when you open the VM and select **Insights (preview)** from the left-hand pane, even after it has been installed already on the VM. However, you are not prompted with options as would normally occur if this VM were not onboarded to Azure Monitor for VMs. ## Next steps -Review [Onboard Azure Monitor for VMs](vminsights-onboard.md) to understand requirements and methods to enable monitoring of your virtual machines. +Review [Enable Azure Monitor for VMs](vminsights-enable-overview.md) to understand requirements and methods to enable monitoring of your virtual machines. diff --git a/articles/azure-monitor/insights/vminsights-health.md b/articles/azure-monitor/insights/vminsights-health.md index 13d43596671f6..0ab267e8055c8 100644 --- a/articles/azure-monitor/insights/vminsights-health.md +++ b/articles/azure-monitor/insights/vminsights-health.md @@ -23,7 +23,7 @@ Viewing the overall health state of the Azure VM and underlying operating system This article will help you understand how to quickly assess, investigate, and resolve health issues detected. -For information about configuring Azure Monitor for VMs, see [Enable Azure Monitor for VMs](vminsights-onboard.md). +For information about configuring Azure Monitor for VMs, see [Enable Azure Monitor for VMs](vminsights-enable-overview.md). ## Monitoring configuration details diff --git a/articles/azure-monitor/insights/vminsights-known-issues.md b/articles/azure-monitor/insights/vminsights-known-issues.md index 5511159a05948..ed5024ba209b2 100644 --- a/articles/azure-monitor/insights/vminsights-known-issues.md +++ b/articles/azure-monitor/insights/vminsights-known-issues.md @@ -30,4 +30,4 @@ The following are known issues with the current release of the Health feature: - After removing the solution components from your workspace, you may continue to see health state from your Azure VMs; specifically performance and map data when you navigate to either view in the portal. Data will eventually stop appearing from the Performance and Map view after sometime; however the Health view will continue to show health status for your VMs. The **Try now** option will be available to re-onboard from Performance and Map views only. ## Next steps -To understand the requirements and methods for enabling monitoring of your virtual machines, review [Deploy Azure Monitor for VMs](vminsights-onboard.md). +To understand the requirements and methods for enabling monitoring of your virtual machines, review [Enable Azure Monitor for VMs](vminsights-enable-overview.md). diff --git a/articles/azure-monitor/insights/vminsights-log-search.md b/articles/azure-monitor/insights/vminsights-log-search.md index 2e4e06d24b9c7..bf5ebaef44f9d 100644 --- a/articles/azure-monitor/insights/vminsights-log-search.md +++ b/articles/azure-monitor/insights/vminsights-log-search.md @@ -125,7 +125,7 @@ Ports on a machine that actively accept incoming traffic or could potentially ac >- East US >- West Europe > -> Collecting this data is enabled in the other [supported regions](vminsights-onboard.md#log-analytics) for Azure Monitor for VMs. +> Collecting this data is enabled in the other [supported regions](vminsights-enable-overview.md#log-analytics) for Azure Monitor for VMs. Every record in VMBoundPort is identified by the following fields: diff --git a/articles/azure-monitor/insights/vminsights-maps.md b/articles/azure-monitor/insights/vminsights-maps.md index 59ec12db90d3e..af9a2d25572b1 100644 --- a/articles/azure-monitor/insights/vminsights-maps.md +++ b/articles/azure-monitor/insights/vminsights-maps.md @@ -11,14 +11,14 @@ ms.service: azure-monitor ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services -ms.date: 10/25/2018 +ms.date: 05/09/2019 ms.author: magoedte --- # Using Azure Monitor for VMs (preview) Map to understand application components -Viewing the discovered application components on Windows and Linux virtual machines running in Azure your environment can be observed in two ways with Azure Monitor for VMs, from a virtual machine directly or across groups of VMs from Azure Monitor. +Viewing the discovered application components on Windows and Linux virtual machines running in Azure your environment can be observed in two ways with Azure Monitor for VMs, from a virtual machine directly, or across groups of VMs from Azure Monitor. -This article will help you understand the experience between the two perspectives and how to use the Map feature. For information about configuring Azure Monitor for VMs, see [Enable Azure Monitor for VMs](vminsights-onboard.md). +This article will help you understand the experience between the two perspectives and how to use the Map feature. For information about configuring Azure Monitor for VMs, see [Enable Azure Monitor for VMs](vminsights-enable-overview.md). ## Sign in to Azure Sign in to the Azure portal at [https://portal.azure.com](https://portal.azure.com). @@ -92,6 +92,21 @@ Map visualizes the VMs dependencies, that is running process groups and processe ![Direct VM map overview](./media/vminsights-maps/map-direct-vm-01.png) +## View Map directly from a virtual machine scale set + +To access Azure Monitor for VMs directly from a virtual machine scale set, perform the following. + +1. In the Azure portal, select **Virtual machine scale sets**. +2. From the list, choose a VM and in the **Monitoring** section choose **Insights (preview)**. +3. Select the **Map** tab. + +Map visualizes all of the instances in the scale set as a group node along with the group's dependencies. The expanded node lists the instances in the scale set, which you can scroll through ten at a time. To load a map for a specific instance, select that instance on the map, and then click on the ellipsis to it's right and choose **Load Server Map**. This will load the map for that instance, allowing you to see process groups and processes with active network connections over a specified time range. By default, the map shows the last 30 minutes. Using the **TimeRange** selector you can query for historical time ranges of up to one hour to show how dependencies looked in the past (for example, during an incident or before a change occurred). + +![Direct VM map overview](./media/vminsights-maps/map-direct-vmss-01.png) + +>[!NOTE] +>You can also access a map for a specific instance from the Instances view for your virtual machine scale set. Navigate to **Instances** under the **Settings** section, and then choose **Insights (preview)**. + ## View Map from Azure Monitor From Azure Monitor, the Map feature provides a global view of your virtual machines and their dependencies. To access the Map feature from Azure Monitor, perform the following. @@ -101,7 +116,7 @@ From Azure Monitor, the Map feature provides a global view of your virtual machi ![Azure Monitor multi-VM map overview](./media/vminsights-maps/map-multivm-azure-monitor-01.png) -From the **Workspace** selector at the top of the page, if you have more than one Log Analytics workspace, choose the workspace that is enabled with the solution and has virtual machines reporting to it. The **Group** selector will return subscriptions, resource groups, [computer groups](../../azure-monitor/platform/computer-groups.md), and VM scale sets of computers related to the selected workspace. Your selection only applies to the Map feature and does not carry over to Performance or Map. +From the **Workspace** selector at the top of the page, if you have more than one Log Analytics workspace, choose the workspace that is enabled with the solution and has virtual machines reporting to it. The **Group** selector will return subscriptions, resource groups, [computer groups](../../azure-monitor/platform/computer-groups.md), and virtual machine scale sets of computers related to the selected workspace. Your selection only applies to the Map feature and does not carry over to Performance or Map. By default, the map shows the last 30 minutes. Using the **TimeRange** selector, you can query for historical time ranges of up to one hour to show how dependencies looked in the past (for example, during an incident or before a change occurred). diff --git a/articles/azure-monitor/insights/vminsights-onboard.md b/articles/azure-monitor/insights/vminsights-onboard.md deleted file mode 100644 index 26c11b7beb443..0000000000000 --- a/articles/azure-monitor/insights/vminsights-onboard.md +++ /dev/null @@ -1,773 +0,0 @@ ---- -title: Deploy Azure Monitor for VMs (preview) | Microsoft Docs -description: This article describes how you deploy and configure Azure Monitor for VMs so you can start understanding how your distributed application is performing and what health issues have been identified. -services: azure-monitor -documentationcenter: '' -author: mgoedtel -manager: carmonm -editor: -ms.assetid: -ms.service: azure-monitor -ms.topic: conceptual -ms.tgt_pltfrm: na -ms.workload: infrastructure-services -ms.date: 04/30/2019 -ms.author: magoedte ---- - -# Deploy Azure Monitor for VMs (preview) - -[!INCLUDE [updated-for-az](../../../includes/updated-for-az.md)] - -This article describes how to set up Azure Monitor for VMs. The service monitors the operating system health of your Azure virtual machines (VMs) and virtual machine scale sets, and the virtual machines in your environment. This monitoring includes the discovery and mapping of application dependencies that might be hosted on them. - -You enable Azure Monitor for VMs by using one of the following methods: - -* Enable a single Azure virtual machine by selecting **Insights (preview)** directly from the VM. -* Enable two or more Azure VMs by using Azure Policy. Through this method, the required dependencies of existing and new VMs are installed and properly configured. Non-compliant VMs are reported, so you can decide whether to enable them and how you want to remediate them. -* Enable two or more Azure VMs or virtual machine scale sets across a specified subscription or resource group by using PowerShell. - -Additional information about each method is provided later in the article. - -## Prerequisites -Before you start, make sure that you understand the information in the following sections. - -### Log Analytics - -Azure Monitor for VMs supports a Log Analytics workspace in the following regions: - -- West Central US -- East US -- Canada Central1 -- UK South1 -- West Europe -- Southeast Asia1 - -1 This region doesn't currently support the Health feature of Azure Monitor for VMs. - ->[!NOTE] ->Azure virtual machines can be deployed from any region and aren't limited to the supported regions for the Log Analytics workspace. -> - -If you don't have a workspace, you can create one with one of the following methods: -* [The Azure CLI](../../azure-monitor/learn/quick-create-workspace-cli.md) -* [PowerShell](../../azure-monitor/learn/quick-create-workspace-posh.md) -* [The Azure portal](../../azure-monitor/learn/quick-create-workspace.md) -* [Azure Resource Manager](../../azure-monitor/platform/template-workspace-configuration.md) - -If you're enabling monitoring for a single Azure VM in the Azure portal, you can create a workspace during this process. - -To enable the solution for the at-scale scenario, first configure the following in your Log Analytics workspace: - -* Install the ServiceMap and InfrastructureInsights solutions. You can complete this installation only by using an Azure Resource Manager template that's provided in this article. -* Configure the Log Analytics workspace to collect performance counters. - -To configure your workspace for the at-scale scenario, see Set up Log Analytics workspace for an at-scale deployment. - -### Supported operating systems - -The following table lists the Windows and Linux operating systems that are supported with Azure Monitor for VMs. A full list that details the major and minor Linux OS release and supported kernel versions is provided later in this section. - -|OS version |Performance |Maps |Health | -|-----------|------------|-----|-------| -|Windows Server 2019 | X | X | | -|Windows Server 2016 1803 | X | X | X | -|Windows Server 2016 | X | X | X | -|Windows Server 2012 R2 | X | X | | -|Windows Server 2012 | X | X | | -|Windows Server 2008 R2 | X | X| | -|Red Hat Enterprise Linux (RHEL) 6, 7| X | X| X | -|Ubuntu 14.04, 16.04, 18.04 | X | X | X | -|CentOS Linux 6, 7 | X | X | X | -|SUSE Linux Enterprise Server (SLES) 11, 12 | X | X | X | -|Debian 8, 9.4 | X1 | | X | - -1 The Performance feature of Azure Monitor for VMs is available only from Azure Monitor. It isn't available when you access it directly from the left pane of the Azure VM. - ->[!NOTE] ->The following information applies to support of the Linux operating system: -> - Only default and SMP Linux kernel releases are supported. -> - Nonstandard kernel releases, such as Physical Address Extension (PAE) and Xen, aren't supported for any Linux distribution. For example, a system with the release string of *2.6.16.21-0.8-xen* isn't supported. -> - Custom kernels, including recompiles of standard kernels, aren't supported. -> - CentOSPlus kernel is supported. - -#### Red Hat Linux 7 - -| OS version | Kernel version | -|:--|:--| -| 7.4 | 3.10.0-693 | -| 7.5 | 3.10.0-862 | -| 7.6 | 3.10.0-957 | - -#### Red Hat Linux 6 - -| OS version | Kernel version | -|:--|:--| -| 6.9 | 2.6.32-696 | -| 6.10 | 2.6.32-754 | - -### CentOSPlus -| OS version | Kernel version | -|:--|:--| -| 6.9 | 2.6.32-696.18.7
2.6.32-696.30.1 | -| 6.10 | 2.6.32-696.30.1
2.6.32-754.3.5 | - -#### Ubuntu Server - -| OS version | Kernel version | -|:--|:--| -| Ubuntu 18.04 | kernel 4.15.* | -| Ubuntu 16.04.3 | kernel 4.15.* | -| 16.04 | 4.4.\*
4.8.\*
4.10.\*
4.11.\*
4.13.\* | -| 14.04 | 3.13.\*
4.4.\* | - -#### SUSE Linux 11 Enterprise Server - -| OS version | Kernel version -|:--|:--| -|11 SP4 | 3.0.* | - -#### SUSE Linux 12 Enterprise Server - -| OS version | Kernel version -|:--|:--| -|12 SP2 | 4.4.* | -|12 SP3 | 4.4.* | - -### The Microsoft Dependency agent -The Azure Monitor for VMs Map feature gets its data from the Microsoft Dependency agent. The Dependency agent relies on the Log Analytics agent for its connection to Log Analytics. Therefore, your system must have the Log Analytics agent installed and configured with the Dependency agent. - -Whether you enable Azure Monitor for VMs for a single Azure VM or you use the at-scale deployment method, you need to use the Azure VM Dependency agent extension to install the agent as part of the experience. - -In a hybrid environment, you can download and install the Dependency agent in either of two ways: Manually, or by using an automated deployment method for virtual machines that are hosted outside Azure. - -The following table describes the connected sources that the Map feature supports in a hybrid environment. - -| Connected source | Supported | Description | -|:--|:--|:--| -| Windows agents | Yes | In addition to the [Log Analytics agent for Windows](../../azure-monitor/platform/log-analytics-agent.md), Windows agents require the Microsoft Dependency agent. For a complete list of operating system versions, see [supported operating systems](#supported-operating-systems). | -| Linux agents | Yes | In addition to the [Log Analytics agent for Linux](../../azure-monitor/platform/log-analytics-agent.md), Linux agents require the Microsoft Dependency agent. For a complete list of operating system versions, see [supported operating systems](#supported-operating-systems). | -| System Center Operations Manager management group | No | | - -The Dependency agent can be downloaded from the following locations: - -| File | OS | Version | SHA-256 | -|:--|:--|:--|:--| -| [InstallDependencyAgent-Windows.exe](https://aka.ms/dependencyagentwindows) | Windows | 9.8.1 | 622C99924385CBF539988D759BCFDC9146BB157E7D577C997CDD2674E27E08DD | -| [InstallDependencyAgent-Linux64.bin](https://aka.ms/dependencyagentlinux) | Linux | 9.8.1 | 3037934A5D3FB7911D5840A9744AE9F980F87F620A7F7B407F05E276FE7AE4A8 | - -## Role-based access control -To enable and access the features in Azure Monitor for VMs, you need to be assigned the following access roles: - -- To enable the solution, you must have the *Log Analytics contributor* role. - -- To view performance, health, and map data, you must have the *Monitoring Reader* role for the Azure VM. The Log Analytics workspace must be configured for Azure Monitor for VMs. - -For more information about how to control access to a Log Analytics workspace, see [Manage workspaces](../../azure-monitor/platform/manage-access.md). - -## Enable monitoring in the Azure portal -To enable monitoring of your Azure VM in the Azure portal, do the following: - -1. Sign in to the [Azure portal](https://portal.azure.com). - -1. Select **Virtual Machines**. - -1. From the list, select a VM. - -1. On the VM page, in the **Monitoring** section, select **Insights (preview)**. - -1. On the **Insights (preview)** page, select **Try now**. - - ![Enable Azure Monitor for VMs for a VM](./media/vminsights-onboard/enable-vminsights-vm-portal-01.png) -1. On the **Azure Monitor Insights Onboarding** page, if you have an existing Log Analytics workspace in the same subscription, select it in the drop-down list. - The list preselects the default workspace and location that the virtual machine is deployed to in the subscription. - - >[!NOTE] - >If you want to create a new Log Analytics workspace for storing the monitoring data from the VM, follow the instructions in [Create a Log Analytics workspace](../../azure-monitor/learn/quick-create-workspace.md) in one of the supported regions listed earlier. - -After you've enabled monitoring, it might take about 10 minutes before you can view the health metrics for the virtual machine. - -![Enable Azure Monitor for VMs monitoring deployment processing](./media/vminsights-onboard/onboard-vminsights-vm-portal-status.png) - - -## Deploy at scale -In this section, you deploy Azure Monitor for VMs at scale by using either Azure Policy or Azure PowerShell. - -Before you deploy your VMs, pre-configure your Log Analytics workspace by doing the following: - -1. If you don't already have a workspace, create one that can support Azure Monitor for VMs. - Before you proceed, see [Manage workspaces](../../log-analytics/log-analytics-manage-access.md?toc=/azure/azure-monitor/toc.json) to understand the cost, management, and compliance considerations. - -1. Create a new workspace if one does not already exist that can be used to support Azure Monitor for VMs. Review [Manage workspaces](../../azure-monitor/platform/manage-access.md?toc=/azure/azure-monitor/toc.json) before creating a new workspace to understand the cost, management, and compliance considerations before proceeding. - -1. Enable performance counters in the workspace for collection on Linux and Windows VMs. - -1. Install and enable the ServiceMap and InfrastructureInsights solution in your workspace. - -### Set up a Log Analytics workspace -If you don't have a Log Analytics workspace, create one by reviewing the methods that are suggested in the ["Prerequisites"](#log-analytics) section. - -#### Enable performance counters -If the Log Analytics workspace that's referenced by the solution isn't already configured to collect the performance counters required by the solution, you need to enable them. You can do so in either of two ways: -* Manually, as described in [Windows and Linux performance data sources in Log Analytics](../../azure-monitor/platform/data-sources-performance-counters.md) -* By downloading and running a PowerShell script that's available from [Azure PowerShell Gallery](https://www.powershellgallery.com/packages/Enable-VMInsightsPerfCounters/1.1) - -#### Install the ServiceMap and InfrastructureInsights solutions -This method includes a JSON template that specifies the configuration for enabling the solution components in your Log Analytics workspace. - -If you're unfamiliar with deploying resources by using a template, see: -* [Deploy resources with Resource Manager templates and Azure PowerShell](../../azure-resource-manager/resource-group-template-deploy.md) -* [Deploy resources with Resource Manager templates and the Azure CLI](../../azure-resource-manager/resource-group-template-deploy-cli.md) - -If you choose to use the Azure CLI, you first need to install and use the CLI locally. You must be running the Azure CLI version 2.0.27 or later. To identify your version, run `az --version`. If you need to install or upgrade the Azure CLI, see [Install the Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli). - -1. Copy and paste the following JSON syntax into your file: - - ```json - { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "WorkspaceName": { - "type": "string" - }, - "WorkspaceLocation": { - "type": "string" - } - }, - "resources": [ - { - "apiVersion": "2017-03-15-preview", - "type": "Microsoft.OperationalInsights/workspaces", - "name": "[parameters('WorkspaceName')]", - "location": "[parameters('WorkspaceLocation')]", - "resources": [ - { - "apiVersion": "2015-11-01-preview", - "location": "[parameters('WorkspaceLocation')]", - "name": "[concat('ServiceMap', '(', parameters('WorkspaceName'),')')]", - "type": "Microsoft.OperationsManagement/solutions", - "dependsOn": [ - "[concat('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" - ], - "properties": { - "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" - }, - - "plan": { - "name": "[concat('ServiceMap', '(', parameters('WorkspaceName'),')')]", - "publisher": "Microsoft", - "product": "[Concat('OMSGallery/', 'ServiceMap')]", - "promotionCode": "" - } - }, - { - "apiVersion": "2015-11-01-preview", - "location": "[parameters('WorkspaceLocation')]", - "name": "[concat('InfrastructureInsights', '(', parameters('WorkspaceName'),')')]", - "type": "Microsoft.OperationsManagement/solutions", - "dependsOn": [ - "[concat('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" - ], - "properties": { - "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" - }, - "plan": { - "name": "[concat('InfrastructureInsights', '(', parameters('WorkspaceName'),')')]", - "publisher": "Microsoft", - "product": "[Concat('OMSGallery/', 'InfrastructureInsights')]", - "promotionCode": "" - } - } - ] - } - ] - } - ``` - -1. Save this file as *installsolutionsforvminsights.json* to a local folder. - -1. Capture the values for *WorkspaceName*, *ResourceGroupName*, and *WorkspaceLocation*. The value for *WorkspaceName* is the name of your Log Analytics workspace. The value for *WorkspaceLocation* is the region the workspace is defined in. - -1. You're ready to deploy this template. - - * Use the following PowerShell commands in the folder that contains the template: - - ```powershell - New-AzResourceGroupDeployment -Name DeploySolutions -TemplateFile InstallSolutionsForVMInsights.json -ResourceGroupName -WorkspaceName -WorkspaceLocation - ``` - - The configuration change can take a few minutes to complete. When it's complete, a message is displayed that's similar to the following and includes the result: - - ```powershell - provisioningState : Succeeded - ``` - - * To run the following command by using the Azure CLI: - - ```azurecli - az login - az account set --subscription "Subscription Name" - az group deployment create --name DeploySolutions --resource-group --template-file InstallSolutionsForVMInsights.json --parameters WorkspaceName= WorkspaceLocation= - ``` - - The configuration change can take a few minutes to complete. When it's completed, a message is displayed that's similar to the following and includes the result: - - ```azurecli - provisioningState : Succeeded - -### Enable by using Azure Policy -To enable Azure Monitor for VMs at scale in a way that helps ensure consistent compliance and the automatic enabling of the newly provisioned VMs, we recommend [Azure Policy](../../governance/policy/overview.md). These policies: - -* Deploy the Log Analytics agent and the Dependency agent. -* Report on compliance results. -* Remediate for non-compliant VMs. - -To enable Azure Monitor for VMs by using Azure Policy in your tenant: - -- Assign the initiative to a scope: management group, subscription, or resource group -- Review and remediate compliance results - -For more information about assigning Azure Policy, see [Azure Policy overview](../../governance/policy/overview.md#policy-assignment) and review the [overview of management groups](../../governance/management-groups/index.md) before you continue. - -The policy definitions are listed in the following table: - -|Name |Description |Type | -|-----|------------|-----| -|[Preview]: Enable Azure Monitor for VMs |Enable Azure Monitor for the Virtual Machines (VMs) in the specified scope (management group, subscription, or resource group). Takes Log Analytics workspace as a parameter. |Initiative | -|[Preview]: Audit Dependency Agent Deployment – VM Image (OS) unlisted |Reports VMs as non-compliant if the VM Image (OS) isn't defined in the list and the agent isn't installed. |Policy | -|[Preview]: Audit Log Analytics Agent Deployment – VM Image (OS) unlisted |Reports VMs as non-compliant if the VM Image (OS) isn't defined in the list and the agent isn't installed. |Policy | -|[Preview]: Deploy Dependency Agent for Linux VMs |Deploy Dependency Agent for Linux VMs if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | -|[Preview]: Deploy Dependency Agent for Windows VMs |Deploy Dependency Agent for Windows VMs if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | -|[Preview]: Deploy Log Analytics Agent for Linux VMs |Deploy Log Analytics Agent for Linux VMs if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | -|[Preview]: Deploy Log Analytics Agent for Windows VMs |Deploy Log Analytics Agent for Windows VMs if the VM Image (OS) is defined in the list and the agent isn't installed. |Policy | - -Standalone policy (not included with the initiative) is described here: - -|Name |Description |Type | -|-----|------------|-----| -|[Preview]: Audit Log Analytics Workspace for VM - Report Mismatch |Report VMs as non-compliant if they aren't logging to the Log Analytics workspace specified in the policy/initiative assignment. |Policy | - -#### Assign the Azure Monitor initiative -With this initial release, you can create the policy assignment only in the Azure portal. To understand how to complete these steps, see [Create a policy assignment from the Azure portal](../../governance/policy/assign-policy-portal.md). - -1. To launch the Azure Policy service in the Azure portal, select **All services**, and then search for and select **Policy**. - -1. In the left pane of the Azure Policy page, select **Assignments**. - An assignment is a policy that has been assigned to take place within a specific scope. - -1. At the top of the **Policy - Assignments** page, select **Assign Initiative**. - -1. On the **Assign Initiative** page, select the **Scope** by clicking the ellipsis (...), and select a management group or subscription. - In our example, a scope limits the policy assignment to a grouping of virtual machines for enforcement. - -1. At the bottom of the **Scope** page, save your changes by selecting **Select**. - -1. (Optional) To remove one or more resources from the scope, select **Exclusions**. - -1. Select the **Initiative definition** ellipsis (...) to display the list of available definitions, select **[Preview] Enable Azure Monitor for VMs**, and then select **Select**. - The **Assignment name** box is automatically populated with the initiative name you selected, but you can change it. You can also add an optional description. The **Assigned by** box is automatically populated based on who is logged in, and this value is optional. - -1. In the **Log Analytics workspace** drop-down list for the supported region, select a workspace. - - > [!NOTE] - > If the workspace is beyond the scope of the assignment, grant *Log Analytics Contributor* permissions to the policy assignment's Principal ID. If you don't do this, you might see a deployment failure such as: `The client '343de0fe-e724-46b8-b1fb-97090f7054ed' with object id '343de0fe-e724-46b8-b1fb-97090f7054ed' does not have authorization to perform action 'microsoft.operationalinsights/workspaces/read' over scope ...` - > To grant access, review [how to manually configure the managed identity](../../governance/policy/how-to/remediate-resources.md#manually-configure-the-managed-identity). - > - > The **Managed Identity** check box is selected, because the initiative being assigned includes a policy with the *deployIfNotExists* effect. - -1. In the **Manage Identity location** drop-down list, select the appropriate region. - -1. Select **Assign**. - -#### Review and remediate the compliance results - -You can learn how to review compliance results by reading [identify non-compliance results](../../governance/policy/assign-policy-portal.md#identify-non-compliant-resources). In the left pane, select **Compliance**, and then locate the **[Preview] Enable Azure Monitor for VMs** initiative for VMs that aren't compliant according to the assignment you created. - -![Policy compliance for Azure VMs](./media/vminsights-onboard/policy-view-compliance-01.png) - -Based on the results of the policies included with the initiative, VMs are reported as non-compliant in the following scenarios: - -* Log Analytics or the Dependency agent isn't deployed. - This scenario is typical for a scope with existing VMs. To mitigate it, deploy the required agents by [creating remediation tasks](../../governance/policy/how-to/remediate-resources.md) on a non-compliant policy. - - [Preview]: Deploy Dependency Agent for Linux VMs - - [Preview]: Deploy Dependency Agent for Windows VMs - - [Preview]: Deploy Log Analytics Agent for Linux VMs - - [Preview]: Deploy Log Analytics Agent for Windows VMs - -* VM Image (OS) isn't identified in the policy definition. - The criteria of the deployment policy include only VMs that are deployed from well-known Azure VM images. Check the documentation to see whether the VM OS is supported. If it isn't supported, duplicate the deployment policy and update or modify it to make the image compliant. - - [Preview]: Audit Dependency Agent Deployment – VM Image (OS) unlisted - - [Preview]: Audit Log Analytics Agent Deployment – VM Image (OS) unlisted - -* VMs aren't logging in to the specified Log Analytics workspace. - It's possible that some VMs in the initiative scope are logging in to a Log Analytics workspace other than the one that's specified in the policy assignment. This policy is a tool to identify which VMs are reporting to a non-compliant workspace. - - [Preview]: Audit Log Analytics Workspace for VM - Report Mismatch - -### Enable with PowerShell -To enable Azure Monitor for VMs for multiple VMs or virtual machine scale sets, you can use the PowerShell script [Install-VMInsights.ps1](https://www.powershellgallery.com/packages/Install-VMInsights/1.0), available from the Azure PowerShell Gallery. This script iterates through every virtual machine and virtual machine scale set in your subscription, in the scoped resource group that's specified by *ResourceGroup*, or to a single VM or virtual machine scale set that's specified by *Name*. For each VM or virtual machine scale set, the script verifies whether the VM extension is already installed. If the VM extension is not installed, the script tries to reinstall it. If the VM extension is installed, the script installs the Log Analytics and Dependency agent VM extensions. - -This script requires Azure PowerShell module Az version 1.0.0 or later. Run `Get-Module -ListAvailable Az` to find the version. If you need to upgrade, see [Install Azure PowerShell module](https://docs.microsoft.com/powershell/azure/install-az-ps). If you're running PowerShell locally, you also need to run `Connect-AzAccount` to create a connection with Azure. - -To get a list of the script's argument details and example usage, run `Get-Help`. - -```powershell -Get-Help .\Install-VMInsights.ps1 -Detailed - -SYNOPSIS - This script installs VM extensions for Log Analytics and the Dependency agent as needed for VM Insights. - - -SYNTAX - .\Install-VMInsights.ps1 [-WorkspaceId] [-WorkspaceKey] [-SubscriptionId] [[-ResourceGroup] - ] [[-Name] ] [[-PolicyAssignmentName] ] [-ReInstall] [-TriggerVmssManualVMUpdate] [-Approve] [-WorkspaceRegion] - [-WhatIf] [-Confirm] [] - - -DESCRIPTION - This script installs or re-configures following on VMs and VM Scale Sets: - - Log Analytics VM Extension configured to supplied Log Analytics Workspace - - Dependency Agent VM Extension - - Can be applied to: - - Subscription - - Resource Group in a Subscription - - Specific VM/VM Scale Set - - Compliance results of a policy for a VM or VM Extension - - Script will show you list of VMs/VM Scale Sets that will apply to and let you confirm to continue. - Use -Approve switch to run without prompting, if all required parameters are provided. - - If the extensions are already installed will not install again. - Use -ReInstall switch if you need to for example update the workspace. - - Use -WhatIf if you would like to see what would happen in terms of installs, what workspace configured to, and status of the extension. - - -PARAMETERS - -WorkspaceId - Log Analytics WorkspaceID (GUID) for the data to be sent to - - -WorkspaceKey - Log Analytics Workspace primary or secondary key - - -SubscriptionId - SubscriptionId for the VMs/VM Scale Sets - If using PolicyAssignmentName parameter, subscription that VMs are in - - -ResourceGroup - Resource Group to which the VMs or VM Scale Sets belong - - -Name - To install to a single VM/VM Scale Set - - -PolicyAssignmentName - Take the input VMs to operate on as the Compliance results from this Assignment - If specified will only take from this source. - - -ReInstall [] - If VM/VM Scale Set is already configured for a different workspace, set this to change to the new workspace - - -TriggerVmssManualVMUpdate [] - Set this flag to trigger update of VM instances in a scale set whose upgrade policy is set to Manual - - -Approve [] - Gives the approval for the installation to start with no confirmation prompt for the listed VMs/VM Scale Sets - - -WorkspaceRegion - Region the Log Analytics Workspace is in - Supported values: "East US","eastus","Southeast Asia","southeastasia","West Central US","westcentralus","West Europe","westeurope" - For Health supported is: "East US","eastus","West Central US","westcentralus" - - -WhatIf [] - See what would happen in terms of installs. - If extension is already installed will show what workspace is currently configured, and status of the VM extension - - -Confirm [] - Confirm every action - - - This cmdlet supports the common parameters: Verbose, Debug, - ErrorAction, ErrorVariable, WarningAction, WarningVariable, - OutBuffer, PipelineVariable, and OutVariable. For more information, see - about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216). - - -------------------------- EXAMPLE 1 -------------------------- - .\Install-VMInsights.ps1 -WorkspaceRegion eastus -WorkspaceId -WorkspaceKey -SubscriptionId - -ResourceGroup - - Install for all VMs in a Resource Group in a subscription - - -------------------------- EXAMPLE 2 -------------------------- - .\Install-VMInsights.ps1 -WorkspaceRegion eastus -WorkspaceId -WorkspaceKey -SubscriptionId - -ResourceGroup -ReInstall - - Specify to reinstall extensions even if already installed, for example to update to a different workspace - - -------------------------- EXAMPLE 3 -------------------------- - .\Install-VMInsights.ps1 -WorkspaceRegion eastus -WorkspaceId -WorkspaceKey -SubscriptionId - -PolicyAssignmentName a4f79f8ce891455198c08736 -ReInstall - - Specify to use a PolicyAssignmentName for source, and to reinstall (move to a new workspace) -``` - -The following example demonstrates using the PowerShell commands in the folder to enable Azure Monitor for VMs and understand the expected output: - -```powershell -$WorkspaceId = "" -$WorkspaceKey = "" -$SubscriptionId = "" -.\Install-VMInsights.ps1 -WorkspaceId $WorkspaceId -WorkspaceKey $WorkspaceKey -SubscriptionId $SubscriptionId -WorkspaceRegion eastus - -Getting list of VMs or VM ScaleSets matching criteria specified - -VMs or VM ScaleSets matching criteria: - -db-ws-1 VM running -db-ws2012 VM running - -This operation will install the Log Analytics and Dependency agent extensions on above 2 VMs or VM Scale Sets. -VMs in a non-running state will be skipped. -Extension will not be reinstalled if already installed. Use -ReInstall if desired, for example to update workspace - -Confirm -Continue? -[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y - -db-ws-1 : Deploying DependencyAgentWindows with name DAExtension -db-ws-1 : Successfully deployed DependencyAgentWindows -db-ws-1 : Deploying MicrosoftMonitoringAgent with name MMAExtension -db-ws-1 : Successfully deployed MicrosoftMonitoringAgent -db-ws2012 : Deploying DependencyAgentWindows with name DAExtension -db-ws2012 : Successfully deployed DependencyAgentWindows -db-ws2012 : Deploying MicrosoftMonitoringAgent with name MMAExtension -db-ws2012 : Successfully deployed MicrosoftMonitoringAgent - -Summary: - -Already Onboarded: (0) - -Succeeded: (4) -db-ws-1 : Successfully deployed DependencyAgentWindows -db-ws-1 : Successfully deployed MicrosoftMonitoringAgent -db-ws2012 : Successfully deployed DependencyAgentWindows -db-ws2012 : Successfully deployed MicrosoftMonitoringAgent - -Connected to different workspace: (0) - -Not running - start VM to configure: (0) - -Failed: (0) -``` - -## Enable for a hybrid environment -This section explains how to deploy virtual machines or physical computers that are hosted in your datacenter or other cloud environments for monitoring by Azure Monitor for VMs. - -The Azure Monitor for VMs Map Dependency agent doesn't transmit any data itself, and it doesn't require any changes to firewalls or ports. The Map data is always transmitted by the Log Analytics agent to the Azure Monitor service, either directly or through the [OMS Gateway](../../azure-monitor/platform/gateway.md) if your IT security policies don't allow computers on the network to connect to the internet. - -Review the requirements and deployment methods for the [Log Analytics Linux and Windows agent](../../log-analytics/log-analytics-agent-overview.md). - -[!INCLUDE [log-analytics-agent-note](../../../includes/log-analytics-agent-note.md)] - -The steps are summarized as follows: - -1. Install Log Analytics Agent for Windows or Linux. - -1. Download and install the Azure Monitor for VMs Map Dependency agent for [Windows](https://aka.ms/dependencyagentwindows) or [Linux](https://aka.ms/dependencyagentlinux). - -1. Enable the collection of performance counters. - -1. Deploy Azure Monitor for VMs. - -### Install the Dependency agent on Windows -You can install the Dependency agent manually on Windows computers by running `InstallDependencyAgent-Windows.exe`. If you run this executable file without any options, it starts a setup wizard that you can follow to install the agent interactively. - ->[!NOTE] ->*Administrator* privileges are required to install or uninstall the agent. - -The following table highlights the parameters that are supported by setup for the agent from the command line. - -| Parameter | Description | -|:--|:--| -| /? | Returns a list of the command-line options. | -| /S | Performs a silent installation with no user interaction. | - -For example, to run the installation program with the `/?` parameter, type **InstallDependencyAgent-Windows.exe /?**. - -Files for the Windows Dependency agent are installed in *C:\Program Files\Microsoft Dependency Agent* by default. If the Dependency agent fails to start after setup is complete, check the logs for detailed error information. The log directory is *%Programfiles%\Microsoft Dependency Agent\logs*. - -### Install the Dependency agent on Linux -The Dependency agent is installed on Linux servers from *InstallDependencyAgent-Linux64.bin*, a shell script with a self-extracting binary. You can run the file by using `sh` or add execute permissions to the file itself. - ->[!NOTE] -> Root access is required to install or configure the agent. -> - -| Parameter | Description | -|:--|:--| -| -help | Get a list of the command-line options. | -| -s | Perform a silent installation with no user prompts. | -| --check | Check permissions and the operating system, but don't install the agent. | - -For example, to run the installation program with the `-help` parameter, type **InstallDependencyAgent-Linux64.bin -help**. - -Install the Linux Dependency agent as root by running the following command, `sh InstallDependencyAgent-Linux64.bin`. - -If the Dependency agent fails to start, check the logs for detailed error information. On Linux agents, the log directory is */var/opt/microsoft/dependency-agent/log*. - -Files for the Dependency agent are placed in the following directories: - -| Files | Location | -|:--|:--| -| Core files | /opt/microsoft/dependency-agent | -| Log files | /var/opt/microsoft/dependency-agent/log | -| Config files | /etc/opt/microsoft/dependency-agent/config | -| Service executable files | /opt/microsoft/dependency-agent/bin/microsoft-dependency-agent
/opt/microsoft/dependency-agent/bin/microsoft-dependency-agent-manager | -| Binary storage files | /var/opt/microsoft/dependency-agent/storage | - -### Enable performance counters -If the Log Analytics workspace that's referenced by the solution isn't already configured to collect the performance counters required by the solution, you will need to enable them. You can do so in either of two ways: -* Manually, as described in [Windows and Linux performance data sources in Log Analytics](../../azure-monitor/platform/data-sources-performance-counters.md) -* By downloading and running a PowerShell script that's available from [Azure PowerShell Gallery](https://www.powershellgallery.com/packages/Enable-VMInsightsPerfCounters/1.1) - -### Deploy Azure Monitor for VMs -This method includes a JSON template that specifies the configuration for enabling the solution components in your Log Analytics workspace. - -If you're unfamiliar with deploying resources by using a template, see: -* [Deploy resources with Resource Manager templates and Azure PowerShell](../../azure-resource-manager/resource-group-template-deploy.md) -* [Deploy resources with Resource Manager templates and the Azure CLI](../../azure-resource-manager/resource-group-template-deploy-cli.md) - -If you choose to use the Azure CLI, you first need to install and use the CLI locally. You must be running the Azure CLI version 2.0.27 or later. To identify your version, run `az --version`. If you need to install or upgrade the Azure CLI, see [Install the Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli). - -#### Create and execute a template - -1. Copy and paste the following JSON syntax into your file: - - ```json - { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "WorkspaceName": { - "type": "string" - }, - "WorkspaceLocation": { - "type": "string" - } - }, - "resources": [ - { - "apiVersion": "2017-03-15-preview", - "type": "Microsoft.OperationalInsights/workspaces", - "name": "[parameters('WorkspaceName')]", - "location": "[parameters('WorkspaceLocation')]", - "resources": [ - { - "apiVersion": "2015-11-01-preview", - "location": "[parameters('WorkspaceLocation')]", - "name": "[concat('ServiceMap', '(', parameters('WorkspaceName'),')')]", - "type": "Microsoft.OperationsManagement/solutions", - "dependsOn": [ - "[concat('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" - ], - "properties": { - "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" - }, - - "plan": { - "name": "[concat('ServiceMap', '(', parameters('WorkspaceName'),')')]", - "publisher": "Microsoft", - "product": "[Concat('OMSGallery/', 'ServiceMap')]", - "promotionCode": "" - } - }, - { - "apiVersion": "2015-11-01-preview", - "location": "[parameters('WorkspaceLocation')]", - "name": "[concat('InfrastructureInsights', '(', parameters('WorkspaceName'),')')]", - "type": "Microsoft.OperationsManagement/solutions", - "dependsOn": [ - "[concat('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" - ], - "properties": { - "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('WorkspaceName'))]" - }, - "plan": { - "name": "[concat('InfrastructureInsights', '(', parameters('WorkspaceName'),')')]", - "publisher": "Microsoft", - "product": "[Concat('OMSGallery/', 'InfrastructureInsights')]", - "promotionCode": "" - } - } - ] - } - ] - } - ``` - -1. Save this file as *installsolutionsforvminsights.json* to a local folder. - -1. Capture the values for *WorkspaceName*, *ResourceGroupName*, and *WorkspaceLocation*. The value for *WorkspaceName* is the name of your Log Analytics workspace. The value for *WorkspaceLocation* is the region the workspace is defined in. - -1. You're ready to deploy this template by using the following PowerShell command: - - ```powershell - New-AzResourceGroupDeployment -Name DeploySolutions -TemplateFile InstallSolutionsForVMInsights.json -ResourceGroupName -WorkspaceName -WorkspaceLocation - ``` - - The configuration change can take a few minutes to complete. When it's complete, a message is displayed that's similar to the following and includes the result: - - ```powershell - provisioningState : Succeeded - ``` - After you've enabled monitoring, it might take about 10 minutes before you can view the health state and metrics for the hybrid computer. - -## Performance counters enabled -Azure Monitor for VMs configures a Log Analytics workspace to collect the performance counters that are used by the solution. The following table lists the objects and counters configured by the solution that are collected every 60 seconds. - -### Windows performance counters - -|Object name |Counter name | -|------------|-------------| -|LogicalDisk |% Free Space | -|LogicalDisk |Avg. Disk sec/Read | -|LogicalDisk |Avg. Disk sec/Transfer | -|LogicalDisk |Avg. Disk sec/Write | -|LogicalDisk |Disk Bytes/sec | -|LogicalDisk |Disk Read Bytes/sec | -|LogicalDisk |Disk Reads/sec | -|LogicalDisk |Disk Transfers/sec | -|LogicalDisk |Disk Write Bytes/sec | -|LogicalDisk |Disk Writes/sec | -|LogicalDisk |Free Megabytes | -|Memory |Available MBytes | -|Network Adapter |Bytes Received/sec | -|Network Adapter |Bytes Sent/sec | -|Processor |% Processor Time | - -### Linux performance counters - -|Object name |Counter name | -|------------|-------------| -|Logical Disk |% Used Space | -|Logical Disk |Disk Read Bytes/sec | -|Logical Disk |Disk Reads/sec | -|Logical Disk |Disk Transfers/sec | -|Logical Disk |Disk Write Bytes/sec | -|Logical Disk |Disk Writes/sec | -|Logical Disk |Free Megabytes | -|Logical Disk |Logical Disk Bytes/sec | -|Memory |Available MBytes Memory | -|Network |Total Bytes Received | -|Network |Total Bytes Transmitted | -|Processor |% Processor Time | - -## Diagnostic and usage data -Microsoft automatically collects usage and performance data through your use of the Azure Monitor service. Microsoft uses this data to provide and improve the quality, security, and integrity of the service. To provide accurate and efficient troubleshooting capabilities, data from the Map feature includes information about the configuration of your software, such as the operating system and version, IP address, DNS name, and workstation name. Microsoft doesn't collect names, addresses, or other contact information. - -For more information about data collection and usage, see the [Microsoft Online Services Privacy Statement](https://go.microsoft.com/fwlink/?LinkId=512132). - -[!INCLUDE [GDPR-related guidance](../../../includes/gdpr-dsr-and-stp-note.md)] -## Next steps - -Now that monitoring is enabled for your virtual machine, this information is available for analysis with Azure Monitor for VMs. To learn how to use the Health feature, see [View Azure Monitor for VMs Health](vminsights-health.md). To view discovered application dependencies, see [View Azure Monitor for VMs Map](vminsights-maps.md). diff --git a/articles/azure-monitor/insights/vminsights-optout.md b/articles/azure-monitor/insights/vminsights-optout.md index ff737ffb33b05..d26d05e8c4927 100644 --- a/articles/azure-monitor/insights/vminsights-optout.md +++ b/articles/azure-monitor/insights/vminsights-optout.md @@ -51,7 +51,7 @@ The following steps describe how to completely remove Azure Monitor for VMs if y 5. In the list of solutions, select **InfrastructureInsights(workspace name)**, and then on the **Overview** page for the solution, click **Delete**. When prompted to confirm, click **Yes**. 6. From the list of solutions, select **ServiceMap(workspace name)**, and then on the **Overview** page for the solution, click **Delete**. When prompted to confirm, click **Yes**. -If before onboarding Azure Monitor for VMs, you were not [collecting the performance counters enabled](vminsights-onboard.md?toc=/azure/azure-monitor/toc.json#performance-counters-enabled) for the Windows or Linux-based VMs in your workspace, you need to disable those rules by following the steps described [here](../../azure-monitor/platform/data-sources-performance-counters.md?toc=/azure/azure-monitor/toc.json#configuring-performance-counters) for Windows and for Linux. +If before onboarding Azure Monitor for VMs, you were not [collecting the performance counters enabled](vminsights-enable-overview.md#performance-counters-enabled) for the Windows or Linux-based VMs in your workspace, you need to disable those rules by following the steps described [here](../platform/data-sources-performance-counters.md#configuring-performance-counters) for Windows and for Linux. ## Disable monitoring for an Azure VM and retain workspace diff --git a/articles/azure-monitor/insights/vminsights-overview.md b/articles/azure-monitor/insights/vminsights-overview.md index 607a7fe785079..2e0a22026b845 100644 --- a/articles/azure-monitor/insights/vminsights-overview.md +++ b/articles/azure-monitor/insights/vminsights-overview.md @@ -59,4 +59,4 @@ When you deploy Azure Monitor for VMs, the data that's collected by your VMs is The log size varies by the string lengths of performance counters, and it can increase with the number of logical disks and network adapters allocated to the VM. If you already have a workspace and are collecting these counters, no duplicate charges are applied. If you're already using Service Map, the only change you’ll see is the additional connection data that's sent to Azure Monitor.​ ## Next steps -To understand the requirements and methods that help you monitor your virtual machines, review [Deploy Azure Monitor for VMs](vminsights-onboard.md). +To understand the requirements and methods that help you monitor your virtual machines, review [Deploy Azure Monitor for VMs](vminsights-enable-overview.md). diff --git a/articles/azure-monitor/insights/vminsights-performance.md b/articles/azure-monitor/insights/vminsights-performance.md index 856d3013346d9..19de901bc5917 100644 --- a/articles/azure-monitor/insights/vminsights-performance.md +++ b/articles/azure-monitor/insights/vminsights-performance.md @@ -11,7 +11,7 @@ ms.service: azure-monitor ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services -ms.date: 02/22/2019 +ms.date: 05/07/2019 ms.author: magoedte --- @@ -101,6 +101,21 @@ Clicking on the pin icon at the upper right-hand corner of any one of the charts ![VM insights Performance directly from VM view](./media/vminsights-performance/vminsights-performance-directvm-01.png) +## View performance directly from an Azure virtual machine scale set +To access directly from an Azure virtual machine scale set, perform the following steps. + +1. In the Azure portal, select **Virtual machine scale sets**. +2. From the list, choose a VM and in the **Monitoring** section choose **Insights (preview)** to view the **Performance** tab. + +This page loads the Azure Monitor performance view, scoped to the selected scale set. This enables you to see the Top N Instances in the scale set across the set of monitored metrics, view the aggregate performance across the scale set, and see the trends for selected metrics across the individual instances n the scale set. Selecting an instance from the list view lets you load it's map or navigate into a detailed performance view for that instance. + +Clicking on the pin icon at the upper right-hand corner of any one of the charts pins the selected chart to the last Azure dashboard you viewed. From the dashboard, you can resize and reposition the chart. Selecting the chart from the dashboard redirects you to Azure Monitor for VMs and loads the performance detail view for the VM. + +![VM insights Performance directly from virtual machine scale set view](./media/vminsights-performance/vminsights-performance-directvmss-01.png) + +>[!NOTE] +>You can also access a detailed performance view for a specific instance from the Instances view for your scale set. Navigate to **Instances** under the **Settings** section, and then choose **Insights (preview)**. + ## Alerts Performance metrics enabled as part of Azure Monitor for VMs do not include pre-configured alert rules. There are [health alerts](vminsights-health.md#alerts) corresponding to performance issues detected on your Azure VM, such as high CPU utilization, low memory available, low disk space, etc. However, these health alerts only apply to all VMs enabled for Azure Monitor for VMs. diff --git a/articles/azure-monitor/toc.yml b/articles/azure-monitor/toc.yml index 0cf74f2194049..78361521a88d0 100644 --- a/articles/azure-monitor/toc.yml +++ b/articles/azure-monitor/toc.yml @@ -632,8 +632,18 @@ href: insights/vminsights-known-issues.md - name: FAQ href: insights/vminsights-faq.md - - name: Onboard - href: insights/vminsights-onboard.md + - name: Enable monitoring + items: + - name: Enable monitoring overview + href: insights/vminsights-enable-overview.md + - name: Enable for single Azure VM + href: insights/vminsights-enable-single-vm.md + - name: Enable using Azure Policy + href: insights/vminsights-enable-at-scale-policy.md + - name: Enable using Azure PowerShell + href: insights/vminsights-enable-at-scale-powershell.md + - name: Enable for Hybrid environment + href: insights/vminsights-enable-hybrid-cloud.md - name: Monitor health href: insights/vminsights-health.md - name: Map dependencies diff --git a/articles/azure-netapp-files/TOC.yml b/articles/azure-netapp-files/TOC.yml index 5b8de04810b2e..ce7e659c8a3a4 100644 --- a/articles/azure-netapp-files/TOC.yml +++ b/articles/azure-netapp-files/TOC.yml @@ -23,6 +23,10 @@ href: azure-netapp-files-metrics.md - name: Performance benchmarks for Azure NetApp Files href: azure-netapp-files-performance-benchmarks.md + - name: Cost model for Azure NetApp Files + href: azure-netapp-files-cost-model.md + - name: Guidelines for Azure NetApp Files network planning + href: azure-netapp-files-network-topologies.md # - name: FAQ for networking and security # href: azure-netapp-files-faq-for-networking-security.md - name: How-to guides diff --git a/articles/azure-netapp-files/azure-netapp-files-cost-model.md b/articles/azure-netapp-files/azure-netapp-files-cost-model.md new file mode 100644 index 0000000000000..bb80b372a8824 --- /dev/null +++ b/articles/azure-netapp-files/azure-netapp-files-cost-model.md @@ -0,0 +1,89 @@ +--- +title: Cost model for Azure NetApp Files | Microsoft Docs +description: Describes the cost model for Azure NetApp Files for managing expenses from the service. +services: azure-netapp-files +documentationcenter: '' +author: b-juche +manager: '' +editor: '' + +ms.assetid: +ms.service: azure-netapp-files +ms.workload: storage +ms.tgt_pltfrm: na +ms.devlang: na +ms.topic: conceptual +ms.date: 05/01/2019 +ms.author: b-juche +--- +# Cost model for Azure NetApp Files + +Understanding the cost model for Azure NetApp Files helps you manage your expenses from the service. + +## Calculation of capacity consumption + +Azure NetApp Files is billed on provisioned storage capacity. Provisioned capacity is allocated by creating capacity pools. Capacity pools are billed based on $/provisioned-GiB/month in hourly increments. The minimum size for a single capacity pool is 4 TiB, and capacity pools can be subsequently expanded in 1-TiB increments. Volumes are created within capacity pools. Each volume is assigned a quota that decrements from the pools-provisioned capacity. The quota that can be assigned to volumes ranges from a minimum of 100 GiB to a maximum of 92 TiB. + +For an active volume, capacity consumption against quota is based on logical (effective) capacity. + +If the actual capacity consumption of a volume exceeds its storage quota, the volume can continue to grow. Writes will still be permitted as long as the actual volume size is less than the system limit (100 TiB). + +The total used capacity in a capacity pool against its provisioned amount is the sum of the greater of either the assigned quota or actual consumption of all volumes within the pool: + + ![Total used capacity calculation](../media/azure-netapp-files/azure-netapp-files-total-used-capacity.png) + +The diagram below illustrates these concepts. +* We have a capacity pool with 4 TiB of provisioned capacity. The pool contains three volumes. + * Volume 1 is assigned a quota of 2 TiB and has 800 GiB of consumption. + * Volume 2 is assigned a quota of 1 TiB and has 100 GiB of consumption. + * Volume 3 is assigned a quota of 500 GiB but has 800 GiB of consumption (overage). +* The capacity pool is metered for 4 TiB of capacity (the provisioned amount). + 3.8 TiB of capacity is consumed (2 TiB and 1 TiB of quota from Volumes 1 and 2, and 800 GiB of actual consumption for Volume 3). And 200 GiB of capacity is remaining. + + ![Capacity pool with three volumes](../media/azure-netapp-files/azure-netapp-files-capacity-pool-with-three-vols.png) + +## Overage in capacity consumption + +When the total used capacity of a pool exceeds its provisioned capacity, data writes are still permitted. After the grace period (one hour), if the used capacity of the pool still exceeds its provisioned capacity, then the pool size will be automatically increased in increments of 1 TiB until the provisioned capacity is greater than the total used capacity. For example, in the illustration above, if Volume 3 continues to grow and the actual consumption reaches 1.2 TiB, then after the grace period, the pool will automatically be resized to 5 TiB. The result is that the provisioned pool capacity (5 TiB) exceeds the used capacity (4.2 TiB). + +## Manual changes of the pool size + +You can manually increase or decrease the pool size. However, the following constraints apply: +* Service minimum and maximum limits + See the article about [resource limits](azure-netapp-files-resource-limits.md). +* A 1-TiB increment after the initial 4-TiB minimum purchase +* A one-hour minimum billing increment +* The provisioned pool size may not be decreased to less than the total used capacity in the pool. + +## Behavior of maximum-size pool overage + +The maximum size of a capacity pool that you can create or resize to is 500 TiB. When the total used capacity in a capacity pool exceeds 500 TiB, the following situations will occur: +* Data writes will still be permitted (if the volume is below the system maximum of 100 TiB). +* After the one-hour grace period, the pool will be automatically resized in 1-TiB increments, until the pool provisioned capacity exceeds total used capacity. +* The additional provisioned and billed pool capacity exceeding 500 TiB cannot be used to assign volume quota. It also cannot be used to expand performance QoS limits. + See [service levels](azure-netapp-files-service-levels.md) about performance limits and QoS sizing. + +The diagram below illustrates these concepts: +* We have a capacity pool with a Premium storage tier and a 500-TiB capacity. The pool contains nine volumes. + * Volumes 1 through 8 are assigned a quota of 60 TiB each. The total used capacity is 480 TiB. + Each volume has a QoS limit of 3.75 GiB/s of throughput (60 TiB * 64 MiB/s). + * Volume 9 is assigned a quota of 20 TiB. + Volume 9 has a QoS limit of 1.25 GiB/s of throughput (60 TiB * 64 MiB/s). +* Volume 9 is an overage scenario. It has 25 TiB of actual consumption. + * After the one-hour grace period, the capacity pool will be resized to 505 TiB. + That is, total used capacity = 8 * 60-TiB quota for Volumes 1 through 8, and 25 TiB of actual consumption for Volume 9. + * The billed capacity is 505 TiB. + * Volume quota for Volume 9 cannot be increased (because the total assigned quota for the pool may not exceed 500 TiB). + * Additional QoS throughput may not be assigned (because the total QoS for the pool is still based on 500 TiB). + + ![Capacity pool with nine volumes](../media/azure-netapp-files/azure-netapp-files-capacity-pool-with-nine-vols.png) + +## Capacity consumption of snapshots + +The capacity consumption of snapshots in Azure NetApp Files is charged against the quota of the parent volume. As a result, it shares the same billing rate as the capacity pool to which the volume belongs. However, unlike the active volume, snapshot consumption is measured based on the incremental capacity consumed. Azure NetApp Files snapshots are differential in nature. Depending on the change rate of the data, the snapshots often consume much less capacity than the logical capacity of the active volume. For example, assume that you have a snapshot of a 500-GiB volume that only contains 10 GiB of differential data. The capacity that is charged against the volume quota for that snapshot would be 10 GiB, not 500 GiB. + +## Next steps + +* [Azure NetApp Files pricing page](https://azure.microsoft.com/pricing/details/storage/netapp/) +* [Service levels for Azure NetApp Files](azure-netapp-files-service-levels.md) +* [Resource limits for Azure NetApp Files](azure-netapp-files-resource-limits.md) diff --git a/articles/azure-netapp-files/azure-netapp-files-create-netapp-account.md b/articles/azure-netapp-files/azure-netapp-files-create-netapp-account.md index 881c598f8e016..3995d47a6f84d 100644 --- a/articles/azure-netapp-files/azure-netapp-files-create-netapp-account.md +++ b/articles/azure-netapp-files/azure-netapp-files-create-netapp-account.md @@ -20,9 +20,9 @@ ms.author: b-juche Creating a NetApp account enables you to set up a capacity pool and subsequently create a volume. You use the Azure NetApp Files blade to create a new NetApp account. ## Before you begin -You must have registered your subscription for using the NetApp Resource Provider and the public preview feature. +You must have received an email from the Azure NetApp Files team confirming that you have been granted access to the service. See [Submit a waitlist request for accessing the service](azure-netapp-files-register.md#waitlist). -[Register for Azure NetApp Files](azure-netapp-files-register.md) +You must also have registered your subscription for using the NetApp Resource Provider. See [Register the NetApp Resource Provider](azure-netapp-files-register.md#resource-provider). ## Steps @@ -52,6 +52,11 @@ You must have registered your subscription for using the NetApp Resource Provide 5. Click **Create**. The NetApp account you created now appears in the Azure NetApp Files blade. +> [!NOTE] +> If you have not been granted access to the Azure NetApp Files service, you will receive the following error when you try to create the first NetApp account: +> +> `{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.","details":[{"code":"NotFound","message":"{\r\n \"error\": {\r\n \"code\": \"InvalidResourceType\",\r\n \"message\": \"The resource type could not be found in the namespace 'Microsoft.NetApp' for api version '2017-08-15'.\"\r\n }\r\n}"}]}` + ## Next steps [Set up a capacity pool](azure-netapp-files-set-up-capacity-pool.md) diff --git a/articles/azure-netapp-files/azure-netapp-files-introduction.md b/articles/azure-netapp-files/azure-netapp-files-introduction.md index 351ef5e4840f9..f5274a477f6d6 100644 --- a/articles/azure-netapp-files/azure-netapp-files-introduction.md +++ b/articles/azure-netapp-files/azure-netapp-files-introduction.md @@ -18,14 +18,17 @@ ms.author: b-juche --- # What is Azure NetApp Files -The Azure NetApp Files service is an enterprise-class, high-performance, metered file storage service. Azure NetApp Files supports any workload type and is highly available by default. You can select guaranteed service and performance levels and set up snapshots through the service. + +The Azure NetApp Files service is an enterprise-class, high-performance, metered file storage service. Azure NetApp Files supports any workload type and is highly available by default. You can select service and performance levels and set up snapshots through the service. + +## Learn how to use Azure NetApp Files The Azure NetApp Files documentation provides instructions on creating and managing volumes by using Azure NetApp Files. > [!IMPORTANT] -> All tasks described in this documentation require that you be part of the Public Preview program and whitelisted for accessing the Microsoft.NetApp Azure Resource Provider. To request joining the Public Preview program, see [Register for Azure NetApp Files](azure-netapp-files-register.md). +> All tasks described in this documentation require that you have been granted access to the Azure NetApp Files service. To request access to the service, see [Submit a waitlist request for accessing the service](azure-netapp-files-register.md#waitlist). -**Next steps** +## Next steps * [Understand the storage hierarchy of Azure NetApp Files](azure-netapp-files-understand-storage-hierarchy.md) * [Quickstart: Set up Azure NetApp Files and create an NFS volume](azure-netapp-files-quickstart-set-up-account-create-volumes.md) \ No newline at end of file diff --git a/articles/azure-netapp-files/azure-netapp-files-network-topologies.md b/articles/azure-netapp-files/azure-netapp-files-network-topologies.md new file mode 100644 index 0000000000000..504874796b309 --- /dev/null +++ b/articles/azure-netapp-files/azure-netapp-files-network-topologies.md @@ -0,0 +1,126 @@ +--- +title: Guidelines for Azure NetApp Files network planning | Microsoft Docs +description: Describes guidelines that can help you design an effective network architecture by using Azure NetApp Files. +services: azure-netapp-files +documentationcenter: '' +author: b-juche +manager: '' +editor: '' + +ms.assetid: +ms.service: azure-netapp-files +ms.workload: storage +ms.tgt_pltfrm: na +ms.devlang: na +ms.topic: conceptual +ms.date: 05/08/2019 +ms.author: b-juche +--- +# Guidelines for Azure NetApp Files network planning + +Network architecture planning is a key element of designing any application infrastructure. This article helps you design an effective network architecture for your workloads to benefit from the rich capabilities of Azure NetApp Files. + +Azure NetApp Files volumes are designed to be contained in a special purpose subnet called [delegated subnet](https://docs.microsoft.com/azure/virtual-network/virtual-network-manage-subnet) within your Azure Virtual Network. Therefore, you can access the volumes directly from your VNet, from peered VNets in the same region, or from on-premises over a Virtual Network Gateway (ExpressRoute or VPN Gateway) as necessary. The subnet is dedicated to Azure NetApp Files and there is no connectivity to other Azure services or the internet. + +## Considerations + +You should understand a few considerations when you plan for Azure NetApp Files network. + +### Constraints + +The features below are currently unsupported for Azure NetApp Files: + +* Network security groups (NSGs) on subnet +* User-defined routes (UDRs) with next hop as Azure NetApp files subnet +* Azure policies (for example, custom naming policies) on the Azure NetApp Files interface +* Load balancers for Azure NetApp Files traffic + +The following network restrictions apply to Azure NetApp Files: + +* The number of IPs from a VNet (includes peered VNets) connecting to a volume in a VNet cannot exceed 1000. +* In each Azure Virtual Network (VNet), only one subnet can be delegated to Azure NetApp Files. + + +### Supported network topologies + +The following table describes the network topologies supported by Azure NetApp Files. It also describes the workarounds for the unsupported topologies. + +| Topologies | Is supported | Workaround | +|-------------------------------------------------------------------------------------------------------------------------------|--------------------|-----------------------------------------------------------------------------| +| Connectivity to volume in a local VNet | Yes | | +| Connectivity to volume in a peered VNet (Same region) | Yes | | +| Connectivity to volume in a peered VNet (Cross region or global peering) | No | None | +| Connectivity to a volume over ExpressRoute gateway | Yes | | +| Connectivity from on-premises to a volume in a spoke VNet over ExpressRoute gateway and VNet peering with gateway transit | No | Create a delegated subnet in the hub VNet (Azure VNet with Gateway) | +| Connectivity from on-premises to a volume in a spoke VNet over VPN gateway | Yes | | +| Connectivity from on-premises to a volume in a spoke VNet over VPN gateway and VNet peering with gateway transit | Yes | | + + +## Virtual network for Azure NetApp Files volumes + +This section explains concepts that help you with virtual network planning. + +### Azure virtual networks + +Before provisioning an Azure NetApp Files volume, you need to create an Azure virtual network (VNet) or use one that already exists in your subscription. The VNet defines the network boundary of the volume. For more information on creating virtual networks, see the [Azure Virtual Network documentation](https://docs.microsoft.com/azure/virtual-network/virtual-networks-overview). + +### Subnets + +Subnets segment the virtual network into separate address spaces that are usable by the Azure resources in them. Azure NetApp Files volumes are contained in a special-purpose subnet called [delegated subnet](https://docs.microsoft.com/azure/virtual-network/virtual-network-manage-subnet). + +Subnet delegation gives explicit permissions to the Azure NetApp Files service to create service-specific resources in the subnet. It uses a unique identifier in deploying the service. In this case, a network interface is created to enable connectivity to Azure NetApp Files. + +If you use a new VNet, you can create a subnet and delegate the subnet to Azure NetApp Files by following instructions in [Delegate a subnet to Azure NetApp Files](azure-netapp-files-delegate-subnet.md). You can also delegate an existing empty subnet that is not already delegated to other services. + +If the VNet is peered with another VNet, you cannot expand the VNet address space. For that reason, the new delegated subnet needs to be created within the VNet address space. If you need to extend the address space, you must delete the VNet peering before expanding the address space. + +### UDRs and NSGs + +Network security groups (NSGs) with a next hop cannot be used as delegated subnets for Azure NetApp Files. Similarly, user-defined routes (UDRs) are also not supported. + +As a workaround, you can apply NSGs to other subnets that either permit or deny the traffic to and from the Azure NetApp Files delegated subnet. + +## Azure native environments + +The following diagram illustrates an Azure-native environment: + +![Azure-native networking environment](../media/azure-netapp-files/azure-netapp-files-network-azure-native-environment.png) + +### Local VNet + +A basic scenario is to create or connect to an Azure NetApp Files volume from a virtual machine (VM) in the same VNet. For VNet 2 in the diagram above, Volume 1 is created in a delegated subnet and can be mounted on VM 1 in the default subnet. + +### VNet peering + +If you have additional VNets in the same region that need access to each other’s resources, the VNets can be connected using [VNet peering](https://docs.microsoft.com/azure/virtual-network/virtual-network-peering-overview) to enable secure connectivity through the Azure infrastructure. + +Consider VNet 2 and VNet 3 in the diagram above. If VM 1 needs to connect to VM 2 and Volume 2, or if VM 2 needs to connect to VM 1 or Volume 1, then you need to enable VNet peering between VNet 2 and VNet 3. + +Additionally, consider a scenario where VNet 1 is peered with VNet 2, and VNet 2 is peered with VNet 3 in the same region. The resources from VNet 1 can connect to resources in VNet 2 but it cannot connect to resources in VNet 3, unless VNet 1 and VNet 3 are peered. + +In the diagram above, although VM 3 can connect to Volume 1, VM 4 cannot connect to Volume 2. The reason is that the spoke VNets are not peered, and _transit routing is not supported over VNet peering_. + +## Hybrid environments + +The following diagram illustrates a hybrid environment: + +![Hybrid networking environment](../media/azure-netapp-files/azure-netapp-files-networ-hybrid-environment.png) + +In the hybrid scenario, applications from on-premises data centers need access to the resources in Azure. This is the case whether you want to extend your data center to Azure, or you want to use Azure native services or for disaster recovery. See [VPN Gateway planning options](https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-about-vpngateways?toc=%2fazure%2fvirtual-network%2ftoc.json#planningtable) about how to connect multiple resources on-premises to resources in Azure through a site-to-site VPN or an ExpressRoute. + +In a hybrid hub-spoke topology, the hub VNet in Azure acts as a central point of connectivity to your on-premises network. The spokes are VNets peered with the hub, and they can be used to isolate workloads. + +Depending on the configuration. You can connect resources from on-premises to resources in the hub and the spokes. + +In the topology illustrated above, the on-premises network is connected to a hub VNet in Azure, and there are 2 spoke VNets peered with the hub VNet. In this scenario, the connectivity options supported for Azure NetApp Files volumes are as follows: + +* On-premises resources VM 1 and VM 2 can connect to Volume 1 in the hub over a site-to-site VPN or an ExpressRoute. +* On-premises resources VM 1 and VM 2 can connect to Volume 2 or Volume 3. +* VM 3 in the hub VNet can connect to volume 2 in spoke VNet 1 and Volume 3 in spoke VNet 2. +* VM 4 from spoke VNet 1 and VM 5 from spoke VNet 2 can connect to Volume 1 in the hub VNet. + +VM 4 in spoke VNet 1 cannot connect to Volume 3 in spoke VNet 2. Also, VM 5 in spoke VNet2 cannot connect to Volume 2 in spoke VNet 1. This is the case because the spoke VNets are not peered and _transit routing is not supported over VNet peering_. + +## Next steps + +[Delegate a subnet to Azure NetApp Files](azure-netapp-files-delegate-subnet.md) \ No newline at end of file diff --git a/articles/azure-netapp-files/azure-netapp-files-quickstart-set-up-account-create-volumes.md b/articles/azure-netapp-files/azure-netapp-files-quickstart-set-up-account-create-volumes.md index 9907ee801b375..4ed48e86cbd56 100644 --- a/articles/azure-netapp-files/azure-netapp-files-quickstart-set-up-account-create-volumes.md +++ b/articles/azure-netapp-files/azure-netapp-files-quickstart-set-up-account-create-volumes.md @@ -32,7 +32,8 @@ If you don't have an Azure subscription, create a [free account](https://azure.m ## Before you begin -You need to be part of the Public Preview program and whitelisted for accessing the Microsoft.NetApp Resource Provider. For details about joining the Public Preview program, see the [Azure NetApp Files Public Preview signup page](https://aka.ms/nfspublicpreview). +> [!IMPORTANT] +> You need to be granted access to the Azure NetApp Files service. To request access to the service, see the [Azure NetApp Files waitlist submission page](https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR8cq17Xv9yVBtRCSlcD_gdVUNUpUWEpLNERIM1NOVzA5MzczQ0dQR1ZTSS4u). You must wait for an official confirmation email from the Azure NetApp Files team before continuing. ## Register for Azure NetApp Files and NetApp Resource Provider diff --git a/articles/azure-netapp-files/azure-netapp-files-register.md b/articles/azure-netapp-files/azure-netapp-files-register.md index 4918f5053038b..a18e33dfb66c4 100644 --- a/articles/azure-netapp-files/azure-netapp-files-register.md +++ b/articles/azure-netapp-files/azure-netapp-files-register.md @@ -1,6 +1,6 @@ --- title: Register for Azure NetApp Files | Microsoft Docs -description: Describes how to submit a request to enroll in the Azure NetApp Files service. +description: Describes how to register to use Azure NetApp Files. services: azure-netapp-files documentationcenter: '' author: b-juche @@ -13,17 +13,32 @@ ms.workload: storage ms.tgt_pltfrm: na ms.devlang: na ms.topic: conceptual -ms.date: 01/04/2018 +ms.date: 05/06/2019 ms.author: b-juche --- # Register for Azure NetApp Files -Before using Azure NetApp Files, you must submit a request to enroll in the Azure NetApp Files service. After the enrollment, you then register to use the service. -## Request to enroll in the service -You need to be part of the Public Preview program and whitelisted for accessing the Microsoft.NetApp Resource Provider. For details about joining the Public Preview program, see the [Azure NetApp Files Public Preview signup page](https://aka.ms/nfspublicpreview). +> [!IMPORTANT] +> Before registering the Azure NetApp Files resource provider, you must have received an email from the Azure NetApp Files team confirming that you have been granted access to the service. +In this article, learn how to register for Azure NetApp Files so that you can begin to use the service. -## Register the NetApp Resource Provider +## Submit a waitlist request for accessing the service + +1. Submit a waitlist request for accessing the Azure NetApp Files service through the [Azure NetApp Files waitlist submission page](https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR8cq17Xv9yVBtRCSlcD_gdVUNUpUWEpLNERIM1NOVzA5MzczQ0dQR1ZTSS4u). + + Waitlist signup does not guarantee immediate service access. + +2. Wait for an official confirmation email from the Azure NetApp Files team before continuing with other tasks. + +## Register the NetApp Resource Provider + +To use the service, you must register the Azure Resource Provider for Azure NetApp Files. + +> [!NOTE] +> You will be able to successfully register the NetApp Resource Provider even without being granted access for service. However, without access authorization, any Azure portal or API request to create a NetApp account or any other Azure NetApp Files resource will be rejected with the following error: +> +> `{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.","details":[{"code":"NotFound","message":"{\r\n \"error\": {\r\n \"code\": \"InvalidResourceType\",\r\n \"message\": \"The resource type could not be found in the namespace 'Microsoft.NetApp' for api version '2017-08-15'.\"\r\n }\r\n}"}]}` To use the service, you must register the Azure Resource Provider for Azure NetApp Files. @@ -46,6 +61,8 @@ To use the service, you must register the Azure Resource Provider for Azure NetA `` is your subscription ID. + If you do not see the feature name `Microsoft.NetApp/publicPreviewADC`, you do not have access to the service. Stop at this step. Follow instructions in [Submit a waitlist request for accessing the service](#waitlist) to request service access before continuing. + 4. In the Azure Cloud Shell console, enter the following command to register the Azure Resource Provider: az provider register --namespace Microsoft.NetApp --wait @@ -73,6 +90,6 @@ To use the service, you must register the Azure Resource Provider for Azure NetA ![Registered Microsoft.NetApp](../media/azure-netapp-files/azure-netapp-files-registered-resource-providers.png) -## Next steps +## Next steps [Create a NetApp account](azure-netapp-files-create-netapp-account.md) \ No newline at end of file diff --git a/articles/azure-netapp-files/azure-netapp-files-resource-limits.md b/articles/azure-netapp-files/azure-netapp-files-resource-limits.md index 22e3536376eef..d0c94436f7791 100644 --- a/articles/azure-netapp-files/azure-netapp-files-resource-limits.md +++ b/articles/azure-netapp-files/azure-netapp-files-resource-limits.md @@ -13,22 +13,60 @@ ms.workload: storage ms.tgt_pltfrm: na ms.devlang: na ms.topic: conceptual -ms.date: 02/14/2019 +ms.date: 05/02/2019 ms.author: b-juche --- # Resource limits for Azure NetApp Files Understanding resource limits for Azure NetApp Files helps you manage your volumes. -- Each Azure subscription can have a maximum of 10 NetApp accounts. -- Each NetApp account can have a maximum of 25 capacity pools. -- Each capacity pool can belong to only one NetApp account. -- The minimum size for a single capacity pool is 4 TiB, and the maximum size is 500 TiB. -- Each capacity pool can have a maximum of 500 volumes. -- The minimum size for a single volume is 100 GiB, and the maximum size is 92 TiB. -- Each volume can have a maximum of 255 snapshots. -- Each Azure Virtual Network (Vnet) can have only one subnet delegated to Azure NetApp Files. +## Resource limits -**Next steps** +The following table describes resource limits for Azure NetApp Files: -[Understand the storage hierarchy of Azure NetApp Files](azure-netapp-files-understand-storage-hierarchy.md) +| Resource | Default limit | Adjustable via support request | +|----------------|---------------------|--------------------------------------| +| Number of NetApp accounts per Azure Subscription | 10 | Yes | +| Number of capacity pools per NetApp account | 25 | Yes | +| Number of volumes per capacity pool | 500 | Yes | +| Number of snapshots per volume | 255 | No | +| Number of subnets delegated to Azure NetApp Files (Microsoft.NetApp/volumes) per Azure Virtual Network | 1 | No | +| Minimum size of a single capacity pool | 4 TiB | No | +| Maximum size of a single capacity pool | 500 TiB | No | +| Minimum size of a single volume | 100 GiB | No | +| Maximum assigned quota of a single volume* | 92 TiB | No | +| Maximum size of a single volume* | 100 TiB | No | + +*A volume can be manually created or resized to maximally 92 TiB. However, a volume can grow up to 100 TiB in an overage scenario. See [Cost model for Azure NetApp Files](azure-netapp-files-cost-model.md) for details on capacity overage. + +## Request limit increase + +You can create an Azure support request to increase the adjustable limits from the table above. + +From Azure portal navigation plane: + +1. Click **Help + support**. +2. Click **+ New support request**. +3. On the Basics tab, provide the following information: + 1. Issue type: Select **Service and subscription limits (quotas)**. + 2. Subscriptions: Select the subscription for the resource that you need the quota increased. + 3. Quota type: Select **Storage: Azure NetApp Files limits**. + 4. Click **Next: Solutions**. +4. On the Details tab: + 1. In the Description box, provide the following information for the corresponding resource type: + + | Resource | Parent resources | Requested new limits | Reason for quota increase | + |----------------|------------------------------|---------------------------------|------------------------------------------| + | Account | *Subscription ID* | *Requested new maximum **account** number* | *What scenario or use case prompted the request?* | + | Pool | *Subscription ID, Account URI* | *Requested new maximum **pool** number* | *What scenario or use case prompted the request?* | + | Volume | *Subscription ID, Account URI, Pool URI* | *Requested new maximum **volume** number* | *What scenario or use case prompted the request?* | + + 2. Specify the appropriate support method and provide your contract information. + + 3. Click **Next: Review + create** to create the request. + + +## Next steps + +- [Understand the storage hierarchy of Azure NetApp Files](azure-netapp-files-understand-storage-hierarchy.md) +- [Cost model for Azure NetApp Files](azure-netapp-files-cost-model.md) diff --git a/articles/azure-netapp-files/azure-netapp-files-service-levels.md b/articles/azure-netapp-files/azure-netapp-files-service-levels.md index 217a0100c259b..3facc8615e833 100644 --- a/articles/azure-netapp-files/azure-netapp-files-service-levels.md +++ b/articles/azure-netapp-files/azure-netapp-files-service-levels.md @@ -13,21 +13,44 @@ ms.workload: storage ms.tgt_pltfrm: na ms.devlang: na ms.topic: conceptual -ms.date: 02/14/2019 +ms.date: 04/22/2019 ms.author: b-juche --- # Service levels for Azure NetApp Files -Azure NetApp Files supports two service levels: Premium and Standard. +Service levels are an attribute of a capacity pool. Service levels are defined and differentiated by the allowed maximum throughput for a volume in the capacity pool based on the quota that is assigned to the volume. -## Premium storage +## Supported service levels -The *Premium* storage provides up to 64 MiB/s per TiB of throughput. Throughput performance is indexed against volume quota. For example, a volume from the Premium storage with 2 TiB of provisioned quota (regardless of actual consumption) has a throughput of 128 MiB/s. +Azure NetApp Files supports three service levels: *Ultra*, *Premium*, and *Standard*. -## Standard storage +* Ultra storage -The *Standard* storage provides up to 16 MiB/s per TiB of throughput. Throughput performance is indexed against volume quota. For example, a volume from the Standard storage with 2 TiB of provisioned quota (regardless of actual consumption) has a throughput of 32 MiB/s. + The Ultra storage tier provides up to 128 MiB/s of throughput per 1 TiB of volume quota assigned. + +* Premium storage + + The Premium storage tier provides up to 64 MiB/s of throughput per 1 TiB of volume quota assigned. + +* Standard storage + + The Standard storage tier provides up to 16 MiB/s of throughput per 1 TiB of volume quota assigned. + +## Throughput limits + +The throughput limit for a volume is determined by the combination of the following factors: +* The service level of the capacity pool to which the volume belongs +* The quota assigned to the volume + +This concept is illustrated in the diagram below: + +![Service level illustration](../media/azure-netapp-files/azure-netapp-files-service-levels.png) + +In Example 1 above, a volume from a capacity pool with the Premium storage tier that is assigned 2 TiB of quota will be assigned a throughput limit of 128 MiB/s (2 TiB * 64 MiB/s). This scenario applies regardless of the capacity pool size or the actual volume consumption. + +In Example 2 above, a volume from a capacity pool with the Premium storage tier that is assigned 100 GiB of quota will be assigned a throughput limit of 6.25 MiB/s (0.09765625 TiB * 64 MiB/s). This scenario applies regardless of the capacity pool size or the actual volume consumption. ## Next steps - See the [Azure NetApp Files pricing page](https://azure.microsoft.com/pricing/details/storage/netapp/) for the price of different service levels -- [Set up a capacity pool](azure-netapp-files-set-up-capacity-pool.md) +- See [Cost model for Azure NetApp Files](azure-netapp-files-cost-model.md) for the calculation of the capacity consumption in a capacity pool +- [Set up a capacity pool](azure-netapp-files-set-up-capacity-pool.md) \ No newline at end of file diff --git a/articles/azure-netapp-files/azure-netapp-files-understand-storage-hierarchy.md b/articles/azure-netapp-files/azure-netapp-files-understand-storage-hierarchy.md index c0406eeef53e8..8f274f648577b 100644 --- a/articles/azure-netapp-files/azure-netapp-files-understand-storage-hierarchy.md +++ b/articles/azure-netapp-files/azure-netapp-files-understand-storage-hierarchy.md @@ -35,14 +35,16 @@ Before creating a volume in Azure NetApp Files, you must purchase and set up a p - Each capacity pool can belong to only one NetApp account. However, you can have multiple capacity pools within a NetApp account. - A capacity pool cannot be moved across NetApp accounts. For example, in the [Conceptual diagram of storage hierarchy](#conceptual_diagram_of_storage_hierarchy) below, Capacity Pool 1 cannot be moved from US East NetApp account to US West 2 NetApp account. +- A capacity pool cannot be deleted until all volumes within the capacity pool have been deleted. ## Volumes - A volume is measured by logical capacity consumption and is scalable. - A volume's capacity consumption counts against its pool's provisioned capacity. - Each volume belongs to only one pool, but a pool can contain multiple volumes. -- Within the same NetApp account, you can move a volume across pools. - For example, in the [Conceptual diagram of storage hierarchy](#conceptual_diagram_of_storage_hierarchy) below, you can move the volumes from Capacity Pool 1 to Capacity Pool 2. +- A volume cannot be moved across capacity pools. + For example, in the [Conceptual diagram of storage hierarchy](#conceptual_diagram_of_storage_hierarchy) below, you cannot move the volumes from Capacity Pool 1 to Capacity Pool 2. +- A volume cannot be deleted until all its snapshots have been deleted. ## Conceptual diagram of storage hierarchy The following example shows the relationships of the Azure subscription, NetApp accounts, capacity pools, and volumes. diff --git a/articles/azure-netapp-files/index.yml b/articles/azure-netapp-files/index.yml index d878d2b83ef76..a9d7b3753a52a 100644 --- a/articles/azure-netapp-files/index.yml +++ b/articles/azure-netapp-files/index.yml @@ -10,7 +10,7 @@ metadata: ms.topic: landing-page ms.date: 04/10/2019 abstract: - description: Learn how to use Azure NetApp Files to create and manage NetApp accounts, capacity pools, and volumes, configure export policy, mount a volume for a virtual machine, and manage snapshots.

Using Azure NetApp Files requires that you join the Public Preview program. You also need to be whitelisted for accessing the Microsoft.NetApp Azure Resource Provider. To request joining the Public Preview program, see Register for Azure NetApp Files.

+ description: Learn how to use Azure NetApp Files to create and manage NetApp accounts, capacity pools, and volumes, configure export policy, mount a volume for a virtual machine, and manage snapshots.

To use Azure NetApp Files, you must have access to the Azure NetApp Files service. To request access, see Submit a waitlist request.

sections: - title: 5-minute quickstarts items: diff --git a/articles/azure-resource-manager/tag-support.md b/articles/azure-resource-manager/tag-support.md index 46eecfe2c57e0..4ff1b92242d2c 100644 --- a/articles/azure-resource-manager/tag-support.md +++ b/articles/azure-resource-manager/tag-support.md @@ -4,1275 +4,1275 @@ description: Shows which Azure resource types support tags. Provides details for author: tfitzmac ms.service: azure-resource-manager ms.topic: reference -ms.date: 04/26/2019 +ms.date: 05/10/2019 ms.author: tomfitz --- # Tag support for Azure resources -This article describes whether a resource type supports [tags](resource-group-using-tags.md). +This article describes whether a resource type supports [tags](resource-group-using-tags.md). The column labeled **Supports tags** indicates whether the resource type has a property for the tag. The column labeled **Tag in cost report** indicates whether that resource type passes the tag to the cost report. To get the same data as a file of comma-separated values, download [tag-support.csv](https://github.com/tfitzmac/resource-capabilities/blob/master/tag-support.csv). ## Microsoft.AAD -| Resource type | Supports tags | -| ------------- | ----------- | -| DomainServices | Yes | -| DomainServices/oucontainer | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| DomainServices | Yes | Yes | +| DomainServices/oucontainer | No | No | ## microsoft.aadiam -| Resource type | Supports tags | -| ------------- | ----------- | -| diagnosticSettings | No | -| diagnosticSettingsCategories | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| diagnosticSettings | No | No | +| diagnosticSettingsCategories | No | No | ## Microsoft.Addons -| Resource type | Supports tags | -| ------------- | ----------- | -| supportProviders | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| supportProviders | No | No | ## Microsoft.ADHybridHealthService -| Resource type | Supports tags | -| ------------- | ----------- | -| aadsupportcases | No | -| addsservices | No | -| agents | No | -| anonymousapiusers | No | -| configuration | No | -| logs | No | -| reports | No | -| services | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| aadsupportcases | No | No | +| addsservices | No | No | +| agents | No | No | +| anonymousapiusers | No | No | +| configuration | No | No | +| logs | No | No | +| reports | No | No | +| services | No | No | ## Microsoft.Advisor -| Resource type | Supports tags | -| ------------- | ----------- | -| configurations | No | -| generateRecommendations | No | -| recommendations | No | -| suppressions | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| configurations | No | No | +| generateRecommendations | No | No | +| recommendations | No | No | +| suppressions | No | No | ## Microsoft.AlertsManagement -| Resource type | Supports tags | -| ------------- | ----------- | -| actionRules | No | -| alerts | No | -| alertsList | No | -| alertsSummary | No | -| alertsSummaryList | No | -| smartDetectorAlertRules | No | -| smartDetectorRuntimeEnvironments | No | -| smartGroups | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| actionRules | No | No | +| alerts | No | No | +| alertsList | No | No | +| alertsSummary | No | No | +| alertsSummaryList | No | No | +| smartDetectorAlertRules | No | No | +| smartDetectorRuntimeEnvironments | No | No | +| smartGroups | No | No | ## Microsoft.AnalysisServices -| Resource type | Supports tags | -| ------------- | ----------- | -| servers | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| servers | Yes | Yes | ## Microsoft.ApiManagement -| Resource type | Supports tags | -| ------------- | ----------- | -| reportFeedback | No | -| service | Yes | -| validateServiceName | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| reportFeedback | No | No | +| service | Yes | Yes | +| validateServiceName | No | No | ## Microsoft.Attestation -| Resource type | Supports tags | -| ------------- | ----------- | -| attestationProviders | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| attestationProviders | No | No | ## Microsoft.Authorization -| Resource type | Supports tags | -| ------------- | ----------- | -| classicAdministrators | No | -| denyAssignments | No | -| elevateAccess | No | -| locks | No | -| permissions | No | -| policyAssignments | No | -| policyDefinitions | No | -| policySetDefinitions | No | -| providerOperations | No | -| roleAssignments | No | -| roleDefinitions | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| classicAdministrators | No | No | +| denyAssignments | No | No | +| elevateAccess | No | No | +| locks | No | No | +| permissions | No | No | +| policyAssignments | No | No | +| policyDefinitions | No | No | +| policySetDefinitions | No | No | +| providerOperations | No | No | +| roleAssignments | No | No | +| roleDefinitions | No | No | ## Microsoft.Automation -| Resource type | Supports tags | -| ------------- | ----------- | -| automationAccounts | Yes | -| automationAccounts/configurations | Yes | -| automationAccounts/jobs | No | -| automationAccounts/runbooks | Yes | -| automationAccounts/softwareUpdateConfigurations | No | -| automationAccounts/webhooks | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| automationAccounts | Yes | Yes | +| automationAccounts/configurations | Yes | Yes | +| automationAccounts/jobs | No | No | +| automationAccounts/runbooks | Yes | Yes | +| automationAccounts/softwareUpdateConfigurations | No | No | +| automationAccounts/webhooks | No | No | ## Microsoft.Azure.Geneva -| Resource type | Supports tags | -| ------------- | ----------- | -| environments | No | -| environments/accounts | No | -| environments/accounts/namespaces | No | -| environments/accounts/namespaces/configurations | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| environments | No | No | +| environments/accounts | No | No | +| environments/accounts/namespaces | No | No | +| environments/accounts/namespaces/configurations | No | No | ## Microsoft.AzureActiveDirectory -| Resource type | Supports tags | -| ------------- | ----------- | -| b2cDirectories | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| b2cDirectories | Yes | No | ## Microsoft.AzureStack -| Resource type | Supports tags | -| ------------- | ----------- | -| registrations | Yes | -| registrations/customerSubscriptions | No | -| registrations/products | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| registrations | Yes | Yes | +| registrations/customerSubscriptions | No | No | +| registrations/products | No | No | ## Microsoft.Batch -| Resource type | Supports tags | -| ------------- | ----------- | -| batchAccounts | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| batchAccounts | Yes | Yes | ## Microsoft.Billing -| Resource type | Supports tags | -| ------------- | ----------- | -| billingAccounts | No | -| billingAccounts/billingProfiles | No | -| billingAccounts/billingProfiles/billingSubscriptions | No | -| billingAccounts/billingProfiles/invoices | No | -| billingAccounts/billingProfiles/invoices/pricesheet | No | -| billingAccounts/billingProfiles/operationStatus | No | -| billingAccounts/billingProfiles/paymentMethods | No | -| billingAccounts/billingProfiles/policies | No | -| billingAccounts/billingProfiles/pricesheet | No | -| billingAccounts/billingProfiles/products | No | -| billingAccounts/billingProfiles/transactions | No | -| billingAccounts/billingSubscriptions | No | -| billingAccounts/departments | No | -| billingAccounts/eligibleOffers | No | -| billingAccounts/enrollmentAccounts | No | -| billingAccounts/invoices | No | -| billingAccounts/invoiceSections | No | -| billingAccounts/invoiceSections/billingSubscriptions | No | -| billingAccounts/invoiceSections/billingSubscriptions/transfer | No | -| billingAccounts/invoiceSections/importRequests | No | -| billingAccounts/invoiceSections/initiateImportRequest | No | -| billingAccounts/invoiceSections/initiateTransfer | No | -| billingAccounts/invoiceSections/operationStatus | No | -| billingAccounts/invoiceSections/products | No | -| billingAccounts/invoiceSections/transfers | No | -| billingAccounts/products | No | -| billingAccounts/projects | No | -| billingAccounts/projects/billingSubscriptions | No | -| billingAccounts/projects/importRequests | No | -| billingAccounts/projects/initiateImportRequest | No | -| billingAccounts/projects/operationStatus | No | -| billingAccounts/projects/products | No | -| billingAccounts/transactions | No | -| billingPeriods | No | -| BillingPermissions | No | -| billingProperty | No | -| BillingRoleAssignments | No | -| BillingRoleDefinitions | No | -| CreateBillingRoleAssignment | No | -| departments | No | -| enrollmentAccounts | No | -| importRequests | No | -| importRequests/acceptImportRequest | No | -| importRequests/declineImportRequest | No | -| invoices | No | -| transfers | No | -| transfers/acceptTransfer | No | -| transfers/declineTransfer | No | -| transfers/operationStatus | No | -| usagePlans | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| billingAccounts | No | No | +| billingAccounts/billingProfiles | No | No | +| billingAccounts/billingProfiles/billingSubscriptions | No | No | +| billingAccounts/billingProfiles/invoices | No | No | +| billingAccounts/billingProfiles/invoices/pricesheet | No | No | +| billingAccounts/billingProfiles/operationStatus | No | No | +| billingAccounts/billingProfiles/paymentMethods | No | No | +| billingAccounts/billingProfiles/policies | No | No | +| billingAccounts/billingProfiles/pricesheet | No | No | +| billingAccounts/billingProfiles/products | No | No | +| billingAccounts/billingProfiles/transactions | No | No | +| billingAccounts/billingSubscriptions | No | No | +| billingAccounts/departments | No | No | +| billingAccounts/eligibleOffers | No | No | +| billingAccounts/enrollmentAccounts | No | No | +| billingAccounts/invoices | No | No | +| billingAccounts/invoiceSections | No | No | +| billingAccounts/invoiceSections/billingSubscriptions | No | No | +| billingAccounts/invoiceSections/billingSubscriptions/transfer | No | No | +| billingAccounts/invoiceSections/importRequests | No | No | +| billingAccounts/invoiceSections/initiateImportRequest | No | No | +| billingAccounts/invoiceSections/initiateTransfer | No | No | +| billingAccounts/invoiceSections/operationStatus | No | No | +| billingAccounts/invoiceSections/products | No | No | +| billingAccounts/invoiceSections/transfers | No | No | +| billingAccounts/products | No | No | +| billingAccounts/projects | No | No | +| billingAccounts/projects/billingSubscriptions | No | No | +| billingAccounts/projects/importRequests | No | No | +| billingAccounts/projects/initiateImportRequest | No | No | +| billingAccounts/projects/operationStatus | No | No | +| billingAccounts/projects/products | No | No | +| billingAccounts/transactions | No | No | +| billingPeriods | No | No | +| BillingPermissions | No | No | +| billingProperty | No | No | +| BillingRoleAssignments | No | No | +| BillingRoleDefinitions | No | No | +| CreateBillingRoleAssignment | No | No | +| departments | No | No | +| enrollmentAccounts | No | No | +| importRequests | No | No | +| importRequests/acceptImportRequest | No | No | +| importRequests/declineImportRequest | No | No | +| invoices | No | No | +| transfers | No | No | +| transfers/acceptTransfer | No | No | +| transfers/declineTransfer | No | No | +| transfers/operationStatus | No | No | +| usagePlans | No | No | ## Microsoft.BingMaps -| Resource type | Supports tags | -| ------------- | ----------- | -| mapApis | Yes | -| updateCommunicationPreference | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| mapApis | Yes | Yes | +| updateCommunicationPreference | No | No | ## Microsoft.BizTalkServices -| Resource type | Supports tags | -| ------------- | ----------- | -| BizTalk | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| BizTalk | Yes | Yes | ## Microsoft.Blueprint -| Resource type | Supports tags | -| ------------- | ----------- | -| blueprintAssignments | No | -| blueprintAssignments/assignmentOperations | No | -| blueprintAssignments/operations | No | -| blueprints | No | -| blueprints/artifacts | No | -| blueprints/versions | No | -| blueprints/versions/artifacts | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| blueprintAssignments | No | No | +| blueprintAssignments/assignmentOperations | No | No | +| blueprintAssignments/operations | No | No | +| blueprints | No | No | +| blueprints/artifacts | No | No | +| blueprints/versions | No | No | +| blueprints/versions/artifacts | No | No | ## Microsoft.BotService -| Resource type | Supports tags | -| ------------- | ----------- | -| botServices | Yes | -| botServices/channels | No | -| botServices/connections | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| botServices | Yes | Yes | +| botServices/channels | No | No | +| botServices/connections | No | No | ## Microsoft.Cache -| Resource type | Supports tags | -| ------------- | ----------- | -| Redis | Yes | -| RedisConfigDefinition | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| Redis | Yes | Yes | +| RedisConfigDefinition | No | No | ## Microsoft.Capacity -| Resource type | Supports tags | -| ------------- | ----------- | -| appliedReservations | No | -| calculatePrice | No | -| catalogs | No | -| commercialReservationOrders | No | -| reservationOrders | No | -| reservationOrders/calculateRefund | No | -| reservationOrders/merge | No | -| reservationOrders/reservations | No | -| reservationOrders/reservations/revisions | No | -| reservationOrders/return | No | -| reservationOrders/split | No | -| reservationOrders/swap | No | -| reservations | No | -| resources | No | -| validateReservationOrder | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| appliedReservations | No | No | +| calculatePrice | No | No | +| catalogs | No | No | +| commercialReservationOrders | No | No | +| reservationOrders | No | No | +| reservationOrders/calculateRefund | No | No | +| reservationOrders/merge | No | No | +| reservationOrders/reservations | No | No | +| reservationOrders/reservations/revisions | No | No | +| reservationOrders/return | No | No | +| reservationOrders/split | No | No | +| reservationOrders/swap | No | No | +| reservations | No | No | +| resources | No | No | +| validateReservationOrder | No | No | ## Microsoft.Cdn -| Resource type | Supports tags | -| ------------- | ----------- | -| edgenodes | No | -| profiles | Yes | -| profiles/endpoints | Yes | -| profiles/endpoints/customdomains | No | -| profiles/endpoints/origins | No | -| validateProbe | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| edgenodes | No | No | +| profiles | Yes | Yes | +| profiles/endpoints | Yes | Yes | +| profiles/endpoints/customdomains | No | No | +| profiles/endpoints/origins | No | No | +| validateProbe | No | No | ## Microsoft.CertificateRegistration -| Resource type | Supports tags | -| ------------- | ----------- | -| certificateOrders | Yes | -| certificateOrders/certificates | No | -| validateCertificateRegistrationInformation | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| certificateOrders | Yes | Yes | +| certificateOrders/certificates | No | No | +| validateCertificateRegistrationInformation | No | No | ## Microsoft.ClassicCompute -| Resource type | Supports tags | -| ------------- | ----------- | -| capabilities | No | -| domainNames | No | -| domainNames/capabilities | No | -| domainNames/internalLoadBalancers | No | -| domainNames/serviceCertificates | No | -| domainNames/slots | No | -| domainNames/slots/roles | No | -| moveSubscriptionResources | No | -| operatingSystemFamilies | No | -| operatingSystems | No | -| quotas | No | -| resourceTypes | No | -| validateSubscriptionMoveAvailability | No | -| virtualMachines | No | -| virtualMachines/diagnosticSettings | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| capabilities | No | No | +| domainNames | No | No | +| domainNames/capabilities | No | No | +| domainNames/internalLoadBalancers | No | No | +| domainNames/serviceCertificates | No | No | +| domainNames/slots | No | No | +| domainNames/slots/roles | No | No | +| moveSubscriptionResources | No | No | +| operatingSystemFamilies | No | No | +| operatingSystems | No | No | +| quotas | No | No | +| resourceTypes | No | No | +| validateSubscriptionMoveAvailability | No | No | +| virtualMachines | No | No | +| virtualMachines/diagnosticSettings | No | No | ## Microsoft.ClassicInfrastructureMigrate -| Resource type | Supports tags | -| ------------- | ----------- | -| classicInfrastructureResources | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| classicInfrastructureResources | No | No | ## Microsoft.ClassicNetwork -| Resource type | Supports tags | -| ------------- | ----------- | -| capabilities | No | -| expressRouteCrossConnections | No | -| expressRouteCrossConnections/peerings | No | -| gatewaySupportedDevices | No | -| networkSecurityGroups | No | -| quotas | No | -| reservedIps | No | -| virtualNetworks | No | -| virtualNetworks/remoteVirtualNetworkPeeringProxies | No | -| virtualNetworks/virtualNetworkPeerings | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| capabilities | No | No | +| expressRouteCrossConnections | No | No | +| expressRouteCrossConnections/peerings | No | No | +| gatewaySupportedDevices | No | No | +| networkSecurityGroups | No | No | +| quotas | No | No | +| reservedIps | No | No | +| virtualNetworks | No | No | +| virtualNetworks/remoteVirtualNetworkPeeringProxies | No | No | +| virtualNetworks/virtualNetworkPeerings | No | No | ## Microsoft.ClassicStorage -| Resource type | Supports tags | -| ------------- | ----------- | -| capabilities | No | -| disks | No | -| images | No | -| osImages | No | -| osPlatformImages | No | -| publicImages | No | -| quotas | No | -| storageAccounts | No | -| storageAccounts/services | No | -| storageAccounts/services/diagnosticSettings | No | -| storageAccounts/vmImages | No | -| vmImages | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| capabilities | No | No | +| disks | No | No | +| images | No | No | +| osImages | No | No | +| osPlatformImages | No | No | +| publicImages | No | No | +| quotas | No | No | +| storageAccounts | No | No | +| storageAccounts/services | No | No | +| storageAccounts/services/diagnosticSettings | No | No | +| storageAccounts/vmImages | No | No | +| vmImages | No | No | ## Microsoft.CognitiveServices -| Resource type | Supports tags | -| ------------- | ----------- | -| accounts | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| accounts | Yes | Yes | ## Microsoft.Commerce -| Resource type | Supports tags | -| ------------- | ----------- | -| RateCard | No | -| UsageAggregates | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| RateCard | No | No | +| UsageAggregates | No | No | ## Microsoft.Compute -| Resource type | Supports tags | -| ------------- | ----------- | -| availabilitySets | Yes | -| disks | Yes | -| images | Yes | -| restorePointCollections | Yes | -| restorePointCollections/restorePoints | No | -| sharedVMImages | Yes | -| sharedVMImages/versions | Yes | -| snapshots | Yes | -| virtualMachines | Yes | -| virtualMachines/diagnosticSettings | No | -| virtualMachines/extensions | Yes | -| virtualMachineScaleSets | Yes | -| virtualMachineScaleSets/extensions | No | -| virtualMachineScaleSets/networkInterfaces | No | -| virtualMachineScaleSets/publicIPAddresses | No | -| virtualMachineScaleSets/virtualMachines | No | -| virtualMachineScaleSets/virtualMachines/networkInterfaces | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| availabilitySets | Yes | Yes | +| disks | Yes | Yes | +| images | Yes | Yes | +| restorePointCollections | Yes | Yes | +| restorePointCollections/restorePoints | No | No | +| sharedVMImages | Yes | Yes | +| sharedVMImages/versions | Yes | Yes | +| snapshots | Yes | Yes | +| virtualMachines | Yes | Yes | +| virtualMachines/diagnosticSettings | No | No | +| virtualMachines/extensions | Yes | Yes | +| virtualMachineScaleSets | Yes | Yes | +| virtualMachineScaleSets/extensions | No | No | +| virtualMachineScaleSets/networkInterfaces | No | No | +| virtualMachineScaleSets/publicIPAddresses | No | No | +| virtualMachineScaleSets/virtualMachines | No | No | +| virtualMachineScaleSets/virtualMachines/networkInterfaces | No | No | ## Microsoft.Consumption -| Resource type | Supports tags | -| ------------- | ----------- | -| AggregatedCost | No | -| Balances | No | -| Budgets | No | -| Charges | No | -| CostTags | No | -| credits | No | -| events | No | -| Forecasts | No | -| lots | No | -| Marketplaces | No | -| Pricesheets | No | -| products | No | -| ReservationDetails | No | -| ReservationRecommendations | No | -| ReservationSummaries | No | -| ReservationTransactions | No | -| Tags | No | -| Terms | No | -| UsageDetails | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| AggregatedCost | No | No | +| Balances | No | No | +| Budgets | No | No | +| Charges | No | No | +| CostTags | No | No | +| credits | No | No | +| events | No | No | +| Forecasts | No | No | +| lots | No | No | +| Marketplaces | No | No | +| Pricesheets | No | No | +| products | No | No | +| ReservationDetails | No | No | +| ReservationRecommendations | No | No | +| ReservationSummaries | No | No | +| ReservationTransactions | No | No | +| Tags | No | No | +| Terms | No | No | +| UsageDetails | No | No | ## Microsoft.ContainerInstance -| Resource type | Supports tags | -| ------------- | ----------- | -| containerGroups | Yes | -| serviceAssociationLinks | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| containerGroups | Yes | Yes | +| serviceAssociationLinks | No | No | ## Microsoft.ContainerRegistry -| Resource type | Supports tags | -| ------------- | ----------- | -| registries | Yes | -| registries/builds | No | -| registries/builds/cancel | No | -| registries/builds/getLogLink | No | -| registries/buildTasks | Yes | -| registries/buildTasks/steps | No | -| registries/eventGridFilters | No | -| registries/getBuildSourceUploadUrl | No | -| registries/GetCredentials | No | -| registries/importImage | No | -| registries/queueBuild | No | -| registries/regenerateCredential | No | -| registries/regenerateCredentials | No | -| registries/replications | Yes | -| registries/runs | No | -| registries/runs/cancel | No | -| registries/scheduleRun | No | -| registries/tasks | Yes | -| registries/updatePolicies | No | -| registries/webhooks | Yes | -| registries/webhooks/getCallbackConfig | No | -| registries/webhooks/ping | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| registries | Yes | Yes | +| registries/builds | No | No | +| registries/builds/cancel | No | No | +| registries/builds/getLogLink | No | No | +| registries/buildTasks | Yes | Yes | +| registries/buildTasks/steps | No | No | +| registries/eventGridFilters | No | No | +| registries/getBuildSourceUploadUrl | No | No | +| registries/GetCredentials | No | No | +| registries/importImage | No | No | +| registries/queueBuild | No | No | +| registries/regenerateCredential | No | No | +| registries/regenerateCredentials | No | No | +| registries/replications | Yes | Yes | +| registries/runs | No | No | +| registries/runs/cancel | No | No | +| registries/scheduleRun | No | No | +| registries/tasks | Yes | Yes | +| registries/updatePolicies | No | No | +| registries/webhooks | Yes | Yes | +| registries/webhooks/getCallbackConfig | No | No | +| registries/webhooks/ping | No | No | ## Microsoft.ContainerService -| Resource type | Supports tags | -| ------------- | ----------- | -| containerServices | Yes | -| managedClusters | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| containerServices | Yes | Yes | +| managedClusters | Yes | Yes | ## Microsoft.ContentModerator -| Resource type | Supports tags | -| ------------- | ----------- | -| applications | Yes | -| updateCommunicationPreference | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| applications | Yes | Yes | +| updateCommunicationPreference | No | No | ## Microsoft.CortanaAnalytics -| Resource type | Supports tags | -| ------------- | ----------- | -| accounts | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| accounts | Yes | Yes | ## Microsoft.CostManagement -| Resource type | Supports tags | -| ------------- | ----------- | -| Alerts | No | -| BillingAccounts | No | -| Connectors | Yes | -| Departments | No | -| Dimensions | No | -| EnrollmentAccounts | No | -| Query | No | -| register | No | -| Reportconfigs | No | -| Reports | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| Alerts | No | No | +| BillingAccounts | No | No | +| Connectors | Yes | Yes | +| Departments | No | No | +| Dimensions | No | No | +| EnrollmentAccounts | No | No | +| Query | No | No | +| register | No | No | +| Reportconfigs | No | No | +| Reports | No | No | ## Microsoft.CustomerInsights -| Resource type | Supports tags | -| ------------- | ----------- | -| hubs | Yes | -| hubs/authorizationPolicies | No | -| hubs/connectors | No | -| hubs/connectors/mappings | No | -| hubs/interactions | No | -| hubs/kpi | No | -| hubs/links | No | -| hubs/profiles | No | -| hubs/roleAssignments | No | -| hubs/roles | No | -| hubs/suggestTypeSchema | No | -| hubs/views | No | -| hubs/widgetTypes | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| hubs | Yes | Yes | +| hubs/authorizationPolicies | No | No | +| hubs/connectors | No | No | +| hubs/connectors/mappings | No | No | +| hubs/interactions | No | No | +| hubs/kpi | No | No | +| hubs/links | No | No | +| hubs/profiles | No | No | +| hubs/roleAssignments | No | No | +| hubs/roles | No | No | +| hubs/suggestTypeSchema | No | No | +| hubs/views | No | No | +| hubs/widgetTypes | No | No | ## Microsoft.DataBox -| Resource type | Supports tags | -| ------------- | ----------- | -| jobs | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| jobs | Yes | Yes | ## Microsoft.DataBoxEdge -| Resource type | Supports tags | -| ------------- | ----------- | -| DataBoxEdgeDevices | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| DataBoxEdgeDevices | Yes | Yes | ## Microsoft.Databricks -| Resource type | Supports tags | -| ------------- | ----------- | -| workspaces | Yes | -| workspaces/virtualNetworkPeerings | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| workspaces | Yes | No | +| workspaces/virtualNetworkPeerings | No | No | ## Microsoft.DataCatalog -| Resource type | Supports tags | -| ------------- | ----------- | -| catalogs | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| catalogs | Yes | Yes | ## Microsoft.DataConnect -| Resource type | Supports tags | -| ------------- | ----------- | -| connectionManagers | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| connectionManagers | Yes | Yes | ## Microsoft.DataFactory -| Resource type | Supports tags | -| ------------- | ----------- | -| dataFactories | Yes | -| dataFactories/diagnosticSettings | No | -| dataFactorySchema | No | -| factories | Yes | -| factories/integrationRuntimes | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| dataFactories | Yes | No | +| dataFactories/diagnosticSettings | No | No | +| dataFactorySchema | No | No | +| factories | Yes | No | +| factories/integrationRuntimes | No | No | ## Microsoft.DataLakeAnalytics -| Resource type | Supports tags | -| ------------- | ----------- | -| accounts | Yes | -| accounts/dataLakeStoreAccounts | No | -| accounts/storageAccounts | No | -| accounts/storageAccounts/containers | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| accounts | Yes | Yes | +| accounts/dataLakeStoreAccounts | No | No | +| accounts/storageAccounts | No | No | +| accounts/storageAccounts/containers | No | No | ## Microsoft.DataLakeStore -| Resource type | Supports tags | -| ------------- | ----------- | -| accounts | Yes | -| accounts/eventGridFilters | No | -| accounts/firewallRules | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| accounts | Yes | Yes | +| accounts/eventGridFilters | No | No | +| accounts/firewallRules | No | No | ## Microsoft.DataMigration -| Resource type | Supports tags | -| ------------- | ----------- | -| services | Yes | -| services/projects | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| services | Yes | Yes | +| services/projects | Yes | Yes | ## Microsoft.DBforMariaDB -| Resource type | Supports tags | -| ------------- | ----------- | -| servers | Yes | -| servers/recoverableServers | No | -| servers/virtualNetworkRules | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| servers | Yes | Yes | +| servers/recoverableServers | No | No | +| servers/virtualNetworkRules | No | No | ## Microsoft.DBforMySQL -| Resource type | Supports tags | -| ------------- | ----------- | -| servers | Yes | -| servers/recoverableServers | No | -| servers/virtualNetworkRules | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| servers | Yes | Yes | +| servers/recoverableServers | No | No | +| servers/virtualNetworkRules | No | No | ## Microsoft.DBforPostgreSQL -| Resource type | Supports tags | -| ------------- | ----------- | -| servers | Yes | -| servers/advisors | No | -| servers/queryTexts | No | -| servers/recoverableServers | No | -| servers/topQueryStatistics | No | -| servers/virtualNetworkRules | No | -| servers/waitStatistics | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| servers | Yes | Yes | +| servers/advisors | No | No | +| servers/queryTexts | No | No | +| servers/recoverableServers | No | No | +| servers/topQueryStatistics | No | No | +| servers/virtualNetworkRules | No | No | +| servers/waitStatistics | No | No | ## Microsoft.Devices -| Resource type | Supports tags | -| ------------- | ----------- | -| IotHubs | Yes | -| IotHubs/eventGridFilters | No | -| ProvisioningServices | Yes | -| usages | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| IotHubs | Yes | Yes | +| IotHubs/eventGridFilters | No | No | +| ProvisioningServices | Yes | Yes | +| usages | No | No | ## Microsoft.DevSpaces -| Resource type | Supports tags | -| ------------- | ----------- | -| controllers | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| controllers | Yes | Yes | ## Microsoft.DevTestLab -| Resource type | Supports tags | -| ------------- | ----------- | -| labs | Yes | -| labs/serviceRunners | Yes | -| labs/virtualMachines | Yes | -| schedules | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| labs | Yes | Yes | +| labs/serviceRunners | Yes | Yes | +| labs/virtualMachines | Yes | Yes | +| schedules | Yes | Yes | ## Microsoft.DocumentDB -| Resource type | Supports tags | -| ------------- | ----------- | -| databaseAccountNames | No | -| databaseAccounts | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| databaseAccountNames | No | No | +| databaseAccounts | Yes | Yes | ## Microsoft.DomainRegistration -| Resource type | Supports tags | -| ------------- | ----------- | -| domains | Yes | -| domains/domainOwnershipIdentifiers | No | -| generateSsoRequest | No | -| topLevelDomains | No | -| validateDomainRegistrationInformation | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| domains | Yes | Yes | +| domains/domainOwnershipIdentifiers | No | No | +| generateSsoRequest | No | No | +| topLevelDomains | No | No | +| validateDomainRegistrationInformation | No | No | ## Microsoft.DynamicsLcs -| Resource type | Supports tags | -| ------------- | ----------- | -| lcsprojects | No | -| lcsprojects/clouddeployments | No | -| lcsprojects/connectors | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| lcsprojects | No | No | +| lcsprojects/clouddeployments | No | No | +| lcsprojects/connectors | No | No | ## Microsoft.EventGrid -| Resource type | Supports tags | -| ------------- | ----------- | -| domains | Yes | -| domains/topics | No | -| eventSubscriptions | No | -| extensionTopics | No | -| topics | Yes | -| topicTypes | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| domains | Yes | No | +| domains/topics | No | No | +| eventSubscriptions | No | No | +| extensionTopics | No | No | +| topics | Yes | No | +| topicTypes | No | No | ## Microsoft.EventHub -| Resource type | Supports tags | -| ------------- | ----------- | -| clusters | Yes | -| namespaces | Yes | -| namespaces/authorizationrules | No | -| namespaces/disasterrecoveryconfigs | No | -| namespaces/eventhubs | No | -| namespaces/eventhubs/authorizationrules | No | -| namespaces/eventhubs/consumergroups | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| clusters | Yes | No | +| namespaces | Yes | No | +| namespaces/authorizationrules | No | No | +| namespaces/disasterrecoveryconfigs | No | No | +| namespaces/eventhubs | No | No | +| namespaces/eventhubs/authorizationrules | No | No | +| namespaces/eventhubs/consumergroups | No | No | ## Microsoft.Features -| Resource type | Supports tags | -| ------------- | ----------- | -| features | No | -| providers | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| features | No | No | +| providers | No | No | ## Microsoft.Gallery -| Resource type | Supports tags | -| ------------- | ----------- | -| enroll | No | -| galleryitems | No | -| generateartifactaccessuri | No | -| myareas | No | -| myareas/areas | No | -| myareas/areas/areas | No | -| myareas/areas/areas/galleryitems | No | -| myareas/areas/galleryitems | No | -| myareas/galleryitems | No | -| register | No | -| resources | No | -| retrieveresourcesbyid | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| enroll | No | No | +| galleryitems | No | No | +| generateartifactaccessuri | No | No | +| myareas | No | No | +| myareas/areas | No | No | +| myareas/areas/areas | No | No | +| myareas/areas/areas/galleryitems | No | No | +| myareas/areas/galleryitems | No | No | +| myareas/galleryitems | No | No | +| register | No | No | +| resources | No | No | +| retrieveresourcesbyid | No | No | ## Microsoft.GuestConfiguration -| Resource type | Supports tags | -| ------------- | ----------- | -| guestConfigurationAssignments | No | -| software | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| guestConfigurationAssignments | No | No | +| software | No | No | ## Microsoft.HanaOnAzure -| Resource type | Supports tags | -| ------------- | ----------- | -| hanaInstances | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| hanaInstances | Yes | Yes | ## Microsoft.HDInsight -| Resource type | Supports tags | -| ------------- | ----------- | -| clusters | Yes | -| clusters/applications | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| clusters | Yes | Yes | +| clusters/applications | No | No | ## Microsoft.ImportExport -| Resource type | Supports tags | -| ------------- | ----------- | -| jobs | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| jobs | Yes | Yes | ## Microsoft.InformationProtection -| Resource type | Supports tags | -| ------------- | ----------- | -| labelGroups | No | -| labelGroups/labels | No | -| labelGroups/labels/conditions | No | -| labelGroups/labels/subLabels | No | -| labelGroups/labels/subLabels/conditions | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| labelGroups | No | No | +| labelGroups/labels | No | No | +| labelGroups/labels/conditions | No | No | +| labelGroups/labels/subLabels | No | No | +| labelGroups/labels/subLabels/conditions | No | No | ## microsoft.insights -| Resource type | Supports tags | -| ------------- | ----------- | -| actiongroups | Yes | -| activityLogAlerts | Yes | -| alertrules | Yes | -| automatedExportSettings | No | -| autoscalesettings | Yes | -| baseline | No | -| calculatebaseline | No | -| components | Yes | -| components/events | No | -| components/pricingPlans | No | -| components/query | No | -| diagnosticSettings | No | -| diagnosticSettingsCategories | No | -| eventCategories | No | -| eventtypes | No | -| extendedDiagnosticSettings | No | -| logDefinitions | No | -| logprofiles | No | -| logs | No | -| metricAlerts | Yes | -| migrateToNewPricingModel | No | -| myWorkbooks | No | -| queries | No | -| rollbackToLegacyPricingModel | No | -| scheduledqueryrules | Yes | -| vmInsightsOnboardingStatuses | No | -| webtests | Yes | -| workbooks | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| actiongroups | Yes | Yes | +| activityLogAlerts | Yes | Yes | +| alertrules | Yes | Yes | +| automatedExportSettings | No | No | +| autoscalesettings | Yes | Yes | +| baseline | No | No | +| calculatebaseline | No | No | +| components | Yes | Yes | +| components/events | No | No | +| components/pricingPlans | No | No | +| components/query | No | No | +| diagnosticSettings | No | No | +| diagnosticSettingsCategories | No | No | +| eventCategories | No | No | +| eventtypes | No | No | +| extendedDiagnosticSettings | No | No | +| logDefinitions | No | No | +| logprofiles | No | No | +| logs | No | No | +| metricAlerts | Yes | Yes | +| migrateToNewPricingModel | No | No | +| myWorkbooks | No | No | +| queries | No | No | +| rollbackToLegacyPricingModel | No | No | +| scheduledqueryrules | Yes | Yes | +| vmInsightsOnboardingStatuses | No | No | +| webtests | Yes | Yes | +| workbooks | Yes | Yes | ## Microsoft.Intune -| Resource type | Supports tags | -| ------------- | ----------- | -| diagnosticSettings | No | -| diagnosticSettingsCategories | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| diagnosticSettings | No | No | +| diagnosticSettingsCategories | No | No | ## Microsoft.IoTCentral -| Resource type | Supports tags | -| ------------- | ----------- | -| IoTApps | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| IoTApps | Yes | Yes | ## Microsoft.IoTSpaces -| Resource type | Supports tags | -| ------------- | ----------- | -| Graph | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| Graph | Yes | Yes | ## Microsoft.KeyVault -| Resource type | Supports tags | -| ------------- | ----------- | -| deletedVaults | No | -| vaults | Yes | -| vaults/accessPolicies | No | -| vaults/secrets | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| deletedVaults | No | No | +| vaults | Yes | Yes | +| vaults/accessPolicies | No | No | +| vaults/secrets | No | No | ## Microsoft.Kusto -| Resource type | Supports tags | -| ------------- | ----------- | -| clusters | Yes | -| clusters/databases | No | -| clusters/databases/dataconnections | No | -| clusters/databases/eventhubconnections | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| clusters | Yes | Yes | +| clusters/databases | No | No | +| clusters/databases/dataconnections | No | No | +| clusters/databases/eventhubconnections | No | No | ## Microsoft.LabServices -| Resource type | Supports tags | -| ------------- | ----------- | -| labaccounts | Yes | -| users | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| labaccounts | Yes | Yes | +| users | No | No | ## Microsoft.LocationBasedServices -| Resource type | Supports tags | -| ------------- | ----------- | -| accounts | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| accounts | Yes | Yes | ## Microsoft.LocationServices -| Resource type | Supports tags | -| ------------- | ----------- | -| accounts | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| accounts | Yes | Yes | ## Microsoft.LogAnalytics -| Resource type | Supports tags | -| ------------- | ----------- | -| logs | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| logs | No | No | ## Microsoft.Logic -| Resource type | Supports tags | -| ------------- | ----------- | -| integrationAccounts | Yes | -| workflows | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| integrationAccounts | Yes | Yes | +| workflows | Yes | Yes | ## Microsoft.MachineLearning -| Resource type | Supports tags | -| ------------- | ----------- | -| commitmentPlans | Yes | -| webServices | Yes | -| Workspaces | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| commitmentPlans | Yes | Yes | +| webServices | Yes | Yes | +| Workspaces | Yes | Yes | ## Microsoft.MachineLearningExperimentation -| Resource type | Supports tags | -| ------------- | ----------- | -| accounts | Yes | -| accounts/workspaces | Yes | -| accounts/workspaces/projects | Yes | -| teamAccounts | Yes | -| teamAccounts/workspaces | Yes | -| teamAccounts/workspaces/projects | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| accounts | Yes | Yes | +| accounts/workspaces | Yes | Yes | +| accounts/workspaces/projects | Yes | Yes | +| teamAccounts | Yes | Yes | +| teamAccounts/workspaces | Yes | Yes | +| teamAccounts/workspaces/projects | Yes | Yes | ## Microsoft.MachineLearningModelManagement -| Resource type | Supports tags | -| ------------- | ----------- | -| accounts | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| accounts | Yes | Yes | ## Microsoft.MachineLearningServices -| Resource type | Supports tags | -| ------------- | ----------- | -| workspaces | Yes | -| workspaces/computes | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| workspaces | Yes | Yes | +| workspaces/computes | No | No | ## Microsoft.ManagedIdentity -| Resource type | Supports tags | -| ------------- | ----------- | -| Identities | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| Identities | No | No | | userAssignedIdentities | Yes | ## Microsoft.Management -| Resource type | Supports tags | -| ------------- | ----------- | -| getEntities | No | -| managementGroups | No | -| resources | No | -| startTenantBackfill | No | -| tenantBackfillStatus | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| getEntities | No | No | +| managementGroups | No | No | +| resources | No | No | +| startTenantBackfill | No | No | +| tenantBackfillStatus | No | No | ## Microsoft.Maps -| Resource type | Supports tags | -| ------------- | ----------- | -| accounts | Yes | -| accounts/eventGridFilters | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| accounts | Yes | Yes | +| accounts/eventGridFilters | No | No | ## Microsoft.Marketplace -| Resource type | Supports tags | -| ------------- | ----------- | -| offers | No | -| offerTypes | No | -| offerTypes/publishers | No | -| offerTypes/publishers/offers | No | -| offerTypes/publishers/offers/plans | No | -| offerTypes/publishers/offers/plans/agreements | No | -| offerTypes/publishers/offers/plans/configs | No | -| offerTypes/publishers/offers/plans/configs/importImage | No | -| privategalleryitems | No | -| products | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| offers | No | No | +| offerTypes | No | No | +| offerTypes/publishers | No | No | +| offerTypes/publishers/offers | No | No | +| offerTypes/publishers/offers/plans | No | No | +| offerTypes/publishers/offers/plans/agreements | No | No | +| offerTypes/publishers/offers/plans/configs | No | No | +| offerTypes/publishers/offers/plans/configs/importImage | No | No | +| privategalleryitems | No | No | +| products | No | No | ## Microsoft.MarketplaceApps -| Resource type | Supports tags | -| ------------- | ----------- | -| classicDevServices | Yes | -| updateCommunicationPreference | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| classicDevServices | Yes | Yes | +| updateCommunicationPreference | No | No | ## Microsoft.MarketplaceOrdering -| Resource type | Supports tags | -| ------------- | ----------- | -| agreements | No | -| offertypes | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| agreements | No | No | +| offertypes | No | No | ## Microsoft.Media -| Resource type | Supports tags | -| ------------- | ----------- | -| mediaservices | Yes | -| mediaservices/accountFilters | No | -| mediaservices/assets | No | -| mediaservices/assets/assetFilters | No | -| mediaservices/contentKeyPolicies | No | -| mediaservices/eventGridFilters | No | -| mediaservices/liveEventOperations | No | -| mediaservices/liveEvents | Yes | -| mediaservices/liveEvents/liveOutputs | No | -| mediaservices/liveOutputOperations | No | -| mediaservices/streamingEndpointOperations | No | -| mediaservices/streamingEndpoints | Yes | -| mediaservices/streamingLocators | No | -| mediaservices/streamingPolicies | No | -| mediaservices/transforms | No | -| mediaservices/transforms/jobs | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| mediaservices | Yes | Yes | +| mediaservices/accountFilters | No | No | +| mediaservices/assets | No | No | +| mediaservices/assets/assetFilters | No | No | +| mediaservices/contentKeyPolicies | No | No | +| mediaservices/eventGridFilters | No | No | +| mediaservices/liveEventOperations | No | No | +| mediaservices/liveEvents | Yes | Yes | +| mediaservices/liveEvents/liveOutputs | No | No | +| mediaservices/liveOutputOperations | No | No | +| mediaservices/streamingEndpointOperations | No | No | +| mediaservices/streamingEndpoints | Yes | Yes | +| mediaservices/streamingLocators | No | No | +| mediaservices/streamingPolicies | No | No | +| mediaservices/transforms | No | No | +| mediaservices/transforms/jobs | No | No | ## Microsoft.Migrate -| Resource type | Supports tags | -| ------------- | ----------- | -| projects | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| projects | Yes | Yes | ## Microsoft.Network -| Resource type | Supports tags | -| ------------- | ----------- | -| applicationGateways | Yes | -| applicationSecurityGroups | Yes | -| azureFirewallFqdnTags | No | -| azureFirewalls | Yes | -| bgpServiceCommunities | No | -| connections | Yes | -| ddosCustomPolicies | Yes | -| ddosProtectionPlans | Yes | -| dnsOperationStatuses | No | -| dnszones | Yes | -| dnszones/A | No | -| dnszones/AAAA | No | -| dnszones/all | No | -| dnszones/CAA | No | -| dnszones/CNAME | No | -| dnszones/MX | No | -| dnszones/NS | No | -| dnszones/PTR | No | -| dnszones/recordsets | No | -| dnszones/SOA | No | -| dnszones/SRV | No | -| dnszones/TXT | No | -| expressRouteCircuits | Yes (tag value doesn't currently appear in cost report) | -| expressRouteServiceProviders | No | -| frontdoors | Yes | -| frontdoorWebApplicationFirewallPolicies | Yes | -| getDnsResourceReference | No | -| interfaceEndpoints | Yes | -| internalNotify | No | -| loadBalancers | Yes | -| localNetworkGateways | Yes | -| natGateways | Yes | -| networkIntentPolicies | Yes | -| networkInterfaces | Yes | -| networkProfiles | Yes | -| networkSecurityGroups | Yes | -| networkWatchers | Yes (tag value doesn't currently appear in cost report) | -| networkWatchers/connectionMonitors | Yes | -| networkWatchers/lenses | Yes | -| networkWatchers/pingMeshes | Yes | -| privateLinkServices | Yes | -| publicIPAddresses | Yes | -| publicIPPrefixes | Yes | -| routeFilters | Yes | -| routeTables | Yes | -| serviceEndpointPolicies | Yes | -| trafficManagerGeographicHierarchies | No | -| trafficmanagerprofiles | Yes | -| trafficmanagerprofiles/heatMaps | No | -| virtualHubs | Yes | -| virtualNetworkGateways | Yes | -| virtualNetworks | Yes | -| virtualNetworks/subnets | No | -| virtualNetworkTaps | Yes | -| virtualWans | Yes | -| vpnGateways | Yes (tag value doesn't currently appear in cost report) | -| vpnSites | Yes | -| webApplicationFirewallPolicies | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| applicationGateways | Yes | No | +| applicationSecurityGroups | Yes | Yes | +| azureFirewallFqdnTags | No | No | +| azureFirewalls | Yes | No | +| bgpServiceCommunities | No | No | +| connections | Yes | Yes | +| ddosCustomPolicies | Yes | Yes | +| ddosProtectionPlans | Yes | Yes | +| dnsOperationStatuses | No | No | +| dnszones | Yes | Yes | +| dnszones/A | No | No | +| dnszones/AAAA | No | No | +| dnszones/all | No | No | +| dnszones/CAA | No | No | +| dnszones/CNAME | No | No | +| dnszones/MX | No | No | +| dnszones/NS | No | No | +| dnszones/PTR | No | No | +| dnszones/recordsets | No | No | +| dnszones/SOA | No | No | +| dnszones/SRV | No | No | +| dnszones/TXT | No | No | +| expressRouteCircuits | Yes | No | +| expressRouteServiceProviders | No | No | +| frontdoors | Yes | Yes | +| frontdoorWebApplicationFirewallPolicies | Yes | Yes | +| getDnsResourceReference | No | No | +| interfaceEndpoints | Yes | Yes | +| internalNotify | No | No | +| loadBalancers | Yes | No | +| localNetworkGateways | Yes | Yes | +| natGateways | Yes | Yes | +| networkIntentPolicies | Yes | Yes | +| networkInterfaces | Yes | Yes | +| networkProfiles | Yes | Yes | +| networkSecurityGroups | Yes | Yes | +| networkWatchers | Yes | No | +| networkWatchers/connectionMonitors | Yes | No | +| networkWatchers/lenses | Yes | No | +| networkWatchers/pingMeshes | Yes | No | +| privateLinkServices | Yes | Yes | +| publicIPAddresses | Yes | Yes | +| publicIPPrefixes | Yes | Yes | +| routeFilters | Yes | Yes | +| routeTables | Yes | Yes | +| serviceEndpointPolicies | Yes | Yes | +| trafficManagerGeographicHierarchies | No | No | +| trafficmanagerprofiles | Yes | Yes | +| trafficmanagerprofiles/heatMaps | No | No | +| virtualHubs | Yes | Yes | +| virtualNetworkGateways | Yes | No | +| virtualNetworks | Yes | Yes | +| virtualNetworks/subnets | No | No | +| virtualNetworkTaps | Yes | Yes | +| virtualWans | Yes | Yes | +| vpnGateways | Yes | No | +| vpnSites | Yes | Yes | +| webApplicationFirewallPolicies | Yes | Yes | ## Microsoft.NotificationHubs -| Resource type | Supports tags | -| ------------- | ----------- | -| namespaces | Yes | -| namespaces/notificationHubs | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| namespaces | Yes | No | +| namespaces/notificationHubs | Yes | No | ## Microsoft.OperationalInsights -| Resource type | Supports tags | -| ------------- | ----------- | -| devices | No | -| linkTargets | No | -| storageInsightConfigs | No | -| workspaces | Yes | -| workspaces/dataSources | No | -| workspaces/linkedServices | No | -| workspaces/query | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| devices | No | No | +| linkTargets | No | No | +| storageInsightConfigs | No | No | +| workspaces | Yes | Yes | +| workspaces/dataSources | No | No | +| workspaces/linkedServices | No | No | +| workspaces/query | No | No | ## Microsoft.OperationsManagement -| Resource type | Supports tags | -| ------------- | ----------- | -| managementassociations | No | -| managementconfigurations | Yes | -| solutions | Yes | -| views | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| managementassociations | No | No | +| managementconfigurations | Yes | Yes | +| solutions | Yes | Yes | +| views | Yes | Yes | ## Microsoft.PolicyInsights -| Resource type | Supports tags | -| ------------- | ----------- | -| policyEvents | No | -| policyStates | No | -| policyTrackedResources | No | -| remediations | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| policyEvents | No | No | +| policyStates | No | No | +| policyTrackedResources | No | No | +| remediations | No | No | ## Microsoft.Portal -| Resource type | Supports tags | -| ------------- | ----------- | -| consoles | No | -| dashboards | Yes | -| userSettings | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| consoles | No | No | +| dashboards | Yes | Yes | +| userSettings | No | No | ## Microsoft.PowerBI -| Resource type | Supports tags | -| ------------- | ----------- | -| workspaceCollections | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| workspaceCollections | Yes | Yes | ## Microsoft.PowerBIDedicated -| Resource type | Supports tags | -| ------------- | ----------- | -| capacities | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| capacities | Yes | Yes | ## Microsoft.ProjectOxford -| Resource type | Supports tags | -| ------------- | ----------- | -| accounts | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| accounts | Yes | Yes | ## Microsoft.RecoveryServices -| Resource type | Supports tags | -| ------------- | ----------- | -| backupProtectedItems | No | -| vaults | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| backupProtectedItems | No | No | +| vaults | Yes | Yes | ## Microsoft.Relay -| Resource type | Supports tags | -| ------------- | ----------- | -| namespaces | Yes | -| namespaces/authorizationrules | No | -| namespaces/hybridconnections | No | -| namespaces/hybridconnections/authorizationrules | No | -| namespaces/wcfrelays | No | -| namespaces/wcfrelays/authorizationrules | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| namespaces | Yes | Yes | +| namespaces/authorizationrules | No | No | +| namespaces/hybridconnections | No | No | +| namespaces/hybridconnections/authorizationrules | No | No | +| namespaces/wcfrelays | No | No | +| namespaces/wcfrelays/authorizationrules | No | No | ## Microsoft.ResourceGraph -| Resource type | Supports tags | -| ------------- | ----------- | -| resources | No | -| subscriptionsStatus | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| resources | No | No | +| subscriptionsStatus | No | No | ## Microsoft.ResourceHealth -| Resource type | Supports tags | -| ------------- | ----------- | -| availabilityStatuses | No | -| childAvailabilityStatuses | No | -| childResources | No | -| events | No | -| impactedResources | No | -| notifications | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| availabilityStatuses | No | No | +| childAvailabilityStatuses | No | No | +| childResources | No | No | +| events | No | No | +| impactedResources | No | No | +| notifications | No | No | ## Microsoft.Resources -| Resource type | Supports tags | -| ------------- | ----------- | -| deployments | No | -| deployments/operations | No | -| links | No | -| notifyResourceJobs | No | -| providers | No | -| resourceGroups | No | -| resources | No | -| subscriptions | No | -| subscriptions/providers | No | -| subscriptions/resourceGroups | No | -| subscriptions/resourcegroups/resources | No | -| subscriptions/resources | No | -| subscriptions/tagnames | No | -| subscriptions/tagNames/tagValues | No | -| tenants | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| deployments | No | No | +| deployments/operations | No | No | +| links | No | No | +| notifyResourceJobs | No | No | +| providers | No | No | +| resourceGroups | No | No | +| resources | No | No | +| subscriptions | No | No | +| subscriptions/providers | No | No | +| subscriptions/resourceGroups | No | No | +| subscriptions/resourcegroups/resources | No | No | +| subscriptions/resources | No | No | +| subscriptions/tagnames | No | No | +| subscriptions/tagNames/tagValues | No | No | +| tenants | No | No | ## Microsoft.SaaS -| Resource type | Supports tags | -| ------------- | ----------- | -| applications | Yes | -| saasresources | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| applications | Yes | Yes | +| saasresources | No | No | ## Microsoft.Scheduler -| Resource type | Supports tags | -| ------------- | ----------- | -| flows | Yes | -| jobcollections | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| flows | Yes | Yes | +| jobcollections | Yes | Yes | ## Microsoft.Search -| Resource type | Supports tags | -| ------------- | ----------- | -| resourceHealthMetadata | No | -| searchServices | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| resourceHealthMetadata | No | No | +| searchServices | Yes | Yes | ## Microsoft.Security -| Resource type | Supports tags | -| ------------- | ----------- | -| advancedThreatProtectionSettings | No | -| alerts | No | -| allowedConnections | No | -| appliances | No | -| applicationWhitelistings | No | -| AutoProvisioningSettings | No | -| Compliances | No | -| dataCollectionAgents | No | -| discoveredSecuritySolutions | No | -| externalSecuritySolutions | No | -| InformationProtectionPolicies | No | -| jitNetworkAccessPolicies | No | -| monitoring | No | -| monitoring/antimalware | No | -| monitoring/baseline | No | -| monitoring/patch | No | -| policies | No | -| pricings | No | -| securityContacts | No | -| securitySolutions | No | -| securitySolutionsReferenceData | No | -| securityStatus | No | -| securityStatus/endpoints | No | -| securityStatus/subnets | No | -| securityStatus/virtualMachines | No | -| securityStatuses | No | -| securityStatusesSummaries | No | -| settings | No | -| tasks | No | -| topologies | No | -| workspaceSettings | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| advancedThreatProtectionSettings | No | No | +| alerts | No | No | +| allowedConnections | No | No | +| appliances | No | No | +| applicationWhitelistings | No | No | +| AutoProvisioningSettings | No | No | +| Compliances | No | No | +| dataCollectionAgents | No | No | +| discoveredSecuritySolutions | No | No | +| externalSecuritySolutions | No | No | +| InformationProtectionPolicies | No | No | +| jitNetworkAccessPolicies | No | No | +| monitoring | No | No | +| monitoring/antimalware | No | No | +| monitoring/baseline | No | No | +| monitoring/patch | No | No | +| policies | No | No | +| pricings | No | No | +| securityContacts | No | No | +| securitySolutions | No | No | +| securitySolutionsReferenceData | No | No | +| securityStatus | No | No | +| securityStatus/endpoints | No | No | +| securityStatus/subnets | No | No | +| securityStatus/virtualMachines | No | No | +| securityStatuses | No | No | +| securityStatusesSummaries | No | No | +| settings | No | No | +| tasks | No | No | +| topologies | No | No | +| workspaceSettings | No | No | ## Microsoft.SecurityGraph -| Resource type | Supports tags | -| ------------- | ----------- | -| diagnosticSettings | No | -| diagnosticSettingsCategories | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| diagnosticSettings | No | No | +| diagnosticSettingsCategories | No | No | ## Microsoft.ServiceBus -| Resource type | Supports tags | -| ------------- | ----------- | -| namespaces | Yes | -| namespaces/authorizationrules | No | -| namespaces/disasterrecoveryconfigs | No | -| namespaces/eventgridfilters | No | -| namespaces/queues | No | -| namespaces/queues/authorizationrules | No | -| namespaces/topics | No | -| namespaces/topics/authorizationrules | No | -| namespaces/topics/subscriptions | No | -| namespaces/topics/subscriptions/rules | No | -| premiumMessagingRegions | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| namespaces | Yes | No | +| namespaces/authorizationrules | No | No | +| namespaces/disasterrecoveryconfigs | No | No | +| namespaces/eventgridfilters | No | No | +| namespaces/queues | No | No | +| namespaces/queues/authorizationrules | No | No | +| namespaces/topics | No | No | +| namespaces/topics/authorizationrules | No | No | +| namespaces/topics/subscriptions | No | No | +| namespaces/topics/subscriptions/rules | No | No | +| premiumMessagingRegions | No | No | ## Microsoft.ServiceFabric -| Resource type | Supports tags | -| ------------- | ----------- | -| clusters | Yes | -| clusters/applications | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| clusters | Yes | Yes | +| clusters/applications | No | No | ## Microsoft.ServiceFabricMesh -| Resource type | Supports tags | -| ------------- | ----------- | -| applications | Yes | -| gateways | Yes | -| networks | Yes | -| secrets | Yes | -| volumes | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| applications | Yes | Yes | +| gateways | Yes | Yes | +| networks | Yes | Yes | +| secrets | Yes | Yes | +| volumes | Yes | Yes | ## Microsoft.SignalRService -| Resource type | Supports tags | -| ------------- | ----------- | -| SignalR | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| SignalR | Yes | Yes | ## Microsoft.Solutions -| Resource type | Supports tags | -| ------------- | ----------- | -| applianceDefinitions | Yes | -| appliances | Yes | -| applicationDefinitions | Yes | -| applications | Yes | -| jitRequests | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| applianceDefinitions | Yes | Yes | +| appliances | Yes | Yes | +| applicationDefinitions | Yes | Yes | +| applications | Yes | Yes | +| jitRequests | Yes | Yes | ## Microsoft.SQL -| Resource type | Supports tags | -| ------------- | ----------- | -| managedInstances | Yes | -| managedInstances/databases | Yes (see note below) | -| managedInstances/databases/backupShortTermRetentionPolicies | No | -| managedInstances/databases/schemas/tables/columns/sensitivityLabels | No | -| managedInstances/databases/vulnerabilityAssessments | No | -| managedInstances/databases/vulnerabilityAssessments/rules/baselines | No | -| managedInstances/encryptionProtector | No | -| managedInstances/keys | No | -| managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies | No | -| managedInstances/vulnerabilityAssessments | No | -| servers | Yes | -| servers/administrators | No | -| servers/communicationLinks | No | -| servers/databases | Yes (see note below) | -| servers/encryptionProtector | No | -| servers/firewallRules | No | -| servers/keys | No | -| servers/restorableDroppedDatabases | No | -| servers/serviceobjectives | No | -| servers/tdeCertificates | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| managedInstances | Yes | Yes | +| managedInstances/databases | Yes (see note below) | Yes | +| managedInstances/databases/backupShortTermRetentionPolicies | No | No | +| managedInstances/databases/schemas/tables/columns/sensitivityLabels | No | No | +| managedInstances/databases/vulnerabilityAssessments | No | No | +| managedInstances/databases/vulnerabilityAssessments/rules/baselines | No | No | +| managedInstances/encryptionProtector | No | No | +| managedInstances/keys | No | No | +| managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies | No | No | +| managedInstances/vulnerabilityAssessments | No | No | +| servers | Yes | Yes | +| servers/administrators | No | No | +| servers/communicationLinks | No | No | +| servers/databases | Yes (see note below) | Yes | +| servers/encryptionProtector | No | No | +| servers/firewallRules | No | No | +| servers/keys | No | No | +| servers/restorableDroppedDatabases | No | No | +| servers/serviceobjectives | No | No | +| servers/tdeCertificates | No | No | > [!NOTE] > The Master database doesn't support tags, but other databases, including Azure SQL Data Warehouse databases, support tags. Azure SQL Data Warehouse databases must be in Active (not Paused) state. ## Microsoft.SqlVirtualMachine -| Resource type | Supports tags | -| ------------- | ----------- | -| SqlVirtualMachineGroups | Yes | -| SqlVirtualMachineGroups/AvailabilityGroupListeners | No | -| SqlVirtualMachines | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| SqlVirtualMachineGroups | Yes | Yes | +| SqlVirtualMachineGroups/AvailabilityGroupListeners | No | No | +| SqlVirtualMachines | Yes | Yes | ## Microsoft.Storage -| Resource type | Supports tags | -| ------------- | ----------- | -| storageAccounts | Yes | -| storageAccounts/blobServices | No | -| storageAccounts/fileServices | No | -| storageAccounts/queueServices | No | -| storageAccounts/services | No | -| storageAccounts/tableServices | No | -| usages | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| storageAccounts | Yes | Yes | +| storageAccounts/blobServices | No | No | +| storageAccounts/fileServices | No | No | +| storageAccounts/queueServices | No | No | +| storageAccounts/services | No | No | +| storageAccounts/tableServices | No | No | +| usages | No | No | ## Microsoft.StorageSync -| Resource type | Supports tags | -| ------------- | ----------- | -| storageSyncServices | Yes | -| storageSyncServices/registeredServers | No | -| storageSyncServices/syncGroups | No | -| storageSyncServices/syncGroups/cloudEndpoints | No | -| storageSyncServices/syncGroups/serverEndpoints | No | -| storageSyncServices/workflows | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| storageSyncServices | Yes | Yes | +| storageSyncServices/registeredServers | No | No | +| storageSyncServices/syncGroups | No | No | +| storageSyncServices/syncGroups/cloudEndpoints | No | No | +| storageSyncServices/syncGroups/serverEndpoints | No | No | +| storageSyncServices/workflows | No | No | ## Microsoft.StorSimple -| Resource type | Supports tags | -| ------------- | ----------- | -| managers | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| managers | Yes | Yes | ## Microsoft.StreamAnalytics -| Resource type | Supports tags | -| ------------- | ----------- | -| streamingjobs | Yes (see note below) | -| streamingjobs/diagnosticSettings | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| streamingjobs | Yes (see note below) | Yes | +| streamingjobs/diagnosticSettings | No | No | > [!NOTE] > You can't add a tag when streamingjobs is running. Stop the resource to add a tag. ## Microsoft.Subscription -| Resource type | Supports tags | -| ------------- | ----------- | -| CreateSubscription | No | -| SubscriptionDefinitions | No | -| SubscriptionOperations | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| CreateSubscription | No | No | +| SubscriptionDefinitions | No | No | +| SubscriptionOperations | No | No | ## microsoft.support -| Resource type | Supports tags | -| ------------- | ----------- | -| supporttickets | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| supporttickets | No | No | ## Microsoft.TerraformOSS -| Resource type | Supports tags | -| ------------- | ----------- | -| providerRegistrations | Yes | -| resources | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| providerRegistrations | Yes | Yes | +| resources | Yes | Yes | ## Microsoft.TimeSeriesInsights -| Resource type | Supports tags | -| ------------- | ----------- | -| environments | Yes | -| environments/accessPolicies | No | -| environments/eventsources | Yes | -| environments/referenceDataSets | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| environments | Yes | No | +| environments/accessPolicies | No | No | +| environments/eventsources | Yes | No | +| environments/referenceDataSets | Yes | No | ## microsoft.visualstudio -| Resource type | Supports tags | -| ------------- | ----------- | -| account | Yes | -| account/extension | Yes | -| account/project | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| account | Yes | Yes | +| account/extension | Yes | Yes | +| account/project | Yes | Yes | ## Microsoft.Web -| Resource type | Supports tags | -| ------------- | ----------- | -| apiManagementAccounts | No | -| apiManagementAccounts/apiAcls | No | -| apiManagementAccounts/apis | No | -| apiManagementAccounts/apis/apiAcls | No | -| apiManagementAccounts/apis/connectionAcls | No | -| apiManagementAccounts/apis/connections | No | -| apiManagementAccounts/apis/connections/connectionAcls | No | -| apiManagementAccounts/apis/localizedDefinitions | No | -| apiManagementAccounts/connectionAcls | No | -| apiManagementAccounts/connections | No | -| billingMeters | No | -| certificates | Yes | -| connectionGateways | Yes | -| connections | Yes | -| customApis | Yes | -| deletedSites | No | -| functions | No | -| hostingEnvironments | Yes | -| hostingEnvironments/multiRolePools | No | -| hostingEnvironments/multiRolePools/instances | No | -| hostingEnvironments/workerPools | No | -| hostingEnvironments/workerPools/instances | No | -| publishingUsers | No | -| recommendations | No | -| resourceHealthMetadata | No | -| runtimes | No | -| serverFarms | Yes | -| serverFarms/workers | No | -| sites | Yes | -| sites/domainOwnershipIdentifiers | No | -| sites/hostNameBindings | No | -| sites/instances | No | -| sites/instances/extensions | No | -| sites/premieraddons | Yes | -| sites/recommendations | No | -| sites/resourceHealthMetadata | No | -| sites/slots | Yes | -| sites/slots/hostNameBindings | No | -| sites/slots/instances | No | -| sites/slots/instances/extensions | No | -| sourceControls | No | -| validate | No | -| verifyHostingEnvironmentVnet | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| apiManagementAccounts | No | No | +| apiManagementAccounts/apiAcls | No | No | +| apiManagementAccounts/apis | No | No | +| apiManagementAccounts/apis/apiAcls | No | No | +| apiManagementAccounts/apis/connectionAcls | No | No | +| apiManagementAccounts/apis/connections | No | No | +| apiManagementAccounts/apis/connections/connectionAcls | No | No | +| apiManagementAccounts/apis/localizedDefinitions | No | No | +| apiManagementAccounts/connectionAcls | No | No | +| apiManagementAccounts/connections | No | No | +| billingMeters | No | No | +| certificates | Yes | Yes | +| connectionGateways | Yes | Yes | +| connections | Yes | Yes | +| customApis | Yes | Yes | +| deletedSites | No | No | +| functions | No | No | +| hostingEnvironments | Yes | No | +| hostingEnvironments/multiRolePools | No | No | +| hostingEnvironments/multiRolePools/instances | No | No | +| hostingEnvironments/workerPools | No | No | +| hostingEnvironments/workerPools/instances | No | No | +| publishingUsers | No | No | +| recommendations | No | No | +| resourceHealthMetadata | No | No | +| runtimes | No | No | +| serverFarms | Yes | Yes | +| serverFarms/workers | No | No | +| sites | Yes | Yes | +| sites/domainOwnershipIdentifiers | No | No | +| sites/hostNameBindings | No | No | +| sites/instances | No | No | +| sites/instances/extensions | No | No | +| sites/premieraddons | Yes | Yes | +| sites/recommendations | No | No | +| sites/resourceHealthMetadata | No | No | +| sites/slots | Yes | Yes | +| sites/slots/hostNameBindings | No | No | +| sites/slots/instances | No | No | +| sites/slots/instances/extensions | No | No | +| sourceControls | No | No | +| validate | No | No | +| verifyHostingEnvironmentVnet | No | No | ## Microsoft.WindowsDefenderATP -| Resource type | Supports tags | -| ------------- | ----------- | -| diagnosticSettings | No | -| diagnosticSettingsCategories | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| diagnosticSettings | No | No | +| diagnosticSettingsCategories | No | No | ## Microsoft.WindowsIoT -| Resource type | Supports tags | -| ------------- | ----------- | -| DeviceServices | Yes | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| DeviceServices | Yes | Yes | ## Microsoft.WorkloadMonitor -| Resource type | Supports tags | -| ------------- | ----------- | -| components | No | -| componentsSummary | No | -| monitorInstances | No | -| monitorInstancesSummary | No | -| monitors | No | -| notificationSettings | No | +| Resource type | Supports tags | Tag in cost report | +| ------------- | ----------- | ----------- | +| components | No | No | +| componentsSummary | No | No | +| monitorInstances | No | No | +| monitorInstancesSummary | No | No | +| monitors | No | No | +| notificationSettings | No | No | ## Next steps To learn how to apply tags to resources, see [Use tags to organize your Azure resources](resource-group-using-tags.md). diff --git a/articles/cognitive-services/LUIS/index.yml b/articles/cognitive-services/LUIS/index.yml index 00b58483928d1..1a0bd23d57233 100644 --- a/articles/cognitive-services/LUIS/index.yml +++ b/articles/cognitive-services/LUIS/index.yml @@ -113,7 +113,7 @@ sections: className: cardsD items: - title: REST APIs v2 - html:

Endpoint API

Authoring API

+ html:

Endpoint API

Authoring API

- title: SDKs html:

.NET Endpoint SDK

.NET Authoring SDK

- title: PowerShell diff --git a/articles/cognitive-services/LUIS/luis-concept-data-alteration.md b/articles/cognitive-services/LUIS/luis-concept-data-alteration.md index a45b62e74db55..9216754aaf3ae 100644 --- a/articles/cognitive-services/LUIS/luis-concept-data-alteration.md +++ b/articles/cognitive-services/LUIS/luis-concept-data-alteration.md @@ -17,7 +17,7 @@ ms.author: diberry LUIS provides ways to manipulate the utterance before or during the prediction. These include fixing spelling, and fixing timezone issues for prebuild datetimeV2. ## Correct spelling errors in utterance -LUIS uses [Bing Spell Check API V7](https://azure.microsoft.com/services/cognitive-services/spell-check/) to correct spelling errors in the utterance. LUIS needs the key associated with that service. Create the key, then add the key as a querystring parameter at the [endpoint](https://aka.ms/luis-endpoint-apis). +LUIS uses [Bing Spell Check API V7](https://azure.microsoft.com/services/cognitive-services/spell-check/) to correct spelling errors in the utterance. LUIS needs the key associated with that service. Create the key, then add the key as a querystring parameter at the [endpoint](https://go.microsoft.com/fwlink/?linkid=2092356). You can also correct spelling errors in the **Test** panel by [entering the key](luis-interactive-test.md#view-bing-spell-check-corrections-in-test-panel). The key is kept as a session variable in the browser for the Test panel. Add the key to the Test panel in each browser session you want spelling corrected. @@ -51,14 +51,14 @@ The Bing spell check API used in LUIS does not support a white-list of words to When a LUIS app uses the prebuilt datetimeV2 entity, a datetime value can be returned in the prediction response. The timezone of the request is used to determine the correct datetime to return. If the request is coming from a bot or another centralized application before getting to LUIS, correct the timezone LUIS uses. ### Endpoint querystring parameter -The timezone is corrected by adding the user's timezone to the [endpoint](https://aka.ms/luis-endpoint-apis) using the `timezoneOffset` param. The value of `timezoneOffset` should be the positive or negative number, in minutes, to alter the time. +The timezone is corrected by adding the user's timezone to the [endpoint](https://go.microsoft.com/fwlink/?linkid=2092356) using the `timezoneOffset` param. The value of `timezoneOffset` should be the positive or negative number, in minutes, to alter the time. |Param|Value| |--|--| |`timezoneOffset`|positive or negative number, in minutes| ### Daylight savings example -If you need the returned prebuilt datetimeV2 to adjust for daylight savings time, you should use the `timezoneOffset` querystring parameter with a +/- value in minutes for the [endpoint](https://aka.ms/luis-endpoint-apis) query. +If you need the returned prebuilt datetimeV2 to adjust for daylight savings time, you should use the `timezoneOffset` querystring parameter with a +/- value in minutes for the [endpoint](https://go.microsoft.com/fwlink/?linkid=2092356) query. Add 60 minutes: diff --git a/articles/cognitive-services/LUIS/luis-concept-security.md b/articles/cognitive-services/LUIS/luis-concept-security.md index f9f6e26d3390d..7ab157cb920c6 100644 --- a/articles/cognitive-services/LUIS/luis-concept-security.md +++ b/articles/cognitive-services/LUIS/luis-concept-security.md @@ -17,7 +17,7 @@ ms.author: diberry Authoring access is available for owners and collaborators. For a private app, endpoint access is available for owners and collaborators. For a public app, endpoint access is available to everyone that has their own LUIS account and has the public app's ID. ## Access to authoring -Access to the app from the [LUIS](luis-reference-regions.md#luis-website) website or the [authoring APIs](https://aka.ms/luis-authoring-apis) is controlled by the owner of the app. +Access to the app from the [LUIS](luis-reference-regions.md#luis-website) website or the [authoring APIs](https://go.microsoft.com/fwlink/?linkid=2092087) is controlled by the owner of the app. The owner and all collaborators have access to author the app. diff --git a/articles/cognitive-services/LUIS/luis-concept-test.md b/articles/cognitive-services/LUIS/luis-concept-test.md index f7b952513d8db..96b414df6c329 100644 --- a/articles/cognitive-services/LUIS/luis-concept-test.md +++ b/articles/cognitive-services/LUIS/luis-concept-test.md @@ -41,7 +41,7 @@ All endpoint testing counts toward your usage quota. If you test against an endpoint, and do not want the utterance logged, remember to use the `logging=false` query string configuration. ## Where to find utterances -LUIS stores all logged utterances in the query log, available for download on the [LUIS](luis-reference-regions.md) website **Apps** list page, as well as the LUIS [authoring APIs](https://aka.ms/luis-authoring-apis). +LUIS stores all logged utterances in the query log, available for download on the [LUIS](luis-reference-regions.md) website **Apps** list page, as well as the LUIS [authoring APIs](https://go.microsoft.com/fwlink/?linkid=2092087). Any utterances LUIS is unsure of are listed in the **[Review endpoint utterances](luis-how-to-review-endpoint-utterances.md)** page of the [LUIS](luis-reference-regions.md) website. diff --git a/articles/cognitive-services/LUIS/luis-glossary.md b/articles/cognitive-services/LUIS/luis-glossary.md index 3008ae2ed5e67..e936ed001abdf 100644 --- a/articles/cognitive-services/LUIS/luis-glossary.md +++ b/articles/cognitive-services/LUIS/luis-glossary.md @@ -21,7 +21,7 @@ The active LUIS version is the version that receives any changes to the model. I ## Authoring -Authoring is the ability to create, manage and deploy a [LUIS app](#luis-app), either using the [LUIS](luis-reference-regions.md) website or the [authoring APIs](https://aka.ms/luis-authoring-api). +Authoring is the ability to create, manage and deploy a [LUIS app](#luis-app), either using the [LUIS](luis-reference-regions.md) website or the [authoring APIs](https://go.microsoft.com/fwlink/?linkid=2092087). ## Authoring Key @@ -69,7 +69,7 @@ In the LUIS context, a **domain** is an area of knowledge. Your domain is specif ## Endpoint -The [LUIS endpoint](https://aka.ms/luis-endpoint-apis) URL is where you submit LUIS queries after the [LUIS app](#luis-app) is authored and published. The endpoint URL contains the region of the published app as well as the app ID. You can find the endpoint on the **[Keys and endpoints](luis-how-to-azure-subscription.md)** page of your app, or you can get the endpoint URL from the [Get App Info](https://westus.dev.cognitive.microsoft.com/docs/services/5890b47c39e2bb17b84a55ff/operations/5890b47c39e2bb052c5b9c37) API. +The [LUIS endpoint](https://go.microsoft.com/fwlink/?linkid=2092356) URL is where you submit LUIS queries after the [LUIS app](#luis-app) is authored and published. The endpoint URL contains the region of the published app as well as the app ID. You can find the endpoint on the **[Keys and endpoints](luis-how-to-azure-subscription.md)** page of your app, or you can get the endpoint URL from the [Get App Info](https://westus.dev.cognitive.microsoft.com/docs/services/5890b47c39e2bb17b84a55ff/operations/5890b47c39e2bb052c5b9c37) API. An example endpoint looks like: diff --git a/articles/cognitive-services/LUIS/luis-how-to-account-settings.md b/articles/cognitive-services/LUIS/luis-how-to-account-settings.md index a6b69cecb3ce5..506b9ee6d1fc4 100644 --- a/articles/cognitive-services/LUIS/luis-how-to-account-settings.md +++ b/articles/cognitive-services/LUIS/luis-how-to-account-settings.md @@ -19,7 +19,7 @@ The two key pieces of information for a LUIS account are the user account and th ## Authoring key -This single, region-specific authoring key, on the **Settings** page, allows you to author all your apps from the [LUIS](luis-reference-regions.md) portal as well as the [authoring APIs](https://aka.ms/luis-authoring-api). As a convenience, the authoring key is allowed to make a [limited](luis-boundaries.md) number of endpoint queries each month. +This single, region-specific authoring key, on the **Settings** page, allows you to author all your apps from the [LUIS](luis-reference-regions.md) portal as well as the [authoring APIs](https://go.microsoft.com/fwlink/?linkid=2092087). As a convenience, the authoring key is allowed to make a [limited](luis-boundaries.md) number of endpoint queries each month. [![LUIS Settings page](./media/luis-how-to-account-settings/account-settings.png)](./media/luis-how-to-account-settings/account-settings.png#lightbox) diff --git a/articles/cognitive-services/LUIS/luis-migration-api-v1-to-v2.md b/articles/cognitive-services/LUIS/luis-migration-api-v1-to-v2.md index 3b1777b54a989..ed8e42f00c93c 100644 --- a/articles/cognitive-services/LUIS/luis-migration-api-v1-to-v2.md +++ b/articles/cognitive-services/LUIS/luis-migration-api-v1-to-v2.md @@ -14,7 +14,7 @@ ms.author: diberry --- # API v1 to v2 Migration guide for LUIS apps -The version 1 [endpoint](https://aka.ms/v1-endpoint-api-docs) and [authoring](https://aka.ms/v1-authoring-api-docs) APIs are deprecated. Use this guide to understand how to migrate to version 2 [endpoint](https://aka.ms/luis-endpoint-apis) and [authoring](https://aka.ms/luis-authoring-apis) APIs. +The version 1 [endpoint](https://aka.ms/v1-endpoint-api-docs) and [authoring](https://aka.ms/v1-authoring-api-docs) APIs are deprecated. Use this guide to understand how to migrate to version 2 [endpoint](https://go.microsoft.com/fwlink/?linkid=2092356) and [authoring](https://go.microsoft.com/fwlink/?linkid=2092087) APIs. ## New Azure regions LUIS has new [regions](https://aka.ms/LUIS-regions) provided for the LUIS APIs. LUIS provides a different portal for region groups. The application must be authored in the same region you expect to query. Applications do not automatically migrate regions. You export the app from one region then import into another for it to be available in a new region. @@ -164,6 +164,6 @@ See [LUIS API response codes](luis-reference-response-codes.md). ## Next steps -Use the v2 API documentation to update existing REST calls to LUIS [endpoint](https://aka.ms/luis-endpoint-apis) and [authoring](https://aka.ms/luis-authoring-apis) APIs. +Use the v2 API documentation to update existing REST calls to LUIS [endpoint](https://go.microsoft.com/fwlink/?linkid=2092356) and [authoring](https://go.microsoft.com/fwlink/?linkid=2092087) APIs. [LUIS]: https://docs.microsoft.com/azure/cognitive-services/luis/luis-reference-regions diff --git a/articles/cognitive-services/LUIS/luis-reference-response-codes.md b/articles/cognitive-services/LUIS/luis-reference-response-codes.md index 378ecf4f774c9..47722a48ca26f 100644 --- a/articles/cognitive-services/LUIS/luis-reference-response-codes.md +++ b/articles/cognitive-services/LUIS/luis-reference-response-codes.md @@ -15,10 +15,10 @@ ms.author: diberry # Common API response codes and their meaning -The [authoring](https://aka.ms/luis-authoring-apis) and [endpoint](https://aka.ms/luis-endpoint-apis) APIs return HTTP response codes. While response messages include information specific to a request, the HTTP response status code is general. +The [authoring](https://go.microsoft.com/fwlink/?linkid=2092087) and [endpoint](https://go.microsoft.com/fwlink/?linkid=2092356) APIs return HTTP response codes. While response messages include information specific to a request, the HTTP response status code is general. ## Common status codes -The following table lists some of the most common HTTP response status codes for the [authoring](https://aka.ms/luis-authoring-apis) and [endpoint](https://aka.ms/luis-endpoint-apis) APIs: +The following table lists some of the most common HTTP response status codes for the [authoring](https://go.microsoft.com/fwlink/?linkid=2092087) and [endpoint](https://go.microsoft.com/fwlink/?linkid=2092356) APIs: |Code|API|Explanation| |:--|--|--| diff --git a/articles/cognitive-services/LUIS/toc.yml b/articles/cognitive-services/LUIS/toc.yml index 8286852f5cea4..b556dcf35a92e 100644 --- a/articles/cognitive-services/LUIS/toc.yml +++ b/articles/cognitive-services/LUIS/toc.yml @@ -318,15 +318,15 @@ href: luis-reference-prebuilt-domains.md displayName: Calendar, Communication,Email,HomeAutomation,Note,Places, RestaurantReservation,ToDo,Utilities,Weather,Web - name: Azure CLI - href: https://aka.ms/az-cli-cognitiveservices + href: https://go.microsoft.com/fwlink/?linkid=2092156 - name: Azure RM PowerShell - href: https://aka.ms/azure-powershell-cognitiveservices + href: https://go.microsoft.com/fwlink/?linkid=2092157 - name: REST APIs items: - name: Authoring V2 REST APIs - href: https://aka.ms/luis-authoring-apis + href: https://go.microsoft.com/fwlink/?linkid=2092087 - name: Endpoint V2 REST API - href: https://aka.ms/luis-endpoint-apis + href: https://go.microsoft.com/fwlink/?linkid=2092356 - name: HTTP codes displayName: 400, 401, 403, 409, 410, 414, 429 href: luis-reference-response-codes.md @@ -399,12 +399,12 @@ - name: Resources items: - name: Regional availability - href: https://azure.microsoft.com/global-infrastructure/services/ + href: https://azure.microsoft.com/global-infrastructure/services/?products=cognitive-services - name: Language and region support href: luis-language-support.md displayName: phrase list recommendations, multi-language, translator, locale, language, English, Chinese, Dutch, French, Germain, Italian, Japanese, Korean, Portuguese, Spanish, Turkish, Keigo, informal Japanese, subculture, dictation, speech, Bing Spell Check, foreign words, Hybrid languages, Tokenization, space, special character, compound words, tokens - name: Azure Roadmap - href: https://aka.ms/luis-roadmap + href: https://go.microsoft.com/fwlink/?linkid=2092089 - name: Glossary href: luis-glossary.md - name: Troubleshooting @@ -415,7 +415,7 @@ - name: Stack Overflow href: https://stackoverflow.com/questions/tagged/LUIS - name: UserVoice - href: https://aka.ms/luis-uservoice-forum + href: https://go.microsoft.com/fwlink/?linkid=2092090 - name: Search href: https://docs.microsoft.com/search/index?search=LUIS - name: Blog diff --git a/articles/cognitive-services/LUIS/troubleshooting.md b/articles/cognitive-services/LUIS/troubleshooting.md index fa14fede65f82..8eda46dd3e764 100644 --- a/articles/cognitive-services/LUIS/troubleshooting.md +++ b/articles/cognitive-services/LUIS/troubleshooting.md @@ -40,7 +40,7 @@ Yes, it is good to train your **None** intent with more utterances as you add mo See the [Bing Spell Check API V7](luis-tutorial-bing-spellcheck.md) tutorial. LUIS enforces limits imposed by Bing Spell Check API V7. ### How do I edit my LUIS app programmatically? -To edit your LUIS app programmatically, use the [Authoring API](https://aka.ms/luis-authoring-apis). See [Call LUIS authoring API](./luis-quickstart-node-add-utterance.md) and [Build a LUIS app programmatically using Node.js](./luis-tutorial-node-import-utterances-csv.md) for examples of how to call the Authoring API. The Authoring API requires that you use an [authoring key](luis-concept-keys.md#authoring-key) rather than an endpoint key. Programmatic authoring allows up to 1,000,000 calls per month and five transactions per second. For more info on the keys you use with LUIS, see [Manage keys](./luis-concept-keys.md). +To edit your LUIS app programmatically, use the [Authoring API](https://go.microsoft.com/fwlink/?linkid=2092087). See [Call LUIS authoring API](./luis-quickstart-node-add-utterance.md) and [Build a LUIS app programmatically using Node.js](./luis-tutorial-node-import-utterances-csv.md) for examples of how to call the Authoring API. The Authoring API requires that you use an [authoring key](luis-concept-keys.md#authoring-key) rather than an endpoint key. Programmatic authoring allows up to 1,000,000 calls per month and five transactions per second. For more info on the keys you use with LUIS, see [Manage keys](./luis-concept-keys.md). ### Where is the Pattern feature that provided regular expression matching? The previous **Pattern feature** is currently deprecated, replaced by **[Patterns](luis-concept-patterns.md)**. diff --git a/articles/cognitive-services/LUIS/what-is-luis.md b/articles/cognitive-services/LUIS/what-is-luis.md index 1be348c2412d5..456ba94332750 100644 --- a/articles/cognitive-services/LUIS/what-is-luis.md +++ b/articles/cognitive-services/LUIS/what-is-luis.md @@ -49,7 +49,7 @@ A LUIS app contains a domain-specific natural language model. You can start the * **Custom Entities** LUIS gives you several ways to identify your own custom intents and entities including machine-learned entities, specific or literal entities, and a combination of machine-learned and literal. ## Build the LUIS model -Build the model with the [authoring](https://aka.ms/luis-authoring-apis) APIs or with the LUIS portal. +Build the model with the [authoring](https://go.microsoft.com/fwlink/?linkid=2092087) APIs or with the LUIS portal. The LUIS model begins with categories of user intentions called **[intents](luis-concept-intent.md)**. Each intent needs examples of user **[utterances](luis-concept-utterance.md)**. Each utterance can provide a variety of data that needs to be extracted with **[entities](luis-concept-entity-types.md)**. @@ -61,7 +61,7 @@ The LUIS model begins with categories of user intentions called **[intents](luis ## Query prediction endpoint -After the model is built and published to the endpoint, the client application sends utterances to the published prediction [endpoint](https://aka.ms/luis-endpoint-apis) API. The API applies the model to the text for analysis. The API responds with the prediction results in a JSON format. +After the model is built and published to the endpoint, the client application sends utterances to the published prediction [endpoint](https://go.microsoft.com/fwlink/?linkid=2092356) API. The API applies the model to the text for analysis. The API responds with the prediction results in a JSON format. The minimum JSON endpoint response contains the query utterance, and the top scoring intent. It can also extract data such as the following **Contact Type** entity. @@ -122,6 +122,6 @@ Author a new LUIS app with a [prebuilt](luis-get-started-create-app.md) or [cust [bot-framework]: https://docs.microsoft.com/bot-framework/ [flow]: https://docs.microsoft.com/connectors/luis/ -[authoring-apis]: https://aka.ms/luis-authoring-api -[endpoint-apis]: https://aka.ms/luis-endpoint-apis +[authoring-apis]: https://go.microsoft.com/fwlink/?linkid=2092087 +[endpoint-apis]: https://go.microsoft.com/fwlink/?linkid=2092356 [qnamaker]: https://qnamaker.ai/ diff --git a/articles/cognitive-services/Speech-Service/voice-first-virtual-assistants.md b/articles/cognitive-services/Speech-Service/voice-first-virtual-assistants.md index 652215f981fc7..79d0fe123bd2a 100644 --- a/articles/cognitive-services/Speech-Service/voice-first-virtual-assistants.md +++ b/articles/cognitive-services/Speech-Service/voice-first-virtual-assistants.md @@ -19,7 +19,7 @@ Custom virtual assistants using Azure Speech Services empower developers to crea ![Conceptual diagram of the direct line speech orchestration service flow](media/voice-first-virtual-assistants/overview.png "The Speech Channel flow") -Direct Line Speech and its associated functionality for custom voice-first virtual assistants are an ideal supplement to the [Virtual Assistant Solution](https://docs.microsoft.com/azure/bot-service/bot-builder-virtual-assistant-introduction) and [Enterprise Template](https://docs.microsoft.com/azure/bot-service/bot-builder-enterprise-template-overview). Though Direct Line Speech can work with any compatible bot, these resources provide a reusable baseline for high-quality conversational experiences as well as common supporting skills and models for getting started quickly. +Direct Line Speech and its associated functionality for custom voice-first virtual assistants are an ideal supplement to the [Virtual Assistant Solution](https://docs.microsoft.com/azure/bot-service/bot-builder-virtual-assistant-introduction) and [Enterprise Template](https://docs.microsoft.com/azure/bot-service/bot-builder-virtual-assistant-introduction). Though Direct Line Speech can work with any compatible bot, these resources provide a reusable baseline for high-quality conversational experiences as well as common supporting skills and models for getting started quickly. ## Core features diff --git a/articles/cognitive-services/personalizer/csharp-quickstart-commandline-feedback-loop.md b/articles/cognitive-services/personalizer/csharp-quickstart-commandline-feedback-loop.md index 3071ecc33da4e..6ed15bf8754ef 100644 --- a/articles/cognitive-services/personalizer/csharp-quickstart-commandline-feedback-loop.md +++ b/articles/cognitive-services/personalizer/csharp-quickstart-commandline-feedback-loop.md @@ -33,7 +33,7 @@ Getting started with Personalizer involves the following steps: * You need a [Personalizer service](how-to-settings.md) to get your subscription key and endpoint service url. * [Visual Studio 2015 or 2017](https://visualstudio.microsoft.com/downloads/). -* The Microsoft.Azure.CognitiveServices.Personalizer SDK NuGet package. Installation instructions are provided below. +* The [Microsoft.Azure.CognitiveServices.Personalizer](https://go.microsoft.com/fwlink/?linkid=2092272) SDK NuGet package. Installation instructions are provided below. ## Change the model update frequency diff --git a/articles/event-grid/ensure-tags-exists-on-new-virtual-machines.md b/articles/event-grid/ensure-tags-exists-on-new-virtual-machines.md index 4ba2e2f199069..9bb49571e61be 100644 --- a/articles/event-grid/ensure-tags-exists-on-new-virtual-machines.md +++ b/articles/event-grid/ensure-tags-exists-on-new-virtual-machines.md @@ -9,7 +9,7 @@ manager: ms.service: automation ms.topic: tutorial ms.workload: infrastructure-services -ms.date: 01/14/2019 +ms.date: 05/10/2019 ms.author: eamono --- @@ -49,10 +49,13 @@ To complete this tutorial, an [Azure Automation account](../automation/automatio 4. Select **Import** and name it **Watch-VMWrite**. -5. After it has imported, select **Edit** to view the runbook source. Select the **Publish** button. +5. After it has imported, select **Edit** to view the runbook source. +6. Update the line 74 in the script to use `Tag` instead of `Tags`. -> [!NOTE] -> Line 74 in the script needs to have the line changed to `Update-AzureRmVM -ResourceGroupName $VMResourceGroup -VM $VM -Tag $Tag | Write-Verbose`. The `-Tags` parameter is now `-Tag`. + ```powershell + Update-AzureRmVM -ResourceGroupName $VMResourceGroup -VM $VM -Tag $Tag | Write-Verbose + ``` +7. Select the **Publish** button. ## Create an optional Microsoft Teams webhook @@ -64,7 +67,7 @@ To complete this tutorial, an [Azure Automation account](../automation/automatio 3. Enter **AzureAutomationIntegration** for the name, and select **Create**. -4. Copy the webhook to the clipboard, and save it. The webhook URL is used to send information to Microsoft Teams. +4. Copy the webhook URL to the clipboard, and save it. The webhook URL is used to send information to Microsoft Teams. 5. Select **Done** to save the webhook. @@ -93,14 +96,16 @@ To complete this tutorial, an [Azure Automation account](../automation/automatio 2. Click **+ Event Subscription**. 3. Configure the subscription with the following information: - - * For **Topic Type**, select **Azure Subscriptions**. - * Uncheck the **Subscribe to all event types** check box. - * Enter **AzureAutomation** for the name. - * In the **Defined Event Types** drop-down, uncheck all options except **Resource Write Success**. - * For **Endpoint Type**, select **Webhook**. - * Click **Select an endpoint**. On the **Select Web Hook** page that opens up, paste the webhook url you created for the Watch-VMWrite runbook. - * Under **FILTERS**, enter the subscription and resource group where you want to look for the new VMs created. It should look like: + 1. For **Topic Type**, select **Azure Subscriptions**. + 2. Uncheck the **Subscribe to all event types** check box. + 3. Enter **AzureAutomation** for the name. + 4. In the **Defined Event Types** drop-down, uncheck all options except **Resource Write Success**. + + > [!NOTE] + > Azure Resource Manager does not currently differentiate between Create and Update, so implementing this tutorial for all Microsoft.Resources.ResourceWriteSuccess events in your Azure Subscription could result in a high volume of calls. + 1. For **Endpoint Type**, select **Webhook**. + 2. Click **Select an endpoint**. On the **Select Web Hook** page that opens up, paste the webhook url you created for the Watch-VMWrite runbook. + 3. Under **FILTERS**, enter the subscription and resource group where you want to look for the new VMs created. It should look like: `/subscriptions//resourcegroups//providers/Microsoft.Compute/virtualMachines` 4. Select **Create** to save the Event Grid subscription. diff --git a/articles/frontdoor/front-door-tutorial-geo-filtering.md b/articles/frontdoor/front-door-tutorial-geo-filtering.md index 1bba344f6ef9e..d4434cca634d8 100644 --- a/articles/frontdoor/front-door-tutorial-geo-filtering.md +++ b/articles/frontdoor/front-door-tutorial-geo-filtering.md @@ -48,11 +48,11 @@ Create a Front Door profile by following the instructions described in [Quicksta ## Define geo-filtering match condition -Create a sample match condition that selects requests not coming from "US" using [New-AzFrontDoorMatchConditionObject](/powershell/module/az.frontdoor/new-azfrontdoormatchconditionobject) on parameters when creating a match condition. +Create a sample match condition that selects requests not coming from "US" using [New-AzFrontDoorWafMatchConditionObject](/powershell/module/az.frontdoor/new-azfrontdoorwafmatchconditionobject) on parameters when creating a match condition. Two letter country codes to country mapping are provided [here](front-door-geo-filtering.md). ```azurepowershell-interactive -$nonUSGeoMatchCondition = New-AzFrontDoorMatchConditionObject ` +$nonUSGeoMatchCondition = New-AzFrontDoorWafMatchConditionObject ` -MatchVariable RemoteAddr ` -OperatorProperty GeoMatch ` -NegateCondition $true ` @@ -61,7 +61,7 @@ $nonUSGeoMatchCondition = New-AzFrontDoorMatchConditionObject ` ## Add geo-filtering match condition to a rule with Action and Priority -Create a CustomRule object `nonUSBlockRule` based on the match condition, an Action, and a Priority using [New-AzFrontDoorCustomRuleObject](/powershell/module/az.frontdoor/new-azfrontdoorcustomruleobject). A CustomRule can have multiple MatchCondition. In this example, Action is set to Block and Priority to 1, the highest priority. +Create a CustomRule object `nonUSBlockRule` based on the match condition, an Action, and a Priority using [New-AzFrontDoorCustomRuleObject](/powershell/module/az.frontdoor/new-azfrontdoorwafcustomruleobject). A CustomRule can have multiple MatchCondition. In this example, Action is set to Block and Priority to 1, the highest priority. ``` $nonUSBlockRule = New-AzFrontDoorCustomRuleObject ` @@ -73,12 +73,12 @@ $nonUSBlockRule = New-AzFrontDoorCustomRuleObject ` ``` ## Add rules to a policy -Find the name of the resource group that contains the Front Door profile using `Get-AzResourceGroup`. Next, create a `geoPolicy` policy object containing `nonUSBlockRule` using [New-AzFrontDoorFireWallPolicy](/powershell/module/az.frontdoor/new-azfrontdoorfirewallPolicy) in the specified resource group that contains the Front Door profile. You must provide a unique name for the geo policy. +Find the name of the resource group that contains the Front Door profile using `Get-AzResourceGroup`. Next, create a `geoPolicy` policy object containing `nonUSBlockRule` using [New-AzFrontDoorWafPolicy](/powershell/module/az.frontdoor/new-azfrontdoorwafpolicy) in the specified resource group that contains the Front Door profile. You must provide a unique name for the geo policy. The below example uses the Resource Group name *myResourceGroupFD1* with the assumption that you have created the Front Door profile using instructions provided in the [Quickstart: Create a Front Door](quickstart-create-front-door.md) article. In the below example, replace the policy name *geoPolicyAllowUSOnly* with a unique policy name. ``` -$geoPolicy = New-AzFrontDoorFireWallPolicy ` +$geoPolicy = New-AzFrontDoorWafPolicy ` -Name "geoPolicyAllowUSOnly" ` -resourceGroupName myResourceGroupFD1 ` -Customrule $nonUSBlockRule ` diff --git a/articles/frontdoor/waf-front-door-configure-custom-response-code.md b/articles/frontdoor/waf-front-door-configure-custom-response-code.md index 31b57afb0c46a..b93535f837f1a 100644 --- a/articles/frontdoor/waf-front-door-configure-custom-response-code.md +++ b/articles/frontdoor/waf-front-door-configure-custom-response-code.md @@ -48,11 +48,11 @@ New-AzResourceGroup -Name myResourceGroupWAF ## Create a new WAF policy with custom response -Below is an example of creating a new WAF policy with custom response status code set to 405 and message to **You are blocked.** using [New-AzFrontDoorFireWallPolicy](/powershell/module/az.frontdoor/new-azfrontdoorfirewallPolicy). +Below is an example of creating a new WAF policy with custom response status code set to 405 and message to **You are blocked.** using [New-AzFrontDoorWafPolicy](/powershell/module/az.frontdoor/new-azfrontdoorwafpolicy). ```azurepowershell # WAF policy setting -New-AzFrontDoorFireWallPolicy ` +New-AzFrontDoorWafPolicy ` -Name myWAFPolicy ` -ResourceGroupName myResourceGroupWAF ` -EnabledState enabled ` diff --git a/articles/frontdoor/waf-front-door-configure-ip-restriction.md b/articles/frontdoor/waf-front-door-configure-ip-restriction.md index a04e1ea4ebe6a..13b1c3ce4be62 100644 --- a/articles/frontdoor/waf-front-door-configure-ip-restriction.md +++ b/articles/frontdoor/waf-front-door-configure-ip-restriction.md @@ -134,25 +134,25 @@ Install-Module -Name Az.FrontDoor Create a Front Door profile by following the instructions described in [Quickstart: Create a Front Door profile](quickstart-create-front-door.md) ### Define IP match condition -Use the [New-AzFrontDoorMatchConditionObject](/powershell/module/az.frontdoor/new-azfrontdoormatchconditionobject) command to define an IP match condition. +Use the [New-AzFrontDoorWafMatchConditionObject](/powershell/module/az.frontdoor/new-azfrontdoorwafmatchconditionobject) command to define an IP match condition. In the below example, replace *ip-address-range-1*, *ip-address-range-2* with your own range. ```powershell - $IPMatchCondition = New-AzFrontDoorMatchConditionObject ` + $IPMatchCondition = New-AzFrontDoorWafMatchConditionObject ` -MatchVariable RemoteAddr ` -OperatorProperty IPMatch ` -MatchValue ["ip-address-range-1", "ip-address-range-2"] ``` Create an IP match all condition rule ```powershell - $IPMatchALlCondition = New-AzFrontDoorMatchConditionObject ` + $IPMatchALlCondition = New-AzFrontDoorWafMatchConditionObject ` -MatchVariable RemoteAddr ` -OperatorProperty Any ``` ### Create a custom IP allow rule - Use the [New-AzFrontDoorCustomRuleObject](/powershell/module/Az.FrontDoor/New-AzFrontDoorCustomRuleObject) command to define an action and set a priority. In the following example, requests from client IPs that match the list will be allowed. + Use the [New-AzFrontDoorCustomRuleObject](/powershell/module/Az.FrontDoor/New-azfrontdoorwafcustomruleobject) command to define an action and set a priority. In the following example, requests from client IPs that match the list will be allowed. ```powershell $IPAllowRule = New-AzFrontDoorCustomRuleObject ` @@ -173,10 +173,10 @@ Create a Block all IP rule with lower priority than the previous IP allow rule. ``` ### Configure WAF policy -Find the name of the resource group that contains the Front Door profile using `Get-AzResourceGroup`. Next, configure a WAF policy with the IP block rule using [New-AzFrontDoorFireWallPolicy](/powershell/module/Az.FrontDoor/New-AzFrontDoorFireWallPolicy). +Find the name of the resource group that contains the Front Door profile using `Get-AzResourceGroup`. Next, configure a WAF policy with the IP block rule using [New-AzFrontDoorWafPolicy](/powershell/module/az.frontdoor/new-azfrontdoorwafpolicy). ```powershell - $IPAllowPolicyExamplePS = New-AzFrontDoorFireWallPolicy ` + $IPAllowPolicyExamplePS = New-AzFrontDoorWafPolicy ` -Name "IPRestrictionExamplePS" ` -resourceGroupName ` -Customrule $IPAllowRule $IPBlockAll ` diff --git a/articles/frontdoor/waf-front-door-custom-rules-powershell.md b/articles/frontdoor/waf-front-door-custom-rules-powershell.md index 2ddf2b922f2c4..9dc775347460a 100644 --- a/articles/frontdoor/waf-front-door-custom-rules-powershell.md +++ b/articles/frontdoor/waf-front-door-custom-rules-powershell.md @@ -47,19 +47,19 @@ Create a Front Door profile by following the instructions described in [Quicksta ## Custom rule based on http parameters -The following example shows how to configure a custom rule with two match conditions using [New-AzFrontDoorMatchConditionObject](/powershell/module/az.frontdoor/new-azfrontdoormatchconditionobject). Requests are from a specified site as defined by referrer, and query string does not contain "password". +The following example shows how to configure a custom rule with two match conditions using [New-AzFrontDoorWafMatchConditionObject](/powershell/module/az.frontdoor/new-azfrontdoorwafmatchconditionobject). Requests are from a specified site as defined by referrer, and query string does not contain "password". ```powershell-interactive -$referer = New-AzFrontDoorMatchConditionObject -MatchVariable RequestHeader -OperatorProperty Equal -Selector "Referer" -MatchValue "www.mytrustedsites.com/referpage.html" -$password = New-AzFrontDoorMatchConditionObject -MatchVariable QueryString -OperatorProperty Contains -MatchValue "password" +$referer = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestHeader -OperatorProperty Equal -Selector "Referer" -MatchValue "www.mytrustedsites.com/referpage.html" +$password = New-AzFrontDoorWafMatchConditionObject -MatchVariable QueryString -OperatorProperty Contains -MatchValue "password" $AllowFromTrustedSites = New-AzFrontDoorCustomRuleObject -Name "AllowFromTrustedSites" -RuleType MatchRule -MatchCondition $referer,$password -Action Allow -Priority 1 ``` ## Custom rule based on http request method -Create a rule blocking "PUT" method using [New-AzFrontDoorCustomRuleObject](/powershell/module/Az.FrontDoor/New-AzFrontDoorCustomRuleObject) as follows: +Create a rule blocking "PUT" method using [New-AzFrontDoorCustomRuleObject](/powershell/module/az.frontdoor/new-azfrontdoorwafcustomruleobject) as follows: ```powershell-interactive -$put = New-AzFrontDoorMatchConditionObject -MatchVariable RequestMethod -OperatorProperty Equal -MatchValue PUT +$put = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestMethod -OperatorProperty Equal -MatchValue PUT $BlockPUT = New-AzFrontDoorCustomRuleObject -Name "BlockPUT" -RuleType MatchRule -MatchCondition $put -Action Block -Priority 2 ``` @@ -67,7 +67,7 @@ $BlockPUT = New-AzFrontDoorCustomRuleObject -Name "BlockPUT" -RuleType MatchRule The following example creates a rule blocking requests with Url that is longer than 100 characters using Azure PowerShell: ```powershell-interactive -$url = New-AzFrontDoorMatchConditionObject -MatchVariable RequestUri -OperatorProperty GreaterThanOrEqual -MatchValue 100 +$url = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestUri -OperatorProperty GreaterThanOrEqual -MatchValue 100 $URLOver100 = New-AzFrontDoorCustomRuleObject -Name "URLOver100" -RuleType MatchRule -MatchCondition $url -Action Block -Priority 3 ``` ## Add managed Default Rule Set @@ -78,10 +78,10 @@ $managedRules = New-AzFrontDoorManagedRuleObject -Type DefaultRuleSet -Version " ``` ## Configure a security policy -Find the name of the resource group that contains the Front Door profile using `Get-AzResourceGroup`. Next, configure a security policy with created rules in the previous steps using [New-AzFrontDoorFireWallPolicy](/powershell/module/az.frontdoor/new-azfrontdoorfirewallPolicy) in the specified resource group that contains the Front Door profile. +Find the name of the resource group that contains the Front Door profile using `Get-AzResourceGroup`. Next, configure a security policy with created rules in the previous steps using [New-AzFrontDoorWafPolicy](/powershell/module/az.frontdoor/new-azfrontdoorwafpolicy) in the specified resource group that contains the Front Door profile. ```powershell-interactive -$myWAFPolicy=New-AzFrontDoorFireWallPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention +$myWAFPolicy=New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention ``` ## Link policy to a Front Door front-end host diff --git a/articles/frontdoor/waf-front-door-rate-limit-powershell.md b/articles/frontdoor/waf-front-door-rate-limit-powershell.md index 460760dd56826..944901fe4d2cd 100644 --- a/articles/frontdoor/waf-front-door-rate-limit-powershell.md +++ b/articles/frontdoor/waf-front-door-rate-limit-powershell.md @@ -51,17 +51,17 @@ Install-Module -Name Az.FrontDoor Create a Front Door profile by following the instructions described in [Quickstart: Create a Front Door profile](quickstart-create-front-door.md) ## Define url match conditions -Define a URL match condition (URL contains /promo) using [New-AzFrontDoorMatchConditionObject](/powershell/module/az.frontdoor/new-azfrontdoormatchconditionobject). +Define a URL match condition (URL contains /promo) using [New-AzFrontDoorWafMatchConditionObject](/powershell/module/az.frontdoor/new-azfrontdoorwafmatchconditionobject). The following example matches */promo* as the value of the *RequestUri* variable: ```powershell-interactive - $promoMatchCondition = New-AzFrontDoorMatchConditionObject ` + $promoMatchCondition = New-AzFrontDoorWafMatchConditionObject ` -MatchVariable RequestUri ` -OperatorProperty Contains ` -MatchValue "/promo" ``` ## Create a custom rate limit rule -Set a rate limit using [New-AzFrontDoorCustomRuleObject](/powershell/module/Az.FrontDoor/New-AzFrontDoorCustomRuleObject). +Set a rate limit using [New-AzFrontDoorCustomRuleObject](/powershell/module/az.frontdoor/new-azfrontdoorwafcustomruleobject). In the following example, the limit is set to 1000. Requests from any client to the promo page exceeding 1000 during one minute are blocked until the next minute starts. ```powershell-interactive @@ -76,14 +76,14 @@ In the following example, the limit is set to 1000. Requests from any client to ## Configure a security policy -Find the name of the resource group that contains the Front Door profile using `Get-AzureRmResourceGroup`. Next, configure a security policy with a custom rate limit rule using [New-AzFrontDoorFireWallPolicy](/powershell/module/az.frontdoor/new-azfrontdoorfirewallPolicy) in the specified resource group that contains the Front Door profile. +Find the name of the resource group that contains the Front Door profile using `Get-AzureRmResourceGroup`. Next, configure a security policy with a custom rate limit rule using [New-AzFrontDoorWafPolicy](/powershell/module/az.frontdoor/new-azfrontdoorwafpolicy) in the specified resource group that contains the Front Door profile. The below example uses the Resource Group name *myResourceGroupFD1* with the assumption that you have created the Front Door profile using instructions provided in the [Quickstart: Create a Front Door](quickstart-create-front-door.md) article. - using [New-AzFrontDoorFireWallPolicy](/powershell/module/Az.FrontDoor/New-AzFrontDoorFireWallPolicy). + using [New-AzFrontDoorWafPolicy](/powershell/module/az.frontdoor/new-azfrontdoorwafpolicy). ```powershell-interactive - $ratePolicy = New-AzFrontDoorFireWallPolicy ` + $ratePolicy = New-AzFrontDoorWafPolicy ` -Name "RateLimitPolicyExamplePS" ` -resourceGroupName myResourceGroupFD1 ` -Customrule $promoRateLimitRule ` diff --git a/articles/hdinsight/hdinsight-hadoop-development-using-azure-resource-manager.md b/articles/hdinsight/hdinsight-hadoop-development-using-azure-resource-manager.md index 44fb2a23d41a3..6208a8221aee3 100644 --- a/articles/hdinsight/hdinsight-hadoop-development-using-azure-resource-manager.md +++ b/articles/hdinsight/hdinsight-hadoop-development-using-azure-resource-manager.md @@ -103,7 +103,7 @@ The following table lists the ASM cmdlets and their names in Resource Manager mo | Get-AzureHDInsightJob |[Get-AzHDInsightJob](https://docs.microsoft.com/powershell/module/az.hdinsight/get-azhdinsightjob) | | Get-AzureHDInsightJobOutput |[Get-AzHDInsightJobOutput](https://docs.microsoft.com/powershell/module/az.hdinsight/get-azhdinsightjoboutput) | | Get-AzureHDInsightProperty |[Get-AzHDInsightProperty](https://docs.microsoft.com/powershell/module/az.hdinsight/get-azhdinsightproperty) | -| Grant-AzureHDInsightHttpServicesAccess |[Grant-AzHDInsightHttpServicesAccess](https://docs.microsoft.com/powershell/module/az.hdinsight/grant-azhdinsighthttpservicesaccess) | +| Grant-AzureHDInsightHttpServicesAccess |[Grant-AzureRmHDInsightHttpServicesAccess](https://docs.microsoft.com/powershell/module/azurerm.hdinsight/grant-azurermhdinsighthttpservicesaccess) | | Grant-AzureHdinsightRdpAccess |[Grant-AzHDInsightRdpServicesAccess](https://docs.microsoft.com/powershell/module/az.hdinsight/grant-azhdinsightrdpservicesaccess) | | Invoke-AzureHDInsightHiveJob |[Invoke-AzHDInsightHiveJob](https://docs.microsoft.com/powershell/module/az.hdinsight/invoke-azhdinsighthivejob) | | New-AzureHDInsightCluster |[New-AzHDInsightCluster](https://docs.microsoft.com/powershell/module/az.hdinsight/new-azhdinsightcluster) | @@ -114,7 +114,7 @@ The following table lists the ASM cmdlets and their names in Resource Manager mo | New-AzureHDInsightSqoopJobDefinition |[New-AzHDInsightSqoopJobDefinition](https://docs.microsoft.com/powershell/module/az.hdinsight/new-azhdinsightsqoopjobdefinition) | | New-AzureHDInsightStreamingMapReduceJobDefinition |[New-AzHDInsightStreamingMapReduceJobDefinition](https://docs.microsoft.com/powershell/module/az.hdinsight/new-azhdinsightstreamingmapreducejobdefinition) | | Remove-AzureHDInsightCluster |[Remove-AzHDInsightCluster](https://docs.microsoft.com/powershell/module/az.hdinsight/remove-azhdinsightcluster) | -| Revoke-AzureHDInsightHttpServicesAccess |[Revoke-AzHDInsightHttpServicesAccess](https://docs.microsoft.com/powershell/module/az.hdinsight/revoke-azhdinsighthttpservicesaccess) | +| Revoke-AzureHDInsightHttpServicesAccess |[Revoke-AzHDInsightHttpServicesAccess](https://docs.microsoft.com/powershell/module/azurerm.hdinsight/revoke-azurermhdinsighthttpservicesaccess) | | Revoke-AzureHdinsightRdpAccess |[Revoke-AzHDInsightRdpServicesAccess](https://docs.microsoft.com/powershell/module/az.hdinsight/revoke-azhdinsightrdpservicesaccess) | | Set-AzureHDInsightClusterSize |[Set-AzHDInsightClusterSize](https://docs.microsoft.com/powershell/module/az.hdinsight/set-azhdinsightclustersize) | | Set-AzureHDInsightDefaultStorage |[Set-AzHDInsightDefaultStorage](https://docs.microsoft.com/powershell/module/az.hdinsight/set-azhdinsightdefaultstorage) | diff --git a/articles/lab-services/automate-add-lab-user.md b/articles/lab-services/automate-add-lab-user.md index bc1c57fc26dc8..7833769f87be6 100644 --- a/articles/lab-services/automate-add-lab-user.md +++ b/articles/lab-services/automate-add-lab-user.md @@ -82,7 +82,7 @@ The following sample Resource Manager template specifies a user to be added to t ``` -If you're assigning the role in the same template that is creating the lab, remember to add a dependency between the role assignment resource and the lab. For more information, see [Defining dependencies in Azure Resource Manager Templates](/azure-resource-manager/resource-group-define-dependencies.md) article. +If you're assigning the role in the same template that is creating the lab, remember to add a dependency between the role assignment resource and the lab. For more information, see [Defining dependencies in Azure Resource Manager Templates](../azure-resource-manager/resource-group-define-dependencies.md) article. ### Role Assignment Resource Information The role assignment resource needs to specify the type and name. diff --git a/articles/machine-learning/service/how-to-manage-quotas.md b/articles/machine-learning/service/how-to-manage-quotas.md index 633b18a529f99..fad6b294b35d1 100644 --- a/articles/machine-learning/service/how-to-manage-quotas.md +++ b/articles/machine-learning/service/how-to-manage-quotas.md @@ -10,7 +10,7 @@ ms.topic: conceptual ms.reviewer: jmartens author: nishankgu ms.author: nigup -ms.date: 12/04/2018 +ms.date: 05/10/2019 ms.custom: seodec18 --- @@ -48,9 +48,9 @@ For a more detailed and up-to-date list of quota limits, check the Azure-wide qu For Azure Machine Learning Compute, there is a default quota limit on both the number of cores and number of unique compute resources allowed per region in a subscription. This quota is separate from the VM core quota above and the core limits are not shared currently between the two resource types. Available resources: -+ Dedicated cores per region have a default limit of 10 - 24. The number of dedicated cores per subscription can be increased. Contact Azure support to discuss increase options. ++ Dedicated cores per region have a default limit of 24 - 300 depending on your subscription offer type. The number of dedicated cores per subscription can be increased. Contact Azure support to discuss increase options. -+ Low-priority cores per region have a default limit of 10 - 24. The number of low-priority cores per subscription can be increased. Contact Azure support to discuss increase options. ++ Low-priority cores per region have a default limit of 24 - 300 depending on your subscription offer type. The number of low-priority cores per subscription can be increased. Contact Azure support to discuss increase options. + Clusters per region have a default limit of 100 and a maximum limit of 200. Contact Azure support if you want to request an increase beyond this limit. @@ -62,10 +62,12 @@ Available resources: | Maximum nodes in a single Azure Machine Learning Compute (AmlCompute) resource | 100 nodes | | Maximum GPU MPI processes per node | 1-4 | | Maximum GPU workers per node | 1-4 | -| Maximum job lifetime | 7 days1 | +| Maximum job lifetime | 90 days1 | +| Maximum job lifetime on a Low Priority Node | 1 day2 | | Maximum parameter servers per node | 1 | 1 The maximum lifetime refers to the time that a run start and when it finishes. Completed runs persist indefinitely; data for runs not completed within the maximum lifetime is not accessible. +2 Jobs on a Low Priority node could be pre-empted any time there is a capacity constraint. It is recommended to implement checkpointing in your job. ### Container instances @@ -76,20 +78,20 @@ There is also a limit on the number of container instances that you can spin up For a more detailed and up-to-date list of quota limits, check the Azure-wide quota article [here](https://docs.microsoft.com/azure/azure-subscription-service-limits#container-instances-limits). ### Storage -There is a limit on the number of storage accounts per region as well in a given subscription. The default limit is 200 and includes both Standard and Premium Storage accounts. If you require more than 200 storage accounts in a given region, make a request through [Azure Support](https://ms.portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade/newsupportrequest/). The Azure Storage team will review your business case and may approve up to 250 storage accounts for a given region. +There is a limit on the number of storage accounts per region as well in a given subscription. The default limit is 200 and includes both Standard and Premium Storage accounts. If you require more than 200 storage accounts in a given region, make a request through [Azure Support](https://ms.portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade/newsupportrequest/). The Azure Storage team will review your business case and may approve up to 250 storage accounts for a given region. ## Find your quotas Viewing your quota for various resources, such as Virtual Machines, Storage, Network, is easy through the Azure portal. -1. On the left pane, select **All services** and then select **Subscriptions** under the General category. +1. On the left pane, select **All services** and then select **Subscriptions** under the General category. 1. From the list of subscriptions, select the subscription whose quota you are looking for. **There is a caveat**, specifically for viewing the Azure Machine Learning Compute quota. As mentioned above, that quota is separate from the compute quota on your subscription. -1. On the left pane, select **Machine Learning service** and then select any workspace from the list shown +1. On the left pane, select **Machine Learning service** and then select any workspace from the list shown 1. On the next blade, under the **Support + troubleshooting section** select **Usage + quotas** to view your current quota limits and usage. @@ -98,9 +100,9 @@ Viewing your quota for various resources, such as Virtual Machines, Storage, Net ## Request quota increases -If you want to raise the limit or quota above the default limit, [open an online customer support request](https://ms.portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade/newsupportrequest/) at no charge. +If you want to raise the limit or quota above the default limit, [open an online customer support request](https://ms.portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade/newsupportrequest/) at no charge. -The limits can't be raised above the maximum limit value shown in the tables. If there is no maximum limit, then the resource doesn't have adjustable limits. [This](https://docs.microsoft.com/azure/azure-resource-manager/resource-manager-quota-errors) article covers the quota increase process in more detail. +The limits can't be raised above the maximum limit value shown in the tables. If there is no maximum limit, then the resource doesn't have adjustable limits. [This](https://docs.microsoft.com/azure/azure-resource-manager/resource-manager-quota-errors) article covers the quota increase process in more detail. When requesting a quota increase, you need to select the service you are requesting to raise the quota against, which could be services such as Machine Learning service quota, Container instances or Storage quota. In addition for Azure Machine Learning Compute, you can simply click on the **Request Quota** button while viewing the quota following the steps above. diff --git a/articles/media/azure-netapp-files/azure-netapp-files-capacity-pool-with-nine-vols.png b/articles/media/azure-netapp-files/azure-netapp-files-capacity-pool-with-nine-vols.png new file mode 100644 index 0000000000000..c48a8ea3314c4 Binary files /dev/null and b/articles/media/azure-netapp-files/azure-netapp-files-capacity-pool-with-nine-vols.png differ diff --git a/articles/media/azure-netapp-files/azure-netapp-files-capacity-pool-with-three-vols.png b/articles/media/azure-netapp-files/azure-netapp-files-capacity-pool-with-three-vols.png new file mode 100644 index 0000000000000..c10e3ac79ed21 Binary files /dev/null and b/articles/media/azure-netapp-files/azure-netapp-files-capacity-pool-with-three-vols.png differ diff --git a/articles/media/azure-netapp-files/azure-netapp-files-networ-hybrid-environment.png b/articles/media/azure-netapp-files/azure-netapp-files-networ-hybrid-environment.png new file mode 100644 index 0000000000000..2c9554fc3fc15 Binary files /dev/null and b/articles/media/azure-netapp-files/azure-netapp-files-networ-hybrid-environment.png differ diff --git a/articles/media/azure-netapp-files/azure-netapp-files-network-azure-native-environment.png b/articles/media/azure-netapp-files/azure-netapp-files-network-azure-native-environment.png new file mode 100644 index 0000000000000..afc76e8b2e996 Binary files /dev/null and b/articles/media/azure-netapp-files/azure-netapp-files-network-azure-native-environment.png differ diff --git a/articles/media/azure-netapp-files/azure-netapp-files-service-levels.png b/articles/media/azure-netapp-files/azure-netapp-files-service-levels.png new file mode 100644 index 0000000000000..be396cbe1a2b9 Binary files /dev/null and b/articles/media/azure-netapp-files/azure-netapp-files-service-levels.png differ diff --git a/articles/media/azure-netapp-files/azure-netapp-files-total-used-capacity.png b/articles/media/azure-netapp-files/azure-netapp-files-total-used-capacity.png new file mode 100644 index 0000000000000..a5bdf928e1438 Binary files /dev/null and b/articles/media/azure-netapp-files/azure-netapp-files-total-used-capacity.png differ diff --git a/articles/search/cognitive-search-skill-ocr.md b/articles/search/cognitive-search-skill-ocr.md index 9d35a86a48b72..7102e05a553dc 100644 --- a/articles/search/cognitive-search-skill-ocr.md +++ b/articles/search/cognitive-search-skill-ocr.md @@ -44,6 +44,7 @@ Parameters are case-sensitive. | detectOrientation | Enables autodetection of image orientation.
Valid values: true / false.| |defaultLanguageCode |

Language code of the input text. Supported languages include:
zh-Hans (ChineseSimplified)
zh-Hant (ChineseTraditional)
cs (Czech)
da (Danish)
nl (Dutch)
en (English)
fi (Finnish)
fr (French)
de (German)
el (Greek)
hu (Hungarian)
it (Italian)
ja (Japanese)
ko (Korean)
nb (Norwegian)
pl (Polish)
pt (Portuguese)
ru (Russian)
es (Spanish)
sv (Swedish)
tr (Turkish)
ar (Arabic)
ro (Romanian)
sr-Cyrl (SerbianCyrillic)
sr-Latn (SerbianLatin)
sk (Slovak).
unk (Unknown)

If the language code is unspecified or null, the language will be set to English. If the language is explicitly set to "unk", the language will be auto-detected.

| | textExtractionAlgorithm | "printed" or "handwritten". The "handwritten" text recognition OCR algorithm is currently in preview and only supported in English. | +|lineEnding | The value to use between each detected line. Possible values: 'Space','CarriageReturn','LineFeed'. The default is 'Space' | ## Skill inputs diff --git a/articles/search/cognitive-search-skill-shaper.md b/articles/search/cognitive-search-skill-shaper.md index fd53a762d1220..206bf92290d5f 100644 --- a/articles/search/cognitive-search-skill-shaper.md +++ b/articles/search/cognitive-search-skill-shaper.md @@ -25,7 +25,7 @@ The API version determines the depth of shaping you can achieve. | 2019-05-06-Preview version of the REST API (.NET SDK is not supported) | Complex objects, multiple levels deep, in one **Shaper** skill definition. | | 2019-05-06** (generally available), 2017-11-11-Preview| Complex objects, one level deep. A multi-level shape requires chaining several shaper steps together.| -The preview **Shaper** skill, illustrated in [scenario 3](#nested-complex-types), adds a new optional *sourceContext* property to the input. The *source* and *sourceContext* properties are mutually exclusive. If the input is at the context of the skill, simply use *source*. If the input is at a *different* context than the skill context, use the *sourceContext*. The *sourceContext* requires you to define a nested input with the specific element being addressed as the source. +As provided by `api-version=2019-05-06-Preview`, the **Shaper** skill illustrated in [scenario 3](#nested-complex-types) adds a new optional *sourceContext* property to the input. The *source* and *sourceContext* properties are mutually exclusive. If the input is at the context of the skill, simply use *source*. If the input is at a *different* context than the skill context, use the *sourceContext*. The *sourceContext* requires you to define a nested input with the specific element being addressed as the source. In the response, for all API versions, the output name is always "output". Internally, the pipeline can map a different name, such as "analyzedText" as shown in the examples below, but the **Shaper** skill itself returns "output" in the response. This might be important if you are debugging enriched documents and notice the naming discrepancy, or if you build a custom skill and are structuring the response yourself. @@ -192,7 +192,7 @@ In this case, the **Shaper** flattens all chapter titles to create a single arra ## Scenario 3: input consolidation from nested contexts > [!NOTE] -> Nested structures supported in the api-version=2019-05-06-Preview can be used in a [knowledge store](knowledge-store-concept-intro.md) or in an Azure Search index. +> Nested structures supported in the [REST API version 2019-05-06-Preview](search-api-preview.md) can be used in a [knowledge store](knowledge-store-concept-intro.md) or in an Azure Search index. Imagine you have the title, chapters, and contents of a book and have run entity recognition and key phrases on the contents and now need to aggregate results from the different skills into a single shape with the chapter name, entities, and key phrases. diff --git a/articles/search/index-add-suggesters.md b/articles/search/index-add-suggesters.md index ea0abee8a55df..a1232c6a25fb6 100644 --- a/articles/search/index-add-suggesters.md +++ b/articles/search/index-add-suggesters.md @@ -115,7 +115,7 @@ As previously noted, you can use a suggester for suggested queries, autocomplete A suggester is referenced on the request along with the operation. For example, on a GET REST call, specify either `suggest` or `autocomplete` on the documents collection. For REST, after a suggester is created, use the [Suggestions API](https://docs.microsoft.com/rest/api/searchservice/suggestions) or the [Autocomplete API](https://docs.microsoft.com/rest/api/searchservice/autocomplete) in your query logic. -For .NET, use [SuggestWithHttpMessagesAsync](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.idocumentsoperations.suggestwithhttpmessagesasync?view=azure-dotnet-preview) or [AutocompleteWithHttpMessagesAsync](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.idocumentsoperations.autocompletewithhttpmessagesasync?view=azure-dotnet-preview&viewFallbackFrom=azure-dotnet). +For .NET, use [SuggestWithHttpMessagesAsync](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.idocumentsoperations.suggestwithhttpmessagesasync?view=azure-dotnet) or [AutocompleteWithHttpMessagesAsync](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.idocumentsoperations.autocompletewithhttpmessagesasync?view=azure-dotnet&viewFallbackFrom=azure-dotnet). For an example demonstrating both requests, see [Example for adding autocomplete and suggestions in Azure Search](search-autocomplete-tutorial.md). diff --git a/articles/search/knowledge-store-concept-intro.md b/articles/search/knowledge-store-concept-intro.md index 59942228ce06e..30ea5ad2c1361 100644 --- a/articles/search/knowledge-store-concept-intro.md +++ b/articles/search/knowledge-store-concept-intro.md @@ -1,5 +1,5 @@ --- -title: Knowledge Store introduction and overview - Azure Search +title: Knowledge Store introduction and overview (preview) - Azure Search description: Send enriched documents to Azure storage where you can view, reshape, and consume enriched documents in Azure Search and in other applications. manager: cgronlun author: HeidiSteen @@ -13,7 +13,11 @@ ms.author: heidist --- # What is Knowledge Store in Azure Search? -Knowledge Store is an optional feature of Azure Search, currently in public preview, that saves enriched documents and metadata created by an AI-based indexing pipeline [(cognitive search)](cognitive-search-concept-intro.md). Knowledge Store is backed by an Azure storage account that you configure as part of the pipeline. When enabled, the search service uses this storage account to cache a representation of each enriched document. +> [!Note] +> Knowledge Store is in preview and not intended for production use. The [REST API version 2019-05-06-Preview](search-api-preview.md) provides this feature. There is no .NET SDK support at this time. +> + +Knowledge Store is an optional feature of Azure Search that saves enriched documents and metadata created by an AI-based indexing pipeline [(cognitive search)](cognitive-search-concept-intro.md). Knowledge Store is backed by an Azure storage account that you configure as part of the pipeline. When enabled, the search service uses this storage account to cache a representation of each enriched document. If you have used cognitive search in the past, you already know that skillsets can be used to move a document through a sequence of enrichments. The outcome can be an Azure Search index, or (new in this preview) projections in a knowledge store. diff --git a/articles/search/knowledge-store-howto.md b/articles/search/knowledge-store-howto.md index e8c08b947b65e..8c5530509666f 100644 --- a/articles/search/knowledge-store-howto.md +++ b/articles/search/knowledge-store-howto.md @@ -9,9 +9,13 @@ ms.topic: quickstart ms.date: 05/08/2019 ms.author: heidist --- -# How to get started with Knowledge Store +# How to get started with Knowledge Store in Azure Search -[Knowledge Store](knowledge-store-concept-intro.md) is a new preview feature in Azure Search that saves AI enrichments created in an indexing pipeline for knowledge mining in other apps. You can also use saved enrichments to understand and refine an Azure Search indexing pipeline. +> [!Note] +> Knowledge Store is in preview and not intended for production use. The [REST API version 2019-05-06-Preview](search-api-preview.md) provides this feature. There is no .NET SDK support at this time. +> + +[Knowledge Store](knowledge-store-concept-intro.md) saves AI enrichments created during indexing to your Azure storage account for downstream knowledge mining in other apps. You can also use saved enrichments to understand and refine an Azure Search indexing pipeline. A knowledge store is defined by a skillset. For regular Azure Search full-text search scenarios, the purpose of a skillset is providing AI enrichments to make content more searchable. For knowledge mining scenarios, the role of a skillset is creating, populating, and storing multiple data structures for analysis or modeling in other apps and processes. diff --git a/articles/search/knowledge-store-projection-overview.md b/articles/search/knowledge-store-projection-overview.md index 20de5d5800315..5d3300eff74de 100644 --- a/articles/search/knowledge-store-projection-overview.md +++ b/articles/search/knowledge-store-projection-overview.md @@ -1,5 +1,5 @@ --- -title: Working with projections in a knowledge store - Azure Search +title: Working with projections in a knowledge store (preview) - Azure Search description: Save and shape your enriched data from the AI indexing pipeline for use in scenarios other than search manager: eladz author: vkurpad @@ -13,9 +13,13 @@ ms.custom: seomay2019 --- # Working with projections in a knowledge store in Azure Search +> [!Note] +> Knowledge Store is in preview and not intended for production use. The [REST API version 2019-05-06-Preview](search-api-preview.md) provides this feature. There is no .NET SDK support at this time. +> + Azure Search enables content enrichment through AI cognitive skills and custom skills as part of indexing. Enrichments add structure to your documents and make searching more effective. In many instances, the enriched documents are useful for scenarios other than search, such as for knowledge mining. -Projections, a component of [knowledge store (preview)](knowledge-store-concept-intro.md), are views of enriched documents that can be saved to physical storage for knowledge mining purposes. A projection lets you "project" your data into a shape that aligns with your needs, preserving relationships so that tools like Power BI can read the data with no additional effort. +Projections, a component of [Knowledge Store](knowledge-store-concept-intro.md), are views of enriched documents that can be saved to physical storage for knowledge mining purposes. A projection lets you "project" your data into a shape that aligns with your needs, preserving relationships so that tools like Power BI can read the data with no additional effort. Projections can be tabular, with data stored in rows and columns in Azure Table storage, or JSON objects stored in Azure Blob storage. You can define multiple projections of your data as it is being enriched. This is useful when you want the same data shaped differently for individual use cases. diff --git a/articles/search/search-api-migration.md b/articles/search/search-api-migration.md index 0e5a1b1764952..6daa58f1a9740 100644 --- a/articles/search/search-api-migration.md +++ b/articles/search/search-api-migration.md @@ -67,7 +67,9 @@ If either of these situations apply to you, then you may need to change your cod If you are upgrading from a preview API version, the above also applies, but you must also be aware that some preview features are not available in version 2019-05-06: -* ["More like this" queries](search-more-like-this.md) continue to be a preview-only feature. +* ["More like this" queries](search-more-like-this.md) +* [CSV blob indexing](search-howto-index-csv-blobs.md) +* [MongoDB API support for Cosmos DB indexers](search-howto-index-cosmosdb.md) If your code uses these features, you will not be able to upgrade to API version 2019-05-06 without removing your usage of them. diff --git a/articles/search/search-api-preview.md b/articles/search/search-api-preview.md index 5dd0d1a25ed80..99c7f9c8ec0f0 100644 --- a/articles/search/search-api-preview.md +++ b/articles/search/search-api-preview.md @@ -33,6 +33,8 @@ This article describes the `api-version=2019-05-06-Preview` version of Azure Sea Features announced in earlier previews are still in public preview. If you're calling an API with an earlier preview api-version, you can continue to use that version or switch to `2019-05-06-Preview` with no changes to expected behavior. + [moreLikeThis query parameter](search-more-like-this.md) finds documents that are relevant to a specific document. This feature has been in earlier previews. +* [CSV blob indexing](search-howto-index-csv-blobs.md) creates one document per line, as opposed to one document per text blob. +* [MongoDB API support for Cosmos DB indexers](search-howto-index-cosmosdb.md) is in preview. ## How to call a preview API diff --git a/articles/search/search-api-versions.md b/articles/search/search-api-versions.md index e22a5b6055fdb..b416dac9787da 100644 --- a/articles/search/search-api-versions.md +++ b/articles/search/search-api-versions.md @@ -29,7 +29,7 @@ Below is a snapshot of the current versions of all programming interfaces to Azu | Interfaces | Most recent major version | Status | | --- | --- | --- | | [.NET SDK](https://aka.ms/search-sdk) |9.0 |Generally Available, released May 2019 | -| [.NET SDK Preview](https://aka.ms/search-sdk-preview) |8.0.0-preview |Preview, released April 2019 | +| [.NET SDK Preview](https://aka.ms/search-sdk-preview) |8.0-preview |Preview, released April 2019 | | [Service REST API](https://docs.microsoft.com/rest/api/searchservice/) |2019-05-06 |Generally Available | | [Service REST API 2019-05-06-Preview](search-api-preview.md) |2019-05-06-Preview |Preview | | [.NET Management SDK](https://aka.ms/search-mgmt-sdk) |3.0 |Generally Available | diff --git a/articles/search/search-autocomplete-tutorial.md b/articles/search/search-autocomplete-tutorial.md index 17b4e52dcafd6..9df08478d1763 100644 --- a/articles/search/search-autocomplete-tutorial.md +++ b/articles/search/search-autocomplete-tutorial.md @@ -160,7 +160,7 @@ Open the **HomeController.cs** file under the Controllers directory. The first thing you might notice is a method at the top of the class called `InitSearch`. This creates an authenticated HTTP index client to the Azure Search service. For more information, see [How to use Azure Search from a .NET Application](https://docs.microsoft.com/azure/search/search-howto-dotnet-sdk). -On line 41, notice the Suggest function. It is based on the [DocumentsOperationsExtensions.Suggest method](/dotnet/api/microsoft.azure.search.documentsoperationsextensions.suggest?view=azure-dotnet-preview). +On line 41, notice the Suggest function. It is based on the [DocumentsOperationsExtensions.Suggest method](/dotnet/api/microsoft.azure.search.documentsoperationsextensions.suggest?view=azure-dotnet). ```csharp public ActionResult Suggest(bool highlights, bool fuzzy, string term) @@ -194,7 +194,7 @@ public ActionResult Suggest(bool highlights, bool fuzzy, string term) The Suggest function takes two parameters that determine whether hit highlights are returned or fuzzy matching is used in addition to the search term input. The method creates a [SuggestParameters object](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.models.suggestparameters?view=azure-dotnet), which is then passed to the Suggest API. The result is then converted to JSON so it can be shown in the client. -On line 69, notice the Autocomplete function. It is based on the [DocumentsOperationsExtensions.Autocomplete method](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.documentsoperationsextensions.autocomplete?view=azure-dotnet-preview). +On line 69, notice the Autocomplete function. It is based on the [DocumentsOperationsExtensions.Autocomplete method](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.documentsoperationsextensions.autocomplete?view=azure-dotnet). ```csharp public ActionResult AutoComplete(string term) diff --git a/articles/search/search-dotnet-sdk-migration-version-9.md b/articles/search/search-dotnet-sdk-migration-version-9.md index a2d56d1b2b775..52b5dfe438bb1 100644 --- a/articles/search/search-dotnet-sdk-migration-version-9.md +++ b/articles/search/search-dotnet-sdk-migration-version-9.md @@ -7,11 +7,11 @@ services: search ms.service: search ms.devlang: dotnet ms.topic: conceptual -ms.date: 05/06/2019 +ms.date: 05/10/2019 ms.author: brjohnst ms.custom: seodec2018 --- -# Upgrading to the Azure Search .NET SDK version 9 +# Upgrade to the Azure Search .NET SDK version 9 If you're using version 7.0-preview or older of the [Azure Search .NET SDK](https://aka.ms/search-sdk), this article will help you upgrade your application to use version 9. @@ -64,7 +64,7 @@ There are several breaking changes in version 9 that may require code changes in > [!NOTE] > The list of changes below is not exhaustive. Some changes will likely not result in build errors, but are technically breaking since they break binary compatibility with assemblies that depend on earlier versions of the Azure Search .NET SDK assemblies. Such changes are not listed below. Please rebuild your application when upgrading to version 9 to avoid any binary compatibility issues. -### Making properties immutable +### Immutable properties The public properties of several model classes are now immutable. If you need to create custom instances of these classes for testing, you can use the new parameterized constructors: @@ -97,7 +97,7 @@ This is because these properties must now be `null` in the case of complex field The parameterless constructor of `Field` has been made `internal`. From now on, every `Field` requires an explicit name and data type at the time of construction. -### Simplification of batch and results types +### Simplified batch and results types In version 7.0-preview and earlier, the various classes that encapsulate groups of documents were structured into parallel class hierarchies: @@ -112,7 +112,7 @@ The derived types without a generic type parameter were meant to be used in "dyn Starting with version 8.0-preview, the base classes and non-generic derived classes have all been removed. For dynamically-typed scenarios, you can use `IndexBatch`, `DocumentSearchResult`, and so on. -### Removal of ExtensibleEnum +### Removed ExtensibleEnum The `ExtensibleEnum` base class has been removed. All classes that derived from it are now structs, such as `AnalyzerName`, `DataType`, and `DataSourceType` for example. Their `Create` methods have also been removed. You can just remove calls to `Create` since these types are implicitly convertible from strings. If that results in compiler errors, you can explicitly invoke the conversion operator via casting to disambiguate types. For example, you can change code like this: @@ -144,7 +144,7 @@ var index = new Index() Properties that held optional values of these types are now explicitly typed as nullable so they continue to be optional. -### Removal of FacetResults and HitHighlights +### Removed FacetResults and HitHighlights The `FacetResults` and `HitHighlights` classes have been removed. Facet results are now typed as `IDictionary>` and hit highlights as `IDictionary>`. A quick way to resolve build errors introduced by this change is to add `using` aliases at the top of each file that uses the removed types. For example: diff --git a/articles/search/search-howto-index-cosmosdb.md b/articles/search/search-howto-index-cosmosdb.md index 440f220e2249d..b8b3b576ac381 100644 --- a/articles/search/search-howto-index-cosmosdb.md +++ b/articles/search/search-howto-index-cosmosdb.md @@ -14,6 +14,12 @@ ms.custom: seodec2018 --- # How to index Cosmos DB using an Azure Search indexer + +> [!Note] +> MongoDB API support is in preview and not intended for production use. The [REST API version 2019-05-06-Preview](search-api-preview.md) provides this feature. There is no portal or .NET SDK support at this time. +> +> SQL API is generally available. + This article shows you how to configure an Azure Cosmos DB [indexer](search-indexer-overview.md) to extract content and make it searchable in Azure Search. This workflow creates an Azure Search index and loads it with existing text extracted from Azure Cosmos DB. Because terminology can be confusing, it's worth noting that [Azure Cosmos DB indexing](https://docs.microsoft.com/azure/cosmos-db/index-overview) and [Azure Search indexing](search-what-is-an-index.md) are distinct operations, unique to each service. Before you start Azure Search indexing, your Azure Cosmos DB database must already exist and contain data. @@ -21,7 +27,7 @@ Because terminology can be confusing, it's worth noting that [Azure Cosmos DB in You can use the [portal](#cosmos-indexer-portal), REST APIs, or .NET SDK to index Cosmos content. The Cosmos DB indexer in Azure Search can crawl [Azure Cosmos items](https://docs.microsoft.com/azure/cosmos-db/databases-containers-items#azure-cosmos-items) accessed through these protocols: * [SQL API](https://docs.microsoft.com/azure/cosmos-db/sql-api-query-reference) -* [MongoDB API](https://docs.microsoft.com/azure/cosmos-db/mongodb-introduction) (Azure Search support for this API is in public preview) +* [MongoDB API (preview)](https://docs.microsoft.com/azure/cosmos-db/mongodb-introduction) > [!Note] > User Voice has existing items for additional API support. You can cast a vote for the Cosmos APIs you would like to see supported in Azure Search: [Table API](https://feedback.azure.com/forums/263029-azure-search/suggestions/32759746-azure-search-should-be-able-to-index-cosmos-db-tab), [Graph API](https://feedback.azure.com/forums/263029-azure-search/suggestions/13285011-add-graph-databases-to-your-data-sources-eg-neo4), @@ -114,7 +120,7 @@ When indexing is complete, you can use [Search explorer](search-explorer.md) to You can use the REST API to index Azure Cosmos DB data, following a three-part workflow common to all indexers in Azure Search: create a data source, create an index, create an indexer. Data extraction from Cosmos storage occurs when you submit the Create Indexer request. After this request is finished, you will have a queryable index. -If you are evaluating MongoDB, you must use the REST API to create the data source. +If you are evaluating MongoDB, you must use the REST `api-version=2019-05-06-Preview` to create the data source. In your Cosmos DB account you can choose whether you want the collection to automatically index all documents. By default, all documents are automatically indexed, but you can turn off automatic indexing. When indexing is turned off, documents can be accessed only through their self-links or by queries by using the document ID. Azure Search requires Cosmos DB automatic indexing to be turned on in the collection that will be indexed by Azure Search. @@ -275,7 +281,7 @@ For more details on the Create Indexer API, check out [Create Indexer](https://d ## Use .NET -The .NET SDK has fully parity with the REST API. We recommend that you review the previous REST API section to learn concepts, workflow, and requirements. You can then refer to following .NET API reference documentation to implement a JSON indexer in managed code. +The generally available .NET SDK has full parity with the generally available REST API. We recommend that you review the previous REST API section to learn concepts, workflow, and requirements. You can then refer to following .NET API reference documentation to implement a JSON indexer in managed code. + [microsoft.azure.search.models.datasource](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.models.datasource?view=azure-dotnet) + [microsoft.azure.search.models.datasourcetype](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.models.datasourcetype?view=azure-dotnet) @@ -351,12 +357,6 @@ The following example creates a data source with a soft-deletion policy: } } -## Watch this video - -In this slightly older 7-minute video, Azure Cosmos DB Program Manager Andrew Liu demonstrates how to add an Azure Search index to an Azure Cosmos DB container. The portal pages shown in the video are outdated, but the information is still relevant. - ->[!VIDEO https://www.youtube.com/embed/OyoYu1Wzk4w] - ## Next steps Congratulations! You have learned how to integrate Azure Cosmos DB with Azure Search using an indexer. diff --git a/articles/search/search-howto-index-csv-blobs.md b/articles/search/search-howto-index-csv-blobs.md index 43a6f44d38d96..1d454f40f09b5 100644 --- a/articles/search/search-howto-index-csv-blobs.md +++ b/articles/search/search-howto-index-csv-blobs.md @@ -14,6 +14,11 @@ ms.topic: conceptual ms.custom: seodec2018 --- # Indexing CSV blobs with Azure Search blob indexer + +> [!Note] +> delimitedText parsing mode is in preview and not intended for production use. The [REST API version 2019-05-06-Preview](search-api-preview.md) provides this feature. There is no .NET SDK support at this time. +> + By default, [Azure Search blob indexer](search-howto-indexing-azure-blob-storage.md) parses delimited text blobs as a single chunk of text. However, with blobs containing CSV data, you often want to treat each line in the blob as a separate document. For example, given the following delimited text, you might want to parse it into two documents, each containing "id", "datePublished", and "tags" fields: id, datePublished, tags @@ -22,13 +27,11 @@ By default, [Azure Search blob indexer](search-howto-indexing-azure-blob-storage In this article, you will learn how to parse CSV blobs with an Azure Search blob indexerby setting the `delimitedText` parsing mode. -The `delimitedText` parsing mode is currently in public preview and not recommended for production workloads. - > [!NOTE] > Follow the indexer configuration recommendations in [One-to-many indexing](search-howto-index-one-to-many-blobs.md) to output multiple search documents from one Azure blob. ## Setting up CSV indexing -To index CSV blobs, create or update an indexer definition with the `delimitedText` parsing mode: +To index CSV blobs, create or update an indexer definition with the `delimitedText` parsing mode on a [Create Indexer](https://docs.microsoft.com/rest/api/searchservice/create-indexer) request: { "name" : "my-csv-indexer", @@ -36,8 +39,6 @@ To index CSV blobs, create or update an indexer definition with the `delimitedTe "parameters" : { "configuration" : { "parsingMode" : "delimitedText", "firstLineContainsHeaders" : true } } } -For more details on the Create Indexer API, check out [Create Indexer](https://docs.microsoft.com/rest/api/searchservice/create-indexer). - `firstLineContainsHeaders` indicates that the first (non-blank) line of each blob contains headers. If blobs don't contain an initial header line, the headers should be specified in the indexer configuration: diff --git a/articles/search/search-howto-index-json-blobs.md b/articles/search/search-howto-index-json-blobs.md index c9e2a35d2c7d2..5082e7a8e75c2 100644 --- a/articles/search/search-howto-index-json-blobs.md +++ b/articles/search/search-howto-index-json-blobs.md @@ -276,7 +276,7 @@ Creating the indexer on Azure Search triggers data import. It runs immediately, ## Use .NET SDK -The .NET SDK has fully parity with the REST API. We recommend that you review the previous REST API section to learn concepts, workflow, and requirements. You can then refer to following .NET API reference documentation to implement a JSON indexer in managed code. +The .NET SDK has full parity with the REST API. We recommend that you review the previous REST API section to learn concepts, workflow, and requirements. You can then refer to following .NET API reference documentation to implement a JSON indexer in managed code. + [microsoft.azure.search.models.datasource](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.models.datasource?view=azure-dotnet) + [microsoft.azure.search.models.datasourcetype](https://docs.microsoft.com/dotnet/api/microsoft.azure.search.models.datasourcetype?view=azure-dotnet) diff --git a/articles/search/search-more-like-this.md b/articles/search/search-more-like-this.md index f37192e57bcc5..6a57ff2b672e9 100644 --- a/articles/search/search-more-like-this.md +++ b/articles/search/search-more-like-this.md @@ -11,14 +11,16 @@ ms.date: 05/02/2019 ms.author: brjohnst ms.custom: seodec2018 --- -# moreLikeThis in Azure Search (preview) +# moreLikeThis in Azure Search + +> [!Note] +> moreLikeThis is in preview and not intended for production use. The [REST API version 2019-05-06-Preview](search-api-preview.md) provides this feature. There is no .NET SDK support at this time. `moreLikeThis=[key]` is a query parameter in the [Search Documents API](https://docs.microsoft.com/rest/api/searchservice/search-documents) that finds documents similar to the document specified by the document key. When a search request is made with `moreLikeThis`, a query is generated with search terms extracted from the given document that describe that document best. The generated query is then used to make the search request. By default, the contents of all searchable fields are considered, minus any restricted fields that you specified using the `searchFields` parameter. The `moreLikeThis` parameter cannot be used with the search parameter, `search=[string]`. By default, the contents of all top-level searchable fields are considered. If you want to specify particular fields instead, you can use the `searchFields` parameter. -> [!NOTE] -> `moreLikeThis` preview does not work on searchable subfields in a [complex type](search-howto-complex-data-types.md). +You cannot use moreLikeThis on searchable sub-fields in a [complex type](search-howto-complex-data-types.md). ## Examples @@ -36,9 +38,6 @@ POST /indexes/hotels/docs/search?api-version=2019-05-06-Preview } ``` -## Feature availability - -The `moreLikeThis` parameter is available in preview REST APIs only (`api-version=2019-05-06-Preview`). ## Next steps diff --git a/articles/search/search-security-manage-encryption-keys.md b/articles/search/search-security-manage-encryption-keys.md index 6aa4194240bac..d0923e5de4dfe 100644 --- a/articles/search/search-security-manage-encryption-keys.md +++ b/articles/search/search-security-manage-encryption-keys.md @@ -1,5 +1,5 @@ --- -title: Encryption-at-rest using customer-managed keys in Azure Key Vault - Azure Search +title: Encryption-at-rest using customer-managed keys in Azure Key Vault (preview) - Azure Search description: Supplement server-side encryption over indexes and synonym maps in Azure Search through keys that you create and manage in Azure Key Vault. author: NatiNimni manager: jlembicz @@ -12,6 +12,11 @@ ms.custom: --- # Azure Search encryption using customer-managed keys in Azure Key Vault +> [!Note] +> Encryption with customer-managed keys is in preview and not intended for production use. The [REST API version 2019-05-06-Preview](search-api-preview.md) provides this feature. You can also use the .NET SDK version 8.0-preview. +> +> This feature is not available for free services. You must use a billable search service created on or after 2019-01-01. There is no portal support at this time. + By default, Azure Search encrypts user content at rest with [service-managed keys](https://docs.microsoft.com/azure/security/azure-security-encryption-atrest#data-encryption-models). You can supplement default encryption with an additional encryption layer using keys that you create and manage in Azure Key Vault. This article walks you through the steps. @@ -21,20 +26,17 @@ Encryption with customer-managed keys is configured at the index or synonym map You can use different keys from different Key vaults. This means a single search service can host multiple encrypted indexes\synonym maps, each encrypted potentially using a different customer-managed key, alongside indexes\synonym maps that are not encrypted using customer-managed keys. ->[!Note] -> **Feature availability**: Encryption with customer-managed keys is a preview feature that is not available for free services. For paid services, it is only available for search services created on or after 2019-01-01, using the latest preview api-version (api-version=2019-05-06-Preview). Currently there is no portal support for this feature. - ## Prerequisites The following services are used in this example. -[Create an Azure Search service](search-create-service-portal.md) or [find an existing service](https://ms.portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Search%2FsearchServices) under your current subscription. You can use a free service for this tutorial. ++ [Create an Azure Search service](search-create-service-portal.md) or [find an existing service](https://ms.portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Search%2FsearchServices) under your current subscription. You can use a free service for this tutorial. -[Create an Azure Key Vault resource](https://docs.microsoft.com/azure/key-vault/quick-create-portal#create-a-vault) or find an existing vault under your subscription. ++ [Create an Azure Key Vault resource](https://docs.microsoft.com/azure/key-vault/quick-create-portal#create-a-vault) or find an existing vault under your subscription. -[Azure PowerShell](https://docs.microsoft.com/powershell/azure/overview) or [Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli) is used for configuration tasks. ++ [Azure PowerShell](https://docs.microsoft.com/powershell/azure/overview) or [Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli) is used for configuration tasks. -[Postman](search-fiddler.md), [Azure PowerShell](search-create-index-rest-api.md) and [Azure Search SDK](https://aka.ms/search-sdk-preview) can be used to call the preview REST API. There is no portal or .NET SDK support for customer-managed encryption at this time. ++ [Postman](search-fiddler.md), [Azure PowerShell](search-create-index-rest-api.md) and [Azure Search SDK](https://aka.ms/search-sdk-preview) can be used to call the preview REST API. There is no portal or .NET SDK support for customer-managed encryption at this time. ## 1 - Enable key recovery diff --git a/articles/service-fabric/service-fabric-patch-orchestration-application.md b/articles/service-fabric/service-fabric-patch-orchestration-application.md index 335b0fde616e6..cfdd75e044f55 100644 --- a/articles/service-fabric/service-fabric-patch-orchestration-application.md +++ b/articles/service-fabric/service-fabric-patch-orchestration-application.md @@ -24,10 +24,6 @@ ms.author: brkhande > [!IMPORTANT] > Application version 1.2.* is going out of support on 30 April 2019. Please upgrade to the latest version. -> -> [!IMPORTANT] -> Patch Orchestration application on linux has been deprecated. Please visit [Azure virtual machine scale set automatic OS image upgrades](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-upgrade) for orchestrating updates on linux. - [Azure virtual machine scale set automatic OS image upgrades](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-upgrade) is the best practice for keeping your operating systems patched in Azure, and the Patch Orchestration Application (POA) is a wrapper around Service Fabrics RepairManager Systems service that enables configuration based OS patch scheduling for non-Azure hosted clusters. POA is not required for non-Azure hosted clusters, but scheduling patch installation by Upgrade Domains, is required to patch Service Fabric clusters hosts without downtime. @@ -238,7 +234,7 @@ RebootRequired | true - reboot was required
false - reboot was not required If no update is scheduled yet, the result JSON is empty. -Log in to the cluster to query Windows Update results. Then find out the replica address for the primary of the Coordinator Service, and hit the URL from the browser: +Sign in to the cluster to query Windows Update results. Then find out the replica address for the primary of the Coordinator Service, and hit the URL from the browser: http://<REPLICA-IP>:<ApplicationPort>/PatchOrchestrationApplication/v1/GetWindowsUpdateResults. The REST endpoint for the Coordinator Service has a dynamic port. To check the exact URL, refer to the Service Fabric Explorer. For example, the results are available at @@ -263,7 +259,7 @@ To enable the reverse proxy on the cluster, follow the steps in [Reverse proxy i Patch orchestration app logs are collected as part of Service Fabric runtime logs. -In case you want to capture logs via diagnostic tool/pipeline of your choice. Patch orchestration application uses below fixed provider IDs to log events via [eventsource](https://docs.microsoft.com/dotnet/api/system.diagnostics.tracing.eventsource?view=netframework-4.5.1) +In case you want to capture logs via diagnostic tool/pipeline of your choice. Patch orchestration application uses below fixed provider IDs to log events via [event source](https://docs.microsoft.com/dotnet/api/system.diagnostics.tracing.eventsource?view=netframework-4.5.1) - e39b723c-590c-4090-abb0-11e3e6616346 - fc0028ff-bfdc-499f-80dc-ed922c52c5e9 @@ -312,7 +308,7 @@ Q. **What can I do if my cluster is unhealthy and I need to do an urgent operati A. The patch orchestration app does not install updates while the cluster is unhealthy. Try to bring your cluster to a healthy state to unblock the patch orchestration app workflow. -Q. **Should i set TaskApprovalPolicy as 'NodeWise' or 'UpgradeDomainWise' for my cluster?** +Q. **Should I set TaskApprovalPolicy as 'NodeWise' or 'UpgradeDomainWise' for my cluster?** A. 'UpgradeDomainWise' makes the overall cluster patching faster by patching all the nodes belonging to an upgrade domain in parallel. This means that nodes belonging to an entire upgrade domain would be unavailable (in [Disabled](https://docs.microsoft.com/dotnet/api/system.fabric.query.nodestatus?view=azure-dotnet#System_Fabric_Query_NodeStatus_Disabled) state) during the patching process. @@ -347,6 +343,10 @@ Q. **Can Patch Orchestration app be used to patch my dev cluster (one-node clust A. No, Patch orchestration app cannot be used to patch one-node cluster. This limitation is by design, as [service fabric system services](https://docs.microsoft.com/azure/service-fabric/service-fabric-technical-overview#system-services) or any customer apps will face downtime and hence any repair job for patching would never get approved by repair manager. +Q. **How do I patch cluster nodes on Linux?** + +A. See [Azure virtual machine scale set automatic OS image upgrades](https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-upgrade) for orchestrating updates on linux. + ## Disclaimers - The patch orchestration app accepts the End-User License Agreement of Windows Update on behalf of the user. Optionally, the setting can be turned off in the configuration of the application. @@ -413,7 +413,7 @@ An administrator must intervene and determine why the application or cluster bec - Setting InstallWindowsOSOnlyUpdates to false now installs all the available updates. - Changed the logic of disabling automatic updates. This fixes a bug where Automatic updates were not getting disabled on Server 2016 and above. -- Parameterized placement constraint for both the microservices of POA for advanced usecases. +- Parameterized placement constraint for both the microservices of POA for advanced use cases. ### Version 1.3.1 - Fixing regression where POA 1.3.0 won't work on Windows Server 2012 R2 or lower due to failure in disabling automatic updates. @@ -421,4 +421,4 @@ An administrator must intervene and determine why the application or cluster bec - Changing default value of InstallWindowsOSOnlyUpdates to False. ### Version 1.3.2 -- Fixing an issue which effected the patching life-cyle on a node in case there are nodes with name which is subset of the current node name. For such nodes, its possible, patching is missed or reboot is pending. +- Fixing an issue which effected the patching lifecycle on a node in case there are nodes with name which is subset of the current node name. For such nodes, its possible, patching is missed or reboot is pending. diff --git a/articles/site-recovery/vmware-physical-azure-config-process-server-overview.md b/articles/site-recovery/vmware-physical-azure-config-process-server-overview.md index cc1ff750a11b0..593352a760da1 100644 --- a/articles/site-recovery/vmware-physical-azure-config-process-server-overview.md +++ b/articles/site-recovery/vmware-physical-azure-config-process-server-overview.md @@ -23,7 +23,7 @@ For disaster recovery of on-premises VMware VMs and physical servers, you need a **Role** | The configuration server coordinates communications between on-premises and Azure, and manages data replication. | Learn more about the architecture for [VMware](vmware-azure-architecture.md) and [physical server](physical-azure-architecture.md) disaster recovery to Azure. **VMware requirements** | For disaster recovery of on-premises VMware VMs, you must install and run the configuration server as a on-premises, highly available VMware VM. | [Learn about](vmware-azure-deploy-configuration-server.md#prerequisites) the prerequisites. **VMware deployment** | We recommend that you deploy the configuration server using a downloaded OVA template. This method provides a simply way to set up a configuration server that complies with all requirements and prerequisites.

If for some reason you're unable to deploy a VMware VM using an OVA template, you can set up the configuration server machines manually, as described below for physical machine disaster recovery. | [Deploy](vmware-azure-deploy-configuration-server.md#deployment-of-configuration-server-through-ova-template) with an OVA template. -**Physical server requirements** | For disaster recovery on on-premises physical servers, you deploy the configuration server manually. | [Learn about](/physical-azure-set-up-source.md#prerequisites) the prerequisites. +**Physical server requirements** | For disaster recovery on on-premises physical servers, you deploy the configuration server manually. | [Learn about](physical-azure-set-up-source.md#prerequisites) the prerequisites. **Physical server deployment** | If it can't be installed as a VMware VM, you can install it on a physical server. | [Deploy](physical-azure-set-up-source.md#set-up-the-source-environment) the configuration server manually. @@ -46,5 +46,5 @@ The master target server handles replication data during failback from Azure. ## Next steps -- Review the [architecture](/vmware-azure-architecture.md) for disaster recovery of VMware VMs and physical servers. +- Review the [architecture](vmware-azure-architecture.md) for disaster recovery of VMware VMs and physical servers. - Review the [requirements and prerequisites](vmware-physical-azure-support-matrix.md) for disaster recovery of VMware VMs and physical servers to Azure. diff --git a/articles/sql-database/sql-database-auto-failover-group.md b/articles/sql-database/sql-database-auto-failover-group.md index 7233a677c2d9f..45c63fb28e709 100644 --- a/articles/sql-database/sql-database-auto-failover-group.md +++ b/articles/sql-database/sql-database-auto-failover-group.md @@ -37,7 +37,7 @@ To achieve real business continuity, adding database redundancy between datacent - **Failover group (FOG)** - A failover group is a group of databases managed by a single SQL Database server or within a single managed instance that can fail over as a unit to another region in case all or some primary databases become unavailable due to an outage in the primary region. When crated for managed instances, a failover group contains all user databases in the instance and therefore only one failover groups can be configured on an instance. + A failover group is a group of databases managed by a single SQL Database server or within a single managed instance that can fail over as a unit to another region in case all or some primary databases become unavailable due to an outage in the primary region. When created for managed instances, a failover group contains all user databases in the instance and therefore only one failover group can be configured on an instance. - **SQL Database servers** diff --git a/articles/sql-database/sql-database-managed-instance-connectivity-architecture.md b/articles/sql-database/sql-database-managed-instance-connectivity-architecture.md index e20b14b8ce17b..3fe90b35c25af 100644 --- a/articles/sql-database/sql-database-managed-instance-connectivity-architecture.md +++ b/articles/sql-database/sql-database-managed-instance-connectivity-architecture.md @@ -81,7 +81,7 @@ When connections start inside the managed instance (as with backups and audit lo Deploy a managed instance in a dedicated subnet inside the virtual network. The subnet must have these characteristics: -- **Dedicated subnet:** The managed instance's subnet can't contain any other cloud service that's associated with it, and it can't be a gateway subnet. The subnet can't contain any resource but the managed instance, and you can't later add resources in the subnet. +- **Dedicated subnet:** The managed instance's subnet can't contain any other cloud service that's associated with it, and it can't be a gateway subnet. The subnet can't contain any resource but the managed instance, and you can't later add other types of resources in the subnet. - **Network security group (NSG):** An NSG that's associated with the virtual network must define [inbound security rules](#mandatory-inbound-security-rules) and [outbound security rules](#mandatory-outbound-security-rules) before any other rules. You can use an NSG to control access to the managed instance's data endpoint by filtering traffic on port 1433 and ports 11000-11999 when managed instance is configured for redirect connections. - **User defined route (UDR) table:** A UDR table that's associated with the virtual network must include specific [entries](#user-defined-routes). - **No service endpoints:** No service endpoint should be associated with the managed instance's subnet. Make sure that the service endpoints option is disabled when you create the virtual network. diff --git a/articles/virtual-desktop/create-host-pools-arm-template.md b/articles/virtual-desktop/create-host-pools-arm-template.md index bba0e8338469b..dbe31e5654c6d 100644 --- a/articles/virtual-desktop/create-host-pools-arm-template.md +++ b/articles/virtual-desktop/create-host-pools-arm-template.md @@ -55,12 +55,6 @@ To assign users to the desktop application group, open a PowerShell window and r Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com" ``` -Next, set the context to the tenant group specified in the Azure Resource Manager template with this cmdlet: - -```powershell -Set-RdsContext -TenantGroupName -``` - After that, add users to the desktop application group with this cmdlet: ```powershell diff --git a/articles/virtual-desktop/create-host-pools-azure-marketplace.md b/articles/virtual-desktop/create-host-pools-azure-marketplace.md index 6a79f16e9ab52..f08e08efcc511 100644 --- a/articles/virtual-desktop/create-host-pools-azure-marketplace.md +++ b/articles/virtual-desktop/create-host-pools-azure-marketplace.md @@ -63,7 +63,7 @@ For the Virtual machine setting blade: For the Windows Virtual Desktop tenant information blade: -1. Enter the **Windows Virtual Desktop tenant group name** for the tenant group that contains your tenant. If you don't have a specific tenant group name planned, leave it as the default. +1. Enter the **Windows Virtual Desktop tenant group name** for the tenant group that contains your tenant. Leave it as the default unless you were provided a specific tenant group name. 2. Enter the **Windows Virtual Desktop tenant name** for the tenant you'll be creating this host pool in. 3. Specify the type of credentials you want to use to authenticate as the Windows Virtual Desktop tenant RDS Owner. If you completed the [Create service principals and role assignments with PowerShell tutorial](./create-service-principal-role-powershell.md), select **Service principal**. You will now need to enter the **Azure AD tenant ID** of the Azure Active Directory that contains the service principal. 4. Enter either the credentials for the tenant admin account. Only service principals with a password credential are supported. @@ -91,12 +91,6 @@ Run the following cmdlet to sign in to the Windows Virtual Desktop environment: Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com" ``` -Set the context to the Windows Virtual Desktop tenant group you specified in the Azure Marketplace offering with the following cmdlet. If you left the Windows Virtual Desktop tenant group value as the default value in the Azure Marketplace offering, you can skip this step. - -```powershell -Set-RdsContext -TenantGroupName -``` - Once you've done those two things, you can add users to the desktop application group with this cmdlet: ```powershell diff --git a/articles/virtual-desktop/create-host-pools-powershell.md b/articles/virtual-desktop/create-host-pools-powershell.md index d1bdd72d76437..8ac5bb2f90bb0 100644 --- a/articles/virtual-desktop/create-host-pools-powershell.md +++ b/articles/virtual-desktop/create-host-pools-powershell.md @@ -23,12 +23,6 @@ Run the following cmdlet to sign in to the Windows Virtual Desktop environment Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.com ``` -After that, run the following cmdlet to set the context to your tenant group. If you don't have the name of the tenant group, your tenant is most likely in the “Default Tenant Group,” so you can skip this cmdlet. - -```powershell -Set-RdsContext -TenantGroupName -``` - Next, run this cmdlet to create a new host pool in your Windows Virtual Desktop tenant: ```powershell diff --git a/articles/virtual-desktop/create-service-principal-role-powershell.md b/articles/virtual-desktop/create-service-principal-role-powershell.md index 74ad15dc3e14a..baa3dbe30dbf3 100644 --- a/articles/virtual-desktop/create-service-principal-role-powershell.md +++ b/articles/virtual-desktop/create-service-principal-role-powershell.md @@ -33,10 +33,9 @@ Before you can create service principals and role assignments, you’ll need to Install-Module AzureAD ``` -2. Run the following cmdlets with the values in quotes replaced by the values relevant to your session. If you just created your Windows Virtual Desktop tenant from the [Create a tenant in Windows Virtual Desktop tutorial](./tenant-setup-azure-active-directory.md), then use "Default Tenant Group" as your tenant group name. +2. Run the following cmdlets with the values in quotes replaced by the values relevant to your session. ```powershell - $myTenantGroupName = "" $myTenantName = "" ``` @@ -63,8 +62,7 @@ Run the following PowerShell cmdlets to connect to Windows Virtual Desktop and c ```powershell Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com" -Set-RdsContext -TenantGroupName $myTenantGroupName -New-RdsRoleAssignment -RoleDefinitionName "RDS Owner" -ApplicationId $svcPrincipal.AppId -TenantGroupName $myTenantGroupName -TenantName $myTenantName +New-RdsRoleAssignment -RoleDefinitionName "RDS Owner" -ApplicationId $svcPrincipal.AppId -TenantName $myTenantName ``` ## Sign in with the service principal diff --git a/articles/virtual-desktop/troubleshoot-client-connection.md b/articles/virtual-desktop/troubleshoot-client-connection.md index 9fe613c95b240..df635b11c35af 100644 --- a/articles/virtual-desktop/troubleshoot-client-connection.md +++ b/articles/virtual-desktop/troubleshoot-client-connection.md @@ -103,22 +103,21 @@ Follow these general troubleshooting instructions for client connection error co 1. Confirm user name and time when issue was experienced. 2. Open **PowerShell** and establish connection to the Windows Virtual Desktop tenant where the issue was reported. 3. Confirm connection to the correct tenant with **Get-RdsTenant.** -4. If needed, set the tenant group context with **Set-RdsContext –TenantGroupt\**. -5. Using **Get-RdsHostPool** and **Get-RdsSessionHost** cmdlets, confirm that troubleshooting is being done on the correct host pool. -6. Execute the command below to get a list of all failed activities of type connection for the specified time window: +4. Using **Get-RdsHostPool** and **Get-RdsSessionHost** cmdlets, confirm that troubleshooting is being done on the correct host pool. +5. Execute the command below to get a list of all failed activities of type connection for the specified time window: ```cmd Get-RdsDiagnosticActivities -TenantName -username -StartTime "11/21/2018 1:07:03 PM" -EndTime "11/21/2018 1:27:03 PM" -Outcome Failure -ActivityType Connection ``` -7. Using the **ActivityId** from the previous cmdlet output, run the command below: +6. Using the **ActivityId** from the previous cmdlet output, run the command below: ``` (Get-RdsDiagnosticActivities -TenantName $tenant -ActivityId -Detailed).Errors ``` -8. The command produces output similar to the output shown below. Use **ErrorCodeSymbolic** and **ErrorMessage** to troubleshoot the root cause. +7. The command produces output similar to the output shown below. Use **ErrorCodeSymbolic** and **ErrorMessage** to troubleshoot the root cause. ``` ErrorSource : diff --git a/articles/virtual-desktop/troubleshoot-set-up-issues.md b/articles/virtual-desktop/troubleshoot-set-up-issues.md index 467da72f27221..58c6c65d39b2c 100644 --- a/articles/virtual-desktop/troubleshoot-set-up-issues.md +++ b/articles/virtual-desktop/troubleshoot-set-up-issues.md @@ -295,7 +295,6 @@ The SendConfigurationApply function did not succeed.\"." }, "name": "2c3272ec-d2 ```PowerShell Add-RdsAccount -DeploymentUrl “https://rdbroker.wvd.microsoft.com” -Set-RdsContext -Name New-RdsRoleAssignment -TenantName -RoleDefinitionName “RDS Contributor” -SignInName ``` diff --git a/articles/virtual-machines/extensions/agent-dependency-linux.md b/articles/virtual-machines/extensions/agent-dependency-linux.md index 9823edc7398a0..6692aaf7347e6 100644 --- a/articles/virtual-machines/extensions/agent-dependency-linux.md +++ b/articles/virtual-machines/extensions/agent-dependency-linux.md @@ -26,7 +26,7 @@ The Azure Monitor for VMs Map feature gets its data from the Microsoft Dependenc ### Operating system -The Azure VM Dependency agent extension for Linux can be run against the supported operating systems listed in the [Supported operating systems](../../azure-monitor/insights/vminsights-onboard.md#supported-operating-systems) section of the Azure Monitor for VMs deployment article. +The Azure VM Dependency agent extension for Linux can be run against the supported operating systems listed in the [Supported operating systems](../../azure-monitor/insights/vminsights-enable-overview.md#supported-operating-systems) section of the Azure Monitor for VMs deployment article. ## Extension schema diff --git a/articles/virtual-machines/extensions/agent-dependency-windows.md b/articles/virtual-machines/extensions/agent-dependency-windows.md index a22ccf74346bb..832efe7ae1f7f 100644 --- a/articles/virtual-machines/extensions/agent-dependency-windows.md +++ b/articles/virtual-machines/extensions/agent-dependency-windows.md @@ -28,7 +28,7 @@ The Azure Monitor for VMs Map feature gets its data from the Microsoft Dependenc ### Operating system -The Azure VM Dependency agent extension for Windows can be run against the supported operating systems listed in the [Supported operating systems](../../azure-monitor/insights/vminsights-onboard.md#supported-operating-systems) section of the Azure Monitor for VMs deployment article. +The Azure VM Dependency agent extension for Windows can be run against the supported operating systems listed in the [Supported operating systems](../../azure-monitor/insights/vminsights-enable-overview.md#supported-operating-systems) section of the Azure Monitor for VMs deployment article. ## Extension schema diff --git a/articles/virtual-network/virtual-network-disaster-recovery-guidance.md b/articles/virtual-network/virtual-network-disaster-recovery-guidance.md index 0301afb6c2666..ca0deed3632bc 100644 --- a/articles/virtual-network/virtual-network-disaster-recovery-guidance.md +++ b/articles/virtual-network/virtual-network-disaster-recovery-guidance.md @@ -22,7 +22,7 @@ ms.author: narayan;aglick ## Overview A Virtual Network (VNet) is a logical representation of your network in the cloud. It allows you to define your own private IP address space and segment the network into subnets. VNets serves as a trust boundary to host your compute resources such as Azure Virtual Machines and Cloud Services (web/worker roles). A VNet allows direct private IP communication between the resources hosted in it. You can link a virtual network to an on-premises network through a VPN Gateway, or ExpressRoute. -A VNet is created within the scope of a region. You can create VNets with same address space in two different regions (For example, US East and US West), but cannot connect them together. +A VNet is created within the scope of a region. You can *create* VNets with same address space in two different regions (For example, US East and US West), but because they have the same address space, you can't connect them together. ## Business Continuity