Перенос интеллектуального обнаружения Azure Monitor Application Insights в оповещения (предварительная версия)
В этой статье описывается процесс перевода интеллектуального обнаружения Application Insights на основу оповещений. При миграции создаются правила генерации оповещений для различных модулей интеллектуального обнаружения. Эти правила можно управлять и настраивать, как и любые другие правила генерации оповещений Azure Monitor. Вы также можете настроить группы действий для этих правил, чтобы получить несколько методов действий или уведомлений о новых обнаружениях.
Преимущества перехода на оповещения
Благодаря миграции в рамках интеллектуального обнаружения становятся доступны все возможности оповещений Azure Monitor, включая перечисленные ниже.
- Расширенные параметры уведомлений для всех детекторов: используйте группы действий для настройки нескольких типов уведомлений и действий, которые активируются при срабатывании оповещения. Вы можете настроить уведомления по электронной почте, SMS, голосовой вызову или push-уведомлениям. Вы можете настроить такие действия, как вызов безопасного веб-перехватчика, приложения логики и runbook автоматизации. Группы действий расширяют возможности управления, позволяя настроить действия один раз и использовать их в различных правилах генерации оповещений.
- Управление в масштабе. Оповещения интеллектуального обнаружения используют интерфейсы оповещений Azure Monitor и API.
- Подавление уведомлений на основе правил. Используйте правила действий для определения или подавления действий в любой области Azure Resource Manager, такой как подписка Azure, группа ресурсов или целевой ресурс. Фильтры помогают сузить определенное подмножество экземпляров оповещений, над которыми вы хотите действовать.
Возможности интеллектуального обнаружения после миграции
При переносе ресурса Application Insights создается новый набор правил генерации оповещений. Для каждой возможности интеллектуального обнаружения создается одно правило. В следующей таблице перечислены возможности интеллектуального обнаружения до миграции с правилами генерации оповещений после миграции.
Имя правила интеллектуального обнаружения (1) | Имя правила генерации оповещений (2) |
---|---|
Увеличение времени отклика сервера | Снижение задержки ответа — <Имя ресурса Application Insights> |
Увеличение времени отклика зависимостей | Снижение задержки зависимости — <Имя ресурса Application Insights> |
Ухудшение соотношения серьезности трассировок (предварительная версия) | Снижение задержки трассировки — <Имя ресурса Application Insights> |
Чрезмерное увеличение числа исключений (предварительная версия) | Аномалии исключений — <Имя ресурса Application Insights> |
Обнаружена возможная утечка памяти (предварительная версия) | Возможная утечка памяти — <Имя ресурса Application Insights> |
Большое время загрузки страниц | Больше не поддерживается (3) |
Большое время отклика сервера | Больше не поддерживается (3) |
Длительное время отклика зависимостей | Больше не поддерживается (3) |
Обнаружена возможная проблема с безопасностью (предварительная версия) | Больше не поддерживается (3) |
Чрезмерное увеличение ежедневного объема данных исключений (предварительная версия) | Больше не поддерживается (3) |
(1) Имя правила, отображаемого в области параметров интеллектуального обнаружения.
(2) Имя нового правила генерации оповещений после миграции.
(3) Эти возможности интеллектуального обнаружения не преобразуются в оповещения из-за низкой использования и повторной оценки эффективности обнаружения. Эти детекторы больше не будут поддерживаться для этого ресурса после завершения миграции.
Примечание.
Интеллектуальный детектор аномалий сбоя уже создан в качестве правила генерации оповещений и не требует миграции. Он не рассматривается в этой статье.
Миграция не вызывает изменения алгоритмической структуры и поведения интеллектуального обнаружения. После миграции эффективность обнаружения не меняется.
Миграцию каждого ресурса Application Insights необходимо выполнять отдельно. Для ресурсов, которые не переносятся явным образом, интеллектуальное обнаружение будет работать как раньше.
Настройка групп действий для новых правил генерации оповещений интеллектуального обнаружения
В рамках миграции для каждого нового правила генерации оповещений автоматически настраивается группа действий. При миграции каждому правилу может назначаться группа действий по умолчанию. Группа действий по умолчанию настраивается в соответствии с уведомлением правила перед миграцией.
Если правило интеллектуального обнаружения было настроено по умолчанию или нет уведомлений, новое правило генерации оповещений настроено с помощью группы действий с именем Application Insights Smart Detection.
- Если средство миграции обнаруживает существующую группу действий с таким именем, оно связывает новое правило генерации оповещений с ней.
- В противном случае создается новая группа действий с таким именем. Новая группа настроена для действий роли Azure Resource Manager электронной почты и отправляет уведомления пользователям службы "Участник мониторинга Azure Resource Manager" и "Читатель мониторинга".
Если уведомление по умолчанию было изменено до миграции, создается группа действий с именем Application Insights Smart Detection <n> , при этом действие электронной почты отправляет уведомления на ранее настроенные адреса электронной почты.
Вместо использования группы действий по умолчанию вы выбираете существующую группу действий, которая будет настроена для всех новых правил генерации оповещений.
Выполнение процесса миграции интеллектуального обнаружения
Для выполнения миграции используйте портал Azure, Azure CLI или шаблоны Azure Resource Manager (шаблоны ARM).
Перенос интеллектуального обнаружения с помощью портал Azure
Чтобы перенести интеллектуальное обнаружение в ресурсе, выполните приведенные далее действия.
Выберите интеллектуальное обнаружение в заголовке "Исследование" в ресурсе Application Insights.
Выберите баннер с чтением функции "Миграция интеллектуального обнаружения" в оповещения (предварительная версия). Откроется диалоговое окно миграции.
Выберите параметр "Перенести все ресурсы Application Insights" в этом параметре подписки . Вы также можете удалить параметр, если вы хотите перенести только текущий ресурс, в который вы находитесь.
Примечание.
Выбор этого параметра влияет на все существующие ресурсы Application Insights, которые еще не перенесены. Пока миграция на оповещения находится на этапе предварительной версии, новые ресурсы Application Insights будут по-прежнему создаваться с интеллектуальным обнаружением без оповещений.
Выберите группу действий, которую нужно настроить для новых правил генерации оповещений. Вы можете использовать группу действий по умолчанию, как описано или использовать одну из существующих групп действий.
Выберите Миграция, чтобы начать процесс миграции.
После миграции для ресурса Application Insights создаются новые правила генерации оповещений, как описано.
Перенос интеллектуального обнаружения с помощью Azure CLI
Запустите миграцию интеллектуального обнаружения с помощью следующей команды Azure CLI. Команда активирует предварительно настроенный процесс миграции, как описано ранее.
az rest --method POST --uri /subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/migrateFromSmartDetection?api-version=2021-01-01-preview --body @body.txt
Чтобы перенести один ресурс Application Insights, body.txt должны включать:
{
"scope": [
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}"
],
"actionGroupCreationPolicy" : "{Auto/Custom}",
"customActionGroupName" : "{actionGroupName}"
}
Чтобы перенести все ресурсы Application Insights в подписке, body.txt должны включать:
{
"scope": [
"/subscriptions/{subscriptionId} "
],
"actionGroupCreationPolicy" : "{Auto/Custom}",
"customActionGroupName" : "{actionGroupName}"
}
Параметр ActionGroupCreationPolicy
выбирает политику для переноса параметров электронной почты в правилах интеллектуального обнаружения в группы действий. Допустимые значения:
- Авто: использует группы действий по умолчанию, как описано в этом документе.
- Custom: создает все правила генерации оповещений с группой действий, указанной в
customActionGroupName
. - <пусто>: если
ActionGroupCreationPolicy
не указано,Auto
используется политика.
Перенос интеллектуального обнаружения с помощью шаблонов ARM
Вы можете активировать миграцию интеллектуального обнаружения в оповещения для определенного ресурса Application Insights с помощью шаблонов ARM. Чтобы использовать этот метод, необходимо выполнить следующие действия.
- Создайте правило генерации оповещений интеллектуального обнаружения для каждого поддерживаемого детектора.
- Измените свойства Application Insights, чтобы указать, что миграция завершена.
С помощью этого метода можно контролировать, какие правила генерации оповещений создавать, определять имя и описание правила генерации оповещений, а также выбирать любую группу действий, которую требуется для каждого правила.
Используйте следующие шаблоны для этой цели. Измените их по мере необходимости, чтобы указать идентификатор подписки и имя ресурса Application Insights.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"applicationInsightsResourceName": {
"type": "string"
},
"actionGroupName": {
"type": "string",
"defaultValue": "Application Insights Smart Detection"
},
"actionGroupResourceGroup": {
"type": "string",
"defaultValue": "[resourceGroup().Name]"
}
},
"variables": {
"applicationInsightsResourceId": "[concat('/subscriptions/',subscription().subscriptionId,'/resourceGroups/',resourceGroup().Name,'/providers/microsoft.insights/components/',parameters('applicationInsightsResourceName'))]",
"actionGroupId": "[concat('/subscriptions/',subscription().subscriptionId,'/resourceGroups/',parameters('actionGroupResourceGroup'),'/providers/microsoft.insights/ActionGroups/',parameters('actionGroupName'))]",
"requestPerformanceDegradationDetectorRuleName": "[concat('Response Latency Degradation - ', parameters('applicationInsightsResourceName'))]",
"dependencyPerformanceDegradationDetectorRuleName": "[concat('Dependency Latency Degradation - ', parameters('applicationInsightsResourceName'))]",
"traceSeverityDetectorRuleName": "[concat('Trace Severity Degradation - ', parameters('applicationInsightsResourceName'))]",
"exceptionVolumeChangedDetectorRuleName": "[concat('Exception Anomalies - ', parameters('applicationInsightsResourceName'))]",
"memoryLeakRuleName": "[concat('Potential Memory Leak - ', parameters('applicationInsightsResourceName'))]"
},
"resources": [
{
"name": "[variables('requestPerformanceDegradationDetectorRuleName')]",
"type": "Microsoft.AlertsManagement/smartdetectoralertrules",
"location": "global",
"apiVersion": "2019-03-01",
"properties": {
"description": "Response Latency Degradation notifies you of an unusual increase in latency in your app response to requests.",
"state": "Enabled",
"severity": "Sev3",
"frequency": "PT24H",
"detector": {
"id": "RequestPerformanceDegradationDetector"
},
"scope": [
"[variables('applicationInsightsResourceId')]"
],
"actionGroups": {
"groupIds": [
"[variables('actionGroupId')]"
]
}
}
},
{
"name": "[variables('dependencyPerformanceDegradationDetectorRuleName')]",
"type": "Microsoft.AlertsManagement/smartdetectoralertrules",
"location": "global",
"apiVersion": "2019-03-01",
"properties": {
"description": "Dependency Latency Degradation notifies you of an unusual increase in response by a dependency your app is calling (e.g. REST API or database)",
"state": "Enabled",
"severity": "Sev3",
"frequency": "PT24H",
"detector": {
"id": "DependencyPerformanceDegradationDetector"
},
"scope": [
"[variables('applicationInsightsResourceId')]"
],
"actionGroups": {
"groupIds": [
"[variables('actionGroupId')]"
]
}
}
},
{
"name": "[variables('traceSeverityDetectorRuleName')]",
"type": "Microsoft.AlertsManagement/smartdetectoralertrules",
"location": "global",
"apiVersion": "2019-03-01",
"properties": {
"description": "Trace Severity Degradation notifies you of an unusual increase in the severity of the traces generated by your app.",
"state": "Enabled",
"severity": "Sev3",
"frequency": "PT24H",
"detector": {
"id": "TraceSeverityDetector"
},
"scope": [
"[variables('applicationInsightsResourceId')]"
],
"actionGroups": {
"groupIds": [
"[variables('actionGroupId')]"
]
}
}
},
{
"name": "[variables('exceptionVolumeChangedDetectorRuleName')]",
"type": "Microsoft.AlertsManagement/smartdetectoralertrules",
"location": "global",
"apiVersion": "2019-03-01",
"properties": {
"description": "Exception Anomalies notifies you of an unusual rise in the rate of exceptions thrown by your app.",
"state": "Enabled",
"severity": "Sev3",
"frequency": "PT24H",
"detector": {
"id": "ExceptionVolumeChangedDetector"
},
"scope": [
"[variables('applicationInsightsResourceId')]"
],
"actionGroups": {
"groupIds": [
"[variables('actionGroupId')]"
]
}
}
},
{
"name": "[variables('memoryLeakRuleName')]",
"type": "Microsoft.AlertsManagement/smartdetectoralertrules",
"location": "global",
"apiVersion": "2019-03-01",
"properties": {
"description": "Potential Memory Leak notifies you of increased memory consumption pattern by your app which may indicate a potential memory leak.",
"state": "Enabled",
"severity": "Sev3",
"frequency": "PT24H",
"detector": {
"id": "MemoryLeakDetector"
},
"scope": [
"[variables('applicationInsightsResourceId')]"
],
"actionGroups": {
"groupIds": [
"[variables('actionGroupId')]"
]
}
}
},
{
"name": "[concat(parameters('applicationInsightsResourceName'),'/migrationToAlertRulesCompleted')]",
"type": "Microsoft.Insights/components/ProactiveDetectionConfigs",
"location": "[resourceGroup().location]",
"apiVersion": "2018-05-01-preview",
"properties": {
"name": "migrationToAlertRulesCompleted",
"sendEmailsToSubscriptionOwners": false,
"customEmails": [],
"enabled": true
},
"dependsOn": [
"[resourceId('Microsoft.AlertsManagement/smartdetectoralertrules', variables('requestPerformanceDegradationDetectorRuleName'))]",
"[resourceId('Microsoft.AlertsManagement/smartdetectoralertrules', variables('dependencyPerformanceDegradationDetectorRuleName'))]",
"[resourceId('Microsoft.AlertsManagement/smartdetectoralertrules', variables('traceSeverityDetectorRuleName'))]",
"[resourceId('Microsoft.AlertsManagement/smartdetectoralertrules', variables('exceptionVolumeChangedDetectorRuleName'))]",
"[resourceId('Microsoft.AlertsManagement/smartdetectoralertrules', variables('memoryLeakRuleName'))]"
]
}
]
}
Просмотр оповещений после миграции
После миграции вы можете просмотреть оповещения интеллектуального обнаружения, выбрав запись "Оповещения " в ресурсе Application Insights. Для типа Signal выберите Smart Detector для фильтрации и представления только оповещений интеллектуального обнаружения. Вы можете выбрать оповещение, чтобы просмотреть сведения об обнаружении.
Вы также можете просмотреть доступные обнаружения в веб-канале интеллектуального обнаружения ресурса Application Insights.
Управление параметрами правил генерации оповещений интеллектуального обнаружения после миграции
Используйте портал Azure или шаблоны ARM для управления параметрами правил генерации оповещений интеллектуального обнаружения после миграции.
Управление параметрами правил генерации оповещений с помощью портал Azure
После завершения миграции вы обращаетесь к новым правилам генерации оповещений интеллектуального обнаружения так же, как и к другим правилам генерации оповещений, определенным для ресурса.
Выберите оповещения в заголовке "Мониторинг" в ресурсе Application Insights.
Выберите " Управление правилами генерации оповещений".
Для типа Signal выберите Smart Detector для фильтрации и представления правил генерации оповещений интеллектуального обнаружения.
Включение или отключение правил генерации оповещений интеллектуального обнаружения
Правила генерации оповещений интеллектуального обнаружения можно включить или отключить с помощью пользовательского интерфейса портала или программно, как и любое другое правило генерации оповещений.
Если перед миграцией определенное правило интеллектуального обнаружения было отключено, новое правило генерации оповещений также будет отключено.
Настройка групп действий для правил генерации оповещений
Вы можете создавать группы действий и управлять ими для новых правил генерации оповещений интеллектуального обнаружения, например для любого другого правила генерации оповещений Azure Monitor.
Управление параметрами правила генерации оповещений с помощью шаблонов ARM
После завершения миграции можно использовать шаблоны ARM для настройки параметров правила генерации оповещений интеллектуального обнаружения.
Примечание.
После завершения миграции параметры интеллектуального обнаружения необходимо настроить с помощью шаблонов правил генерации оповещений интеллектуального обнаружения. Они больше не могут быть настроены с помощью шаблона Application Insights Resource Manager.
В этом примере шаблона ARM показано, как настроить Response Latency Degradation
правило генерации оповещений Enabled
в состоянии с серьезностью 2
.
Интеллектуальное обнаружение — это глобальная служба, поэтому в расположении
global
создается расположение правила.Свойство
id
должно измениться в соответствии с заданным детектором. Возможны следующие значения:FailureAnomaliesDetector
RequestPerformanceDegradationDetector
DependencyPerformanceDegradationDetector
ExceptionVolumeChangedDetector
TraceSeverityDetector
MemoryLeakDetector
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "microsoft.alertsmanagement/smartdetectoralertrules",
"apiVersion": "2019-03-01",
"name": "Response Latency Degradation - my-app",
"location": "global",
"properties": {
"description": "Response Latency Degradation notifies you of an unusual increase in latency in your app response to requests.",
"state": "Enabled",
"severity": "2",
"frequency": "PT24H",
"detector": {
"id": "RequestPerformanceDegradationDetector"
},
"scope": ["/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyResourceGroup/providers/microsoft.insights/components/my-app"],
"actionGroups": {
"groupIds": ["/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/MyResourceGroup/providers/microsoft.insights/actiongroups/MyActionGroup"]
}
}
}
]
}