Share via


Inicio rápido: Creación de alertas de Azure Advisor para nuevas recomendaciones mediante una plantilla de Resource Manager

En este artículo se muestra cómo configurar una alerta para nuevas recomendaciones de Azure Advisor mediante una plantilla de Azure Resource Manager.

Una Plantilla de Azure Resource Manager es un archivo de notación de objetos JavaScript (JSON) que define tanto la infraestructura como la configuración de un proyecto. La plantilla usa sintaxis declarativa. Se describe la implementación deseada sin escribir la secuencia de comandos de programación para crear la implementación.

Cada vez que Azure Advisor detecta una nueva recomendación para uno de los recursos, se almacena un evento en el registro de actividad de Azure. Puede configurar alertas para estos eventos desde Azure Advisor creando alertas específicas para la recomendación. Puede seleccionar una suscripción y, si lo desea, un grupo de recursos para especificar los recursos sobre los que desea recibir alertas.

También puede determinar los tipos de recomendaciones mediante el uso de estas propiedades:

  • Category
  • Nivel de impacto
  • Tipo de recomendación

También puede configurar la acción que tendrá lugar cuando se desencadene una alerta si:

  • Selecciona un grupo de acciones existente.
  • Crea un nuevo grupo de acciones.

Para más información sobre los grupos de acciones, consulte Creación y administración de grupos de acciones.

Nota

Las alertas de Advisor solo están disponibles para las recomendaciones de alta disponibilidad, rendimiento y costo. No se admiten recomendaciones de seguridad.

Requisitos previos

Revisión de la plantilla

En el siguiente ejemplo se crea un grupo de acciones con un destino de correo electrónico y se habilitan todas las notificaciones de estado de servicio de la suscripción de destino. Guarde esta plantilla como CreateAdvisorAlert.json.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "actionGroups_name": {
      "defaultValue": "advisorAlert",
      "type": "string"
    },
    "activityLogAlerts_name": {
      "defaultValue": "AdvisorAlertsTest",
      "type": "string"
    },
    "emailAddress": {
      "defaultValue": "<email address>",
      "type": "string"
    }
  },
  "variables": {
    "alertScope": "[concat('/','subscriptions','/',subscription().subscriptionId)]"
  },
  "resources": [
    {
      "comments": "Action Group",
      "type": "microsoft.insights/actionGroups",
      "apiVersion": "2019-06-01",
      "name": "[parameters('actionGroups_name')]",
      "location": "Global",
      "scale": null,
      "dependsOn": [],
      "tags": {},
      "properties": {
        "groupShortName": "[parameters('actionGroups_name')]",
        "enabled": true,
        "emailReceivers": [
          {
            "name": "[parameters('actionGroups_name')]",
            "emailAddress": "[parameters('emailAddress')]"
          }
        ],
        "smsReceivers": [],
        "webhookReceivers": []
      }
    },
    {
      "comments": "Azure Advisor Activity Log Alert",
      "type": "microsoft.insights/activityLogAlerts",
      "apiVersion": "2017-04-01",
      "name": "[parameters('activityLogAlerts_name')]",
      "location": "Global",
      "scale": null,
      "tags": {},
      "properties": {
        "scopes": [
          "[variables('alertScope')]"
        ],
        "condition": {
          "allOf": [
            {
              "field": "category",
              "equals": "Recommendation"
            },
            {
              "field": "properties.recommendationCategory",
              "equals": "Cost"
            },
            {
              "field": "properties.recommendationImpact",
              "equals": "Medium"
            },
            {
              "field": "operationName",
              "equals": "Microsoft.Advisor/recommendations/available/action"
            }
          ]
        },
        "actions": {
          "actionGroups": [
            {
              "actionGroupId": "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]",
              "webhookProperties": {}
            }
          ]
        },
        "enabled": true,
        "description": ""
      },
      "dependsOn": [
        "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]"
      ]
    }
  ]
}

La plantilla define dos recursos:

Implementación de la plantilla

Implemente la plantilla mediante cualquier método estándar de implementación de una plantilla de Resource Manager como en los ejemplos siguientes con la CLI y PowerShell. Reemplace los valores de ejemplo del grupo de recursos y dirección de correo electrónico por los valores adecuados para su entorno. El nombre del área de trabajo debe ser único entre todas las suscripciones de Azure.

az login
az deployment group create --name CreateAdvisorAlert --resource-group my-resource-group --template-file CreateAdvisorAlert.json --parameters emailAddress='user@contoso.com'

Validación de la implementación

Para comprobar que se ha creado el área de trabajo, utilice uno de los comandos siguientes. Reemplace los valores de ejemplo del grupo de recursos por los valores que usó anteriormente.

az monitor activity-log alert show --resource-group my-resource-group --name AdvisorAlertsTest

Limpieza de recursos

Si planea seguir trabajando en otros inicios rápidos y tutoriales, considere la posibilidad de dejar estos recursos activos. Cuando ya no lo necesite, elimine el grupo de recursos; de este modo, se eliminarán también la regla de alertas y los recursos relacionados. Para eliminar el grupo de recursos mediante la CLI de Azure o Azure PowerShell

az group delete --name my-resource-group

Pasos siguientes