Azure Resource Manager テンプレートを使用して Application Insights スマート検出ルールを管理する
Note
Application Insight リソースを、警告を利用したスマート検出 (プレビュー) に移行できます。 移行によって、さまざまなスマート検出モジュールのアラート ルールが作成されます。 ルールを作成すると、Azure Monitor の他の警告ルールと同様に、管理および構成することができます。 これらのルールに対するアクション グループを構成して、新たな検出があった場合にアクションを実行したり、通知をトリガーしたりする複数の方法を有効にすることもできます。
移行プロセスと移行後のスマート検出の動作の詳細については、スマート検出アラートの移行に関する記事を参照してください。
Application Insights のスマート検出ルールは、Azure Resource Manager テンプレートを使用して管理および構成できます。
この手法は、Resource Manager オートメーションで新しい Application Insights リソースをデプロイするとき、または既存のリソースの設定を変更するときに使用できます。
スマート検出ルールの構成
スマート検出ルールに対して次の設定を構成できます。
- ルールを有効にするかどうか。 (既定値は true です。)
- 検出された場合に、メールをサブスクリプションの [監視閲覧者] ロールと [監視共同作成者] ロールに関連付けられたユーザーに送信する必要があるかどうか。 (既定値は true です。)
- 検出された場合に、通知を受け取るその他のメール受信者。
- メールの構成は、プレビューとマークされたスマート検出ルールでは使用できません。
Resource Manager を使用してルールの設定を構成できるように、スマート検出ルールの構成は、Application Insights リソース内の内部リソースとして使用できます。 名前は ProactiveDetectionConfigs です。
柔軟性を最大化するために、各スマート検出ルールを一意の通知設定で構成できます。
例
次の例では、Resource Manager テンプレートを使用してスマート検出ルールの設定を構成する方法を示します。
すべてのサンプルが、"myApplication" という名前の Application Insights リソースを参照します。 また、"長い依存関係の期間のスマート検出ルール" も参照します。この内部名は "longdependencyduration" です。
Application Insights リソース名を置換し、関連するスマート検出ルールの内部名を指定する必要があります。 各スマート検出ルールに対応する Resource Manager 内部名の一覧については、次の表をご確認ください。
スマート検出ルールを無効にする
{
"apiVersion": "2018-05-01-preview",
"name": "myApplication",
"type": "Microsoft.Insights/components",
"location": "[resourceGroup().location]",
"properties": {
"Application_Type": "web"
},
"resources": [
{
"apiVersion": "2018-05-01-preview",
"name": "longdependencyduration",
"type": "ProactiveDetectionConfigs",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Insights/components', 'myApplication')]"
],
"properties": {
"name": "longdependencyduration",
"sendEmailsToSubscriptionOwners": true,
"customEmails": [],
"enabled": false
}
}
]
}
スマート検出ルールの電子メール通知の送信を無効にする
{
"apiVersion": "2018-05-01-preview",
"name": "myApplication",
"type": "Microsoft.Insights/components",
"location": "[resourceGroup().location]",
"properties": {
"Application_Type": "web"
},
"resources": [
{
"apiVersion": "2018-05-01-preview",
"name": "longdependencyduration",
"type": "ProactiveDetectionConfigs",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Insights/components', 'myApplication')]"
],
"properties": {
"name": "longdependencyduration",
"sendEmailsToSubscriptionOwners": false,
"customEmails": [],
"enabled": true
}
}
]
}
スマート検出ルールのメール受信者を追加する
{
"apiVersion": "2018-05-01-preview",
"name": "myApplication",
"type": "Microsoft.Insights/components",
"location": "[resourceGroup().location]",
"properties": {
"Application_Type": "web"
},
"resources": [
{
"apiVersion": "2018-05-01-preview",
"name": "longdependencyduration",
"type": "ProactiveDetectionConfigs",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Insights/components', 'myApplication')]"
],
"properties": {
"name": "longdependencyduration",
"sendEmailsToSubscriptionOwners": true,
"customEmails": ["alice@contoso.com", "bob@contoso.com"],
"enabled": true
}
}
]
}
スマート検出ルール名
次の表は、ポータルに表示されるスマート検出ルールの名前を示しています。 この表には、Resource Manager テンプレートで使用する内部名も含まれています。
Note
プレビュー としてマークされているスマート検出ルールでは、メール通知はサポートされません。 これらのルールに対しては、有効な プロパティのみを設定できます。
Azure portal ルール名 | 内部名 |
---|---|
ページの読み込み速度が遅い | slowpageloadtime |
サーバーの応答速度が遅い | slowserverresponsetime |
依存関係の期間が長い | longdependencyduration |
サーバー応答速度の低下 | degradationinserverresponsetime |
依存関係の期間の減少 | degradationindependencyduration |
トレースの重大度の比率の低下 (プレビュー) | extension_traceseveritydetector |
例外数の異常な上昇 (プレビュー) | extension_exceptionchangeextension |
Potential memory leak detected (潜在的なメモリ リークの検出) (プレビュー) | extension_memoryleakextension |
Potential security issue detected (潜在的なセキュリティの問題の検出) (プレビュー) | extension_securityextensionspackage |
日次データ ボリュームの異常な上昇 (プレビュー) | extension_billingdatavolumedailyspikeextension |
失敗の異常の警告ルール
この Resource Manager テンプレートでは、重大度が 2 の失敗の異常の警告ルールを構成する方法について示しています。
Note
失敗の異常はグローバル サービスであるため、ルールはグローバルな場所に作成されます。
{
"$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": "Failure Anomalies - my-app",
"location": "global",
"properties": {
"description": "Failure Anomalies notifies you of an unusual rise in the rate of failed HTTP requests or dependency calls.",
"state": "Enabled",
"severity": "2",
"frequency": "PT1M",
"detector": {
"id": "FailureAnomaliesDetector"
},
"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"]
}
}
}
]
}
Note
この Resource Manager テンプレートは、失敗の異常の警告ルールに固有のものであり、この記事で説明されている他の従来のスマート検出ルールとは異なります。 失敗の異常を手動で管理する場合は、Azure Monitor アラートを使用します。 その他のスマート検出ルールはすべて、UI の [スマート検出] ペインで管理されます。
次のステップ
自動検出の詳細を確認します。