Примеры шаблонов Resource Manager для правил оповещений о работоспособности ресурсов в Azure Monitor

В этой статье приведены примеры шаблонов Azure Resource Manager для создания и настройки оповещений о работоспособности ресурсов в Azure Monitor.

Примечание.

Посмотрите примеры для Azure Resource Manager в Azure Monitor, чтобы ознакомиться с доступными примерами и рекомендациями по их развертыванию в вашей подписке Azure.

Сведения о настройке оповещений о работоспособности ресурсов с помощью шаблонов Resource Manager см. в статье "Настройка оповещений о работоспособности ресурсов" с помощью шаблонов ARM.

Базовый шаблон для оповещений о состоянии ресурсов

Этот базовый шаблон можно использовать в качестве отправной точки для создания оповещений о состоянии ресурсов. Этот шаблон будет работать в соответствии с написанным и подпишет вас на получение оповещений о всех недавно активированных событиях работоспособности ресурсов для всех ресурсов в подписке.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "activityLogAlertName": {
            "type": "string",
            "metadata": {
                "description": "Unique name (within the Resource Group) for the Activity log alert."
            }
        },
        "actionGroupResourceId": {
            "type": "string",
            "metadata": {
                "description": "Resource Id for the Action group."
            }
        }
    },
    "resources": [
        {
            "type": "Microsoft.Insights/activityLogAlerts",
            "apiVersion": "2023-01-01-preview",
            "name": "[parameters('activityLogAlertName')]",
            "location": "Global",
            "properties": {
                "enabled": true,
                "scopes": [
                    "[subscription().id]"
                ],
                "condition": {
                    "allOf": [
                        {
                            "field": "category",
                            "equals": "ResourceHealth"
                        },
                        {
                            "field": "status",
                            "equals": "Active"
                        }
                    ]
                },
                "actions": {
                    "actionGroups":
                    [
                        {
                            "actionGroupId": "[parameters('actionGroupResourceId')]"
                        }
                    ]
                }
            }
        }
    ]
}

Шаблон для максимального увеличения коэффициента сигнала к шуму

Этот пример шаблона настроен для максимального увеличения коэффициента сигнала к шуму. Имейте в виду, что могут быть случаи, когда значения свойств currentHealthStatus, previousHealthStatus и cause могут быть пустыми в некоторых событиях.

Сведения о настройке оповещений о работоспособности ресурсов с помощью шаблонов Resource Manager см. в статье "Настройка оповещений о работоспособности ресурсов" с помощью шаблонов ARM.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "activityLogAlertName": {
            "type": "string",
            "metadata": {
                "description": "Unique name (within the Resource Group) for the Activity log alert."
            }
        },
        "actionGroupResourceId": {
            "type": "string",
            "metadata": {
                "description": "Resource Id for the Action group."
            }
        }
    },
    "resources": [
        {
            "type": "Microsoft.Insights/activityLogAlerts",
            "apiVersion": "2023-01-01-preview",
            "name": "[parameters('activityLogAlertName')]",
            "location": "Global",
            "properties": {
                "enabled": true,
                "scopes": [
                    "[subscription().id]"
                ],
                "condition": {
                    "allOf": [
                        {
                            "field": "category",
                            "equals": "ResourceHealth",
                            "containsAny": null
                        },
                        {
                            "anyOf": [
                                {
                                    "field": "properties.currentHealthStatus",
                                    "equals": "Available",
                                    "containsAny": null
                                },
                                {
                                    "field": "properties.currentHealthStatus",
                                    "equals": "Unavailable",
                                    "containsAny": null
                                },
                                {
                                    "field": "properties.currentHealthStatus",
                                    "equals": "Degraded",
                                    "containsAny": null
                                }
                            ]
                        },
                        {
                            "anyOf": [
                                {
                                    "field": "properties.previousHealthStatus",
                                    "equals": "Available",
                                    "containsAny": null
                                },
                                {
                                    "field": "properties.previousHealthStatus",
                                    "equals": "Unavailable",
                                    "containsAny": null
                                },
                                {
                                    "field": "properties.previousHealthStatus",
                                    "equals": "Degraded",
                                    "containsAny": null
                                }
                            ]
                        },
                        {
                            "anyOf": [
                                {
                                    "field": "properties.cause",
                                    "equals": "PlatformInitiated",
                                    "containsAny": null
                                }
                            ]
                        },
                        {
                            "anyOf": [
                                {
                                    "field": "status",
                                    "equals": "Active",
                                    "containsAny": null
                                },
                                {
                                    "field": "status",
                                    "equals": "Resolved",
                                    "containsAny": null
                                },
                                {
                                    "field": "status",
                                    "equals": "In Progress",
                                    "containsAny": null
                                },
                                {
                                    "field": "status",
                                    "equals": "Updated",
                                    "containsAny": null
                                }
                            ]
                        }
                    ]
                },
                "actions": {
                    "actionGroups": [
                        {
                            "actionGroupId": "[parameters('actionGroupResourceId')]"
                        }
                    ]
                }
            }
        }
    ]
}

Следующие шаги

Узнайте больше о состоянии ресурсов.