如何使用 Json Template Azure 将 Runbook 操作添加到指标规则(经典)?

How to add a Runbook action to a Metric rule (classic) using Json Template Azure?

我有一个关于如何将 Runbook 操作添加到我的指标警报的问题,有很多关于向所有者发送电子邮件的文档,但是 none 其中讲述了一个操作 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.Navigate 到门户中的 Runbook,转到 Webhooks -> Add Webhook,创建一个新的 webhook 并复制 URL。更多详细信息,请参阅此 link.

2.In 您的模板,将下面的示例添加到 actions,并使用您的 webhook URL 指定 webhookUrl,参考此 link .

"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": {}
                }
            ]

创建警报并在门户中检查它,它在我这边运行良好。