Уведомления о приложениях с использованием шаблонов ARM - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь настроить оповещения о приложении, используя шаблоны ARM. Я использовал следующее для оповещения о времени ответа сервера:

{
      "name": "[variables('responseAlertName')]",
      "type": "Microsoft.Insights/alertrules",
      "apiVersion": "2014-04-01",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[resourceId('Microsoft.Insights/components', parameters('components_appinsights_name'))]"
      ],
      "tags": {
        "[concat('hidden-link:', resourceId('Microsoft.Insights/components', parameters('components_appinsights_name')))]": "Resource"
      },
      "properties": {
        "name": "[variables('responseAlertName')]",
        "description": "response time alert",
        "isEnabled": true,
        "condition": {
          "$type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.ThresholdRuleCondition, Microsoft.WindowsAzure.Management.Mon.Client",
          "odata.type": "Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition",
          "dataSource": {
            "$type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleMetricDataSource, Microsoft.WindowsAzure.Management.Mon.Client",
            "odata.type": "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource",
            "resourceUri": "[resourceId('microsoft.insights/components', parameters('components_appinsights_name'))]",
            "metricName": "request.duration"
          },
          "threshold": "10",
          "windowSize": "PT5M"
        },
        "actions": [
          {
            "$type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.RuleEmailAction, Microsoft.WindowsAzure.Management.Mon.Client",
            "odata.type": "Microsoft.Azure.Management.Insights.Models.RuleEmailAction",
            "sendToServiceOwners": true,
            "customEmails": []
          }
        ]
      }
    }

Но проблема в том, что он добавляется в качестве «классического» предупреждения на портале. Как изменить шаблон, чтобы предупреждение добавлялось как новое, а не как классическое предупреждение?

Ответы [ 3 ]

0 голосов
/ 28 января 2019

В итоге я делаю следующее;

{
      "name": "[parameters('metricAlerts_web_response_time_alert_name')]",
      "type": "Microsoft.Insights/metricAlerts",
      "location": "global",
      "apiVersion": "2018-03-01",
      "properties": {
        "description": "web server response time",
        "severity": 3,
        "enabled": true,
        "scopes": [
          "[resourceId('Microsoft.Insights/components', parameters('components_appinsights_name'))]"
        ],
        "evaluationFrequency": "Pt1m",
        "windowSize": "Pt15m",
        "criteria": {
          "odata.type": "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria",
          "allOf": [
            {
              "name": "iard name",
              "metricName": "requests/duration",
              "dimensions": [],
              "operator": "GreaterThan",
              "threshold": 80,
              "timeAggregation": "Average"
            }
          ]
        },
        "actions": [
          {
            "actionGroupId": "[concat('subscriptions/', subscription().subscriptionId, '/resourcegroups/', resourceGroup().name, '/providers/microsoft.insights/actionGroups/', parameters('actionGroups_alerts_name'))]"
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Insights/actionGroups', parameters('actionGroups_alerts_name'))]",
        "[resourceId('Microsoft.Insights/components', parameters('components_appinsights_name'))]"
      ]
    },
0 голосов
/ 31 июля 2019

Вы можете использовать Средство миграции с портала Azure, чтобы перенести все настроенные оповещения в более новые оповещения.Вы также можете обратиться к образцу шаблона, упомянутому в этом документе, или даже экспортировать шаблон с портала Azure, чтобы проверить представление.Следующий шаблон работает для меня:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "metricalerts_test_new_alerts_test_log_analytics_name": {
        "defaultValue": "test-new-alerts-test-log-analytics",
        "type": "String"
    },
    "webtests_test_new_alerts_test_log_analytics_externalid": {
        "defaultValue": "/subscriptions/xxxxx-xxxx-xxx-xxx-xxxxxxxx/resourceGroups/alertrg/providers/microsoft.insights/webtests/test-new-alerts-test-log-analytics",
        "type": "String"
    },
    "components_test_log_analytics_externalid": {
        "defaultValue": "/subscriptions/xxxxx-xxxx-xxx-xxx-xxxxxxxx/resourceGroups/alertrg/providers/microsoft.insights/components/test-log-analytics",
        "type": "String"
    }
},
"variables": {},
"resources": [
    {
        "type": "microsoft.insights/metricalerts",
        "apiVersion": "2018-03-01",
        "name": "[parameters('metricalerts_test_new_alerts_test_log_analytics_name')]",
        "location": "global",
        "tags": {
            "hidden-link:/subscriptions/xxxxx-xxxx-xxx-xxx-xxxxxxxx/resourcegroups/alertrg/providers/microsoft.insights/components/test-log-analytics": "Resource",
            "hidden-link:/subscriptions/xxxxx-xxxx-xxx-xxx-xxxxxxxx/resourcegroups/alertrg/providers/microsoft.insights/webtests/test-new-alerts-test-log-analytics": "Resource"
        },
        "properties": {
            "description": "[concat('Automatically created alert rule for availability test \"', parameters('metricalerts_test_new_alerts_test_log_analytics_name'), '\"')]",
            "severity": 1,
            "enabled": true,
            "scopes": [
                "[parameters('webtests_test_new_alerts_test_log_analytics_externalid')]",
                "[parameters('components_test_log_analytics_externalid')]"
            ],
            "evaluationFrequency": "PT1M",
            "windowSize": "PT5M",
            "criteria": {
                "odata.type": "Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria"
            },
            "actions": []
        }
    }
]
}

Примечание: Дата выхода на пенсию для переноса классических оповещений была продлена до 31 августа 2019 года с первоначально объявленной даты 30 июня 2019 года.

0 голосов
/ 25 января 2019

Тип "Microsoft.Insights / alertrules" - это классическая метрика, а Классические оповещения в Azure Monitor об отмене в июне 2019 года .

Вы можете использовать новый модуль метрическое оповещение с типом «Microsoft.Insights / metricAlerts». См. Метрическое оповещение в шаблоне , и вы узнаете все свойства, которые можно установить.

Подробнее о разнице между старым и новым оповещением см. Старые и новые возможности оповещения .

...