このガイドでは、Azure Resource Manager (ARM) テンプレートを使用して、サービス正常性通知のサービス正常性アラートを設定する方法について説明します。
Azure Resource Manager テンプレートは JavaScript Object Notation (JSON) ファイルであり、プロジェクトのインフラストラクチャと構成が定義されています。 このテンプレートでは、宣言型の構文が使用されています。 デプロイしようとしているものを、デプロイを作成する一連のプログラミング コマンドを記述しなくても記述できます。
概要
サービス正常性通知は、Azure アクティビティ ログに格納されます。 アクティビティ ログに格納されている可能性のある大量の情報を考えると、サービス正常性通知に関するアラートの表示と設定を容易にする別のユーザー インターフェイスがあります。
Azure でサービス正常性通知を Azure サブスクリプションに送信するときに、アラートを受け取ることができます。 次の情報に基づくアラートを構成できます。
- サービス正常性通知のクラス (サービスに関する問題、計画済みメンテナンス、正常性の勧告)。
- 影響を受けたサブスクリプション。
- 影響を受けるサービス。
- 影響を受けるリージョン。
注意
サービス正常性通知では、リソース正常性イベントに関するアラートは送信されません。
次の方法でアラートを送信するユーザーを構成することもできます。
- 既存のアクション グループを選択します。
- 今後のアラートに使用できる新しいアクション グループを作成します。
アクション グループの詳細については、アクション グループの作成および管理に関するページを参照してください。
前提条件
- Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- ローカル コンピューターからコマンドを実行するには、Azure CLI または Azure PowerShell モジュールをインストールします。 詳細については、「Azure CLI のインストール」および「Azure PowerShell をインストールする」を参照してください。
1. テンプレートを確認する
次のテンプレートでは、電子メール ターゲットを使用してアクション グループを作成し、ターゲット サブスクリプションのすべてのサービス正常性通知を有効にします。
このテンプレートを CreateServiceHealthAlert.json として保存します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"actionGroups_name": {
"type": "string",
"defaultValue": "SubHealth"
},
"activityLogAlerts_name": {
"type": "string",
"defaultValue": "ServiceHealthActivityLogAlert"
},
"emailAddress": {
"type": "string"
}
},
"variables": {
"alertScope": "[format('/subscriptions/{0}', subscription().subscriptionId)]"
},
"resources": [
{
"type": "microsoft.insights/actionGroups",
"apiVersion": "2019-06-01",
"name": "[parameters('actionGroups_name')]",
"location": "Global",
"properties": {
"groupShortName": "[parameters('actionGroups_name')]",
"enabled": true,
"emailReceivers": [
{
"name": "[parameters('actionGroups_name')]",
"emailAddress": "[parameters('emailAddress')]"
}
],
"smsReceivers": [],
"webhookReceivers": []
}
},
{
"type": "microsoft.insights/activityLogAlerts",
"apiVersion": "2017-04-01",
"name": "[parameters('activityLogAlerts_name')]",
"location": "Global",
"properties": {
"scopes": [
"[variables('alertScope')]"
],
"condition": {
"allOf": [
{
"field": "category",
"equals": "ServiceHealth"
},
{
"field": "properties.incidentType",
"equals": "Incident"
}
]
},
"actions": {
"actionGroups": [
{
"actionGroupId": "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]",
"webhookProperties": {}
}
]
},
"enabled": true
},
"dependsOn": [
"[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]"
]
}
]
}
このテンプレートでは、次の 2 つのリソースが定義されます。
2. テンプレートをデプロイする
ARM テンプレートをデプロイするための任意の標準的な方法を使用して テンプレートをデプロイします。 CLI と PowerShell を使用する場合は、次の例を使用できます。
リソース グループと emailAddress のサンプル値を、環境に適した値に置き換えます。
az login
az deployment group create --name CreateServiceHealthAlert --resource-group my-resource-group --template-file CreateServiceHealthAlert.json --parameters emailAddress='user@contoso.com'
3.デプロイを検証する
次のいずれかのコマンドを使用して、ワークスペースが作成されていることを確認します。 リソース グループのサンプル値を、使用した値に置き換えます。
az monitor activity-log alert show --resource-group my-resource-group --name ServiceHealthActivityLogAlert
4. リソースをクリーンアップする
後続のクイック スタートおよびチュートリアルを引き続き実行する場合は、これらのリソースをそのまま残しておくことができます。
リソース グループは不要になったら削除できます。この場合、アラート ルールと関連リソースが削除されます。 Azure CLI または Azure PowerShell コマンドを使用してリソース グループを削除するには、次に示します。
az group delete --name my-resource-group
次のステップ
- Azure Service Health アラートの設定に関するベスト プラクティスを学習します。
- Azure Service Health のモバイル プッシュ通知を設定する方法について学習します。
- 既存の問題管理システム用の webhook 通知を構成する方法について学習します。
- サービス正常性の通知について学習します。
- 通知のレート制限について学習します。
- サービス正常性アラート Webhook スキーマを確認します。
- サービス正常性アラートの概要を把握し、アラートを受信する方法について学習します。
- アクション グループについて学習します。