Как добавить действие Runbook в правило Metric (classic) с помощью Json Template Azure?

У меня возникла проблема с тем, как добавить действие Runbook в мое оповещение о метрике, есть много рассуждений об отправке электронной почты владельцу, но ни один из них не говорит о Runbook действия.

Это мой шаблон для создания метрического оповещения:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "AlertName": {
      "type": "string"
    },
    "Description": {
      "type": "string"
    },
    "VirtualMachineId": {
      "type": "string"
    },
    "MetricName": {
      "type": "string"
    },
    "Operator": {
      "type": "string"
    },
    "Threshold": {
      "type": "string"
    },
    "Aggregation": {
      "type": "string"
    },
    "WindowSize": {
      "type": "string"
    }
  },
  "variables": {
  },
  "resources": [
    {
      "type": "microsoft.insights/alertRules",
      "name": "[parameters('AlertName')]",
      "location": "[resourceGroup().location]",
      "apiVersion": "2016-03-01",
      "properties": {
        "name": "[parameters('AlertName')]",
        "description": "[parameters('Description')]",
        "isEnabled": "true",
        "windowSize": "[parameters('WindowSize')]",
        "condition": {
          "odata.type": "Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition",
          "dataSource": {
            "odata.type": "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource",
            "resourceUri": "[resourceId('Microsoft.Compute/virtualMachines',parameters('VirtualMachineId'))]",
            "metricName": "[parameters('MetricName')]"
          },
          "operator": "[parameters('Operator')]",
          "threshold": "[parameters('Threshold')]",
          "windowSize": "[parameters('WindowSize')]",
          "timeAggregation": "[parameters('Aggregation')]"
        },
        "actions": [
          {
            "odata.type": "RuleAction"
            //Runbook....
          }
        ]
      }
    }
  ]
}

Нет документации о добавлении RuleAction, и я застрял на этом этапе после создания виртуальной машины с шаблоном Json.

Спасибо.

1 ответ

Вы можете выполнить следующие шаги.

1. Перейдите к своему Runbook на портале, перейдите к Webhooks -> Add Webhookсоздайте новый webhook и скопируйте URL, Для более подробной информации, обратитесь к этой ссылке.

2.В своем шаблоне добавьте образец ниже к actionsи укажите webhookUrl перейдите по этой ссылке.

"actions": [
                {
                    "odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction",
                    "sendToServiceOwners": "[variables('sendToServiceOwners')]",
                    "customEmails": "[variables('customEmails')]"
                },
                {
                    "odata.type": "Microsoft.Azure.Management.Insights.Models.RuleWebhookAction",
                    "serviceUri": "[variables('webhookUrl')]",
                    "properties": {}
                }
            ]

Создайте оповещение и проверьте его на портале, он отлично работает на моей стороне.

Другие вопросы по тегам