0

我有一个关于如何将 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 模板创建虚拟机后我卡在了这一点上。

谢谢你。

4

1 回答 1

0

您可以按照以下步骤操作。

1.在门户中导航到您的 Runbook,转到Webhooks-> Add Webhook,创建一个新的 webhook 并复制URL. 有关更多详细信息,请参阅此链接

2.在您的模板中,将以下示例添加到actions,并webhookUrl使用您的 webhook URL 指定 ,请参阅此链接

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

创建警报并在门户中检查它,它在我这边工作正常。

在此处输入图像描述

于 2018-07-26T07:23:43.677 回答