2020-03-20Azure,Monitor,PowerShell/Azure CLI
Azure Monitorのアクショングループの作成やテスト通知の手順をまとめました。
-
- アクショングループ作成(Azure Portal、Azure PowerShell、REST API、Azure CLI)
- テスト通知(Azure Portal、Azure PowerShell、REST API、Azure CLI)
- アクショングループ実行確認
メール通知のアクションを例に手順をまとめています。
アクショングループの実行確認方法も記載しています。
※Azure PowerShell(Azモジュール)は11.2.0を利用しています。
※Azure CLIは2.54.0を利用しています。
※Azure REST APIはブラウザから実行しています。実行時のAPI Versionは2021-09-01です。
アクショングループ作成
作成したアクショングループの設定値
作成したアクショングループの設定値です。
作成方法により設定値の末尾に数値を付加しています。
-
- 末尾の数値
- Azure Portal:01
- Azure PowerShell:02
- REST API:03
- Azure CLI:04
タブ名 |
項目名 |
設定値 |
基本 |
リージョン |
グローバル |
アクショングループ名 |
actiongroup-xx |
表示名 |
ag-xx |
通知 |
通知タイプ |
電子メール/SMS メッセージ/プッシュ/音声 |
名前 |
mail-xx |
電子メール |
チェックあり
通知先メールアドレスを設定 |
共通アラートスキーマ |
有効にする |
アクション |
設定しない |
※特定のリージョンにアクショングループを保存したい場合には、個別のリージョンを選択します。
Azure Portal
Azure Portalでアクショングループを作成します。
Azure portal でアクション グループを作成する
MS Learnを確認しながら進めます。
アクショングループを確認
Azure Portalで作成したアクショングループを確認します。
アクショングループ確認 |
左側のメニューでアラートを選択します。
アクショングループを選択します。 |
|
アクショングループのリストが表示されます。
作成したアクショングループが確認できます。 |
|
アクショングループを選択すると通知設定が確認できます。 |
|
アクショングループ作成時には通知先にメールが届く
アクショングループを作成した場合、通知先には確認メールが届きます。
通知メール確認 |
アクショングループ作成時には通知先メールアドレスに確認メッセージが送信されます。
アクショングループの名前や表示名が確認できます。 |
|
Azure PowerShell
Azure PowerShellを利用してアクショングループを作成します。
New-AzActionGroupEmailReceiverObject を使用してメール通知の設定を作成し、その設定を変数に格納します。
その後、格納した変数を使用してアクショングループを作成します。
アクショングループ作成にはNew-AzActionGroupを利用します。
通知方法に応じたコマンドレットが用意されています。
SMS通知の場合はNew-AzActionGroupSmsReceiverObjectを利用します。
※Azure PowerShell(Azモジュール)は11.2.0を利用しています。
アクショングループ作成 |
New-AzActionGroupEmailReceiverObject を使用してメール通知を作成します。
New-AzActionGroup を使用してアクショングループを作成します。
New-AzActionGroup の実行時に Enabled オプションを追加します。
オプションが指定されていない場合、アクショングループは無効な状態でデプロイされます。
$resourcegroupname = “test-rg-01″ #リソースグループ名
$location = “Global" #リージョン
$actiongroupname = “actiongroup-02″ #アクショングループ名
$actiongroupshortname = “ag-02″ #表示名
$emailreceivername = “mail-02″ #通知名
$emailaddress = “通知先メールアドレス" #通知先メールアドレス
$usecommonalertschema = 1 #共通アラートスキーマ(1で有効化)
#メール通知を作成(メール通知設定値を変数 $emailobject01に格納)
$emailobject01 = New-AzActionGroupEmailReceiverObject `
-EmailAddress $emailaddress `
-Name $emailreceivername `
-UseCommonAlertSchema $usecommonalertschema
#アクショングループを作成
New-AzActionGroup -Name $actiongroupname `
-GroupShortName $actiongroupshortname `
-ResourceGroupName $resourcegroupname `
-Location $location `
-EmailReceiver $emailobject01 `
-Enabled
|
|
Get-AzActionGroupで作成したアクショングループを確認します。
作成したアクショングループが確認できます。
※Azure Portalで確認すると有効化されている事が確認できます。
|
PS C:\>
$resourcegroupname = “test-rg-01"
PS C:\>
Get-AzActionGroup -ResourceGroupName $resourcegroupname
Location Name ResourceGroupName
——– —- —————–
Global actiongroup-02 test-rg-01
Global actiongroup-01 test-rg-01
|
|
|
Get-AzActionGroupを使用してリソースを指定すると、作成したアクショングループの詳細を確認できます。
EmailReceiverの項目では通知設定の詳細が表示されます。
Enabledの値がTrueとなっておりアクショングループが有効化されている事が確認できます。
PS C:\> $resourcegroupname = “test-rg-01"
PS C:\> $actiongroupname = “actiongroup-02"
PS C:\> Get-AzActionGroup -ResourceGroupName $resourcegroupname -name $actiongroupname
ArmRoleReceiver : {}
AutomationRunbookReceiver : {}
AzureAppPushReceiver : {}
AzureFunctionReceiver : {}
EmailReceiver : {{
“name": “mail-02",
“emailAddress": “通知先メールアドレス",
“useCommonAlertSchema": true,
“status": “Enabled"
}}
Enabled : True
EventHubReceiver : {}
GroupShortName : ag-02
Id : /subscriptions/サブスクリプションID/resourceGroups/test-rg-01/providers/microsoft.insights/actionGroups/actiongroup-02
ItsmReceiver : {}
Location : Global
LogicAppReceiver : {}
Name : actiongroup-02
ResourceGroupName : test-rg-01
SmsReceiver : {}
Tag : {
}
Type : Microsoft.Insights/ActionGroups
VoiceReceiver : {}
WebhookReceiver : {}
|
|
Azure Portalでアクショングループの設定を確認します。
メール通知設定が確認できます。 |
|
Azure REST API
Azure REST APIを利用してアクショングループを作成します。
今回はブラウザから実行しています。MS LearnのREST APIを使ってみるを利用しています。
ブラウザやPostmanを使ったAzure REST APIの操作手順についてはこちらに纏めています。
アクショングループ作成 |
MS Learn のページでパラメータおよび本文の設定を行い実行します。
【要求URL例(PUT)】
https://management.azure.com/subscriptions/サブスクリプションID/resourceGroups/test-rg-01/providers/Microsoft.Insights/actionGroups/actiongroup-03?api-version=2021-09-01
|
【本文例】
{
“location": “Global",
“tags": {},
“properties": {
“groupShortName": “ag-03",
“enabled": true,
“emailReceivers": [
{
“name": “mail-03",
“emailAddress": “通知先メールアドレス",
“useCommonAlertSchema": true
}
]
}
}
|
|
作成したアクショングループを確認します。
【要求URL例(GET)】
https://management.azure.com/subscriptions/サブスクリプションID/resourceGroups/test-rg-01/providers/Microsoft.Insights/actionGroups/actiongroup-03?api-version=2021-09-01
|
REST APIの応答を確認します。
アクショングループの設定内容が確認できます。
emailReceiversの項目でメール通知の設定内容が確認できます。
{
“id": “/subscriptions/サブスクリプションID/resourceGroups/test-rg-01/providers/microsoft.insights/actionGroups/actiongroup-03",
“type": “Microsoft.Insights/ActionGroups",
“name": “actiongroup-03",
“location": “Global",
“kind": null,
“tags": null,
“properties": {
“groupShortName": “ag-03",
“enabled": true,
“emailReceivers": [
{
“name": “mail-03",
“emailAddress": “通知先メールアドレス",
“useCommonAlertSchema": true,
“status": “Enabled"
}
],
“smsReceivers": [],
“webhookReceivers": [],
“eventHubReceivers": [],
“itsmReceivers": [],
“azureAppPushReceivers": [],
“automationRunbookReceivers": [],
“voiceReceivers": [],
“logicAppReceivers": [],
“azureFunctionReceivers": [],
“armRoleReceivers": []
}
}
|
|
Azure Portalで確認します。
REST APIで作成したアクショングループが確認できます。 |
|
|
Azure CLI
Azure CLIを使用してアクショングループを作成します。
az monitor action-group createを使用してアクショングループを作成します。
作成したアクショングループを確認する際には、az monitor action-group listやaz monitor action-group showを使用します。
※Azure CLIは2.54.0を利用しています。
アクショングループ作成 |
az monitor action-group createを使用してアクショングループを作成します。
メール通知設定はactionのオプションで使用します。
actionのオプション内でusecommonalertschemaを指定する事で共通アラートスキーマを有効化する事が出来ます。
$resourcegroupname = “test-rg-01″ #リソースグループ名
$location = “Global" #リージョン名
$actiongroupname = “actiongroup-04″ #アクショングループ名
$actiongroupshortname = “ag-04″ #表示名
$emailreceivername = “mail-04″ #通知名
$emailaddress = “通知先メールアドレス" #通知先メールアドレス
az monitor action-group create `
–action-group-name $actiongroupname `
–resource-group $resourcegroupname `
–action email $emailreceivername $emailaddress usecommonalertschema `
–group-short-name $actiongroupshortname `
–location $location
|
|
アクショングループのリストをaz monitor action-group listで表示します。
PS C:\>
az monitor action-group list –output table
Name ResourceGroup GroupShortName Enabled Location Email Sms Webhook Armrole Azureapppush Itsm Automationrunbook Voice Logicapp Azurefunction Eventhub
————– ————— —————- ——— ———- ——- —– ——— ——— ————– —— ——————- ——- ———- ————— ———-
actiongroup-02 test-rg-01 ag-02 True Global 1 0 0 0 0 0 0 0 0 0 0
actiongroup-03 test-rg-01 ag-03 True Global 1 0 0 0 0 0 0 0 0 0 0
actiongroup-04 test-rg-01 ag-04 True Global 1 0 0 0 0 0 0 0 0 0 0
actiongroup-01 test-rg-01 ag-01 True Global 1 0 0 0 0 0 0 0 0 0 0
|
|
Azure Portalで確認します。
作成したアクショングループを確認できます。 |
|
PS C:\> az monitor action-group show –name actiongroup-04 –resource-group test-rg-01
{
“armRoleReceivers": [],
“automationRunbookReceivers": [],
“azureAppPushReceivers": [],
“azureFunctionReceivers": [],
“emailReceivers": [
{
“emailAddress": “通知先メールアドレス,
“name": “mail-04",
“status": “Enabled",
“useCommonAlertSchema": true
}
],
“enabled": true,
“eventHubReceivers": [],
“groupShortName": “ag-04",
“id": “/subscriptions/サブスクリプションID/resourceGroups/test-rg-01/providers/microsoft.insights/actionGroups/actiongroup-04",
“itsmReceivers": [],
“location": “Global",
“logicAppReceivers": [],
“name": “actiongroup-04",
“resourceGroup": “test-rg-01",
“smsReceivers": [],
“type": “Microsoft.Insights/ActionGroups",
“voiceReceivers": [],
“webhookReceivers": []
}
|
|
Azure Portalで確認します。
メール通知設定が確認できます。 |
|
テスト通知
作成したアラートルールをテストする事が出来ます。
Azure Portal
Azure Portalからテスト通知を行ってみます。
Azureポータルでアクショングループをテストする
MS Learnを参考に進めます。
サンプルにはメトリックアラート – 静的しきい値を使用します。
テスト通知 |
アクショングループの画面で概要にあるテストを選択します。
サンプルの種類と通知先にチェックを入れます。
Testを選択します。 |
|
テストの実行画面が表示されます。
しばらくすると完了メッセージが表示されます。 |
|
|
通知先のメールアドレスにテストメールが届きます。 |
|
Azure PowerShell
Azure PowerShellを使用してテスト通知を行います。
サンプルにはメトリックアラート – 静的しきい値を使用します。
テスト実行にはTest-AzActionGroupを使用します。
Get-AzActionGroupで取得した値を利用しています。
※Azure PowerShell(Azモジュール)は11.2.0を利用しています。
テスト通知 |
Get-AzActionGroupを使用してアクショングループの情報を取得します。
Test-AzActionGroupでテストを実行します。
Test-AzActionGroupのパラメータにはGet-AzActionGroupで取得したアクショングループの設定内容を使用します。
AlertTypeのパラメータを参照設定します。
AlertType
メトリックアラート – 静的しきい値の場合にはAlertTypeにmetricstaticthresholdを指定します。
$resourcegroupname = “test-rg-01″ #リソースグループ名
$actiongroupname = “actiongroup-02″ #アクショングループ名
$actiongroup = Get-AzActionGroup -ResourceGroupName $resourcegroupname -name $actiongroupname
Test-AzActionGroup -ResourceGroupName $resourcegroupname `
-ActionGroupName $actiongroupname `
-AlertType metricstaticthreshold `
-Receiver $actiongroup.EmailReceiver
|
|
実行結果です。
Statusを確認するとSucceededとなっており、テストが成功していることが分かります。
Azure Portalでのテスト実行と同様に、通知先メールアドレスでテストメールを確認できます。
EmailReceiver
ActionDetail : {{
“MechanismType": “Email",
“Name": “mail-02",
“Status": “Succeeded",
“SendTime": “2024-01-21T06:35:46.708231+00:00"
}}
CompletedTime : 2024-01-21T06:37:29.5070993+00:00
ContextNotificationSource : Microsoft.Insights/TestNotification
ContextType :
CreatedTime : 2024-01-21T06:35:46.3977426+00:00
State : Complete
|
|
Azure REST API
Azure REST APIを使用してテストを実行します。
通知先には、Azure Portalでのテスト実行と同じく、テストメールが送信されます。
ブラウザやPostmanを使ったAzure REST APIの操作手順についてはこちらに纏めています。
テスト通知 |
MS Learn のページでパラメータおよび本文の設定を行い実行します。
【要求URL例(POST)】
https://management.azure.com/subscriptions/サブスクリプションID/providers/Microsoft.Insights/createNotifications?api-version=2021-09-01
|
【本文例】
{
“alertType": “metricstaticthreshold",
“emailReceivers": [
{
“name": “mail-03",
“emailAddress": “通知先メールアドレス",
“useCommonAlertSchema": true
}
]
}
|
|
Azure CLI
Azure CLIを使用してテスト通知を行います。
サンプルにはメトリックアラート – 静的しきい値を使用します。
テスト実行にはaz monitor action-group test-notificationsを使用します。
※Azure CLIは2.54.0を利用しています。
テスト通知 |
az monitor action-group test-notifications createを使用してテスト実行します。
メール通知は-a(–add-action)のオプションで設定します。
-a(–add-action)のオプション内でusecommonalertschemaを指定する事で共通アラートスキーマを有効化します。
$resourcegroupname = “test-rg-01" #リソースグループ名
$location = “Global" #リージョン
$actiongroupname = “actiongroup-04″ #アクショングループ名
$emailreceivername = “mail-04" #通知名
$emailaddress = “通知先メールアドレス" #通知先メールアドレス
az monitor action-group test-notifications create `
–action-group-name $actiongroupname `
–resource-group $resourcegroupname `
-a email $emailreceivername $emailaddress usecommonalertschema `
–alert-type metricstaticthreshold
|
|
実行結果です。
Statusを確認するとSucceededとなっており、テストが成功していることが分かります。
Azure Portalでのテスト実行と同様に、通知先メールアドレスでテストメールを確認できます。
{
“actionDetails": [
{
“MechanismType": “Email",
“Name": “mail-04",
“SendTime": “2024-01-21T12:41:18.6092267+00:00",
“Status": “Succeeded"
}
],
“completedTime": “2024-01-21T12:43:12.0184741+00:00",
“context": {
“notificationSource": “Microsoft.Insights/TestNotification"
},
“createdTime": “2024-01-21T12:41:18.3839798+00:00",
“state": “Complete"
}
|
|
アクショングループの実行を確認
アラートが発生した際、アクショングループが実行されたかどうかを確認する方法です。
アラートの詳細で確認
発生したアラートの詳細の履歴タブで確認出来ます。
アラートの詳細で確認 |
アラートの詳細の履歴タブを選択します。
トリガーされたアクショングループが確認出来ます。 |
|
アラート通知メールで確認
アラート通知メール内でも、どのアクショングループからのメールか確認できます。
アラート通知メールで確認 |
アラート通知メールの一番下を確認します。
アクショングループの表示名が記載されています。 |
|
※テスト実行時には表示されないようです。
アクショングループの有効・無効化
アクショングループの有効・無効化についてはこちらに纏めています。
併せて見て頂けると有難いです。
最後に
Azure Portal、Azure PowerShell、Azure CLI、REST APIを使ったアクショングループの作成からテストまでの手順をまとめてみました。
実行されたアクショングループの確認方法についてもまとめています。
アクショングループのテストは通知されない場合の確認などにも利用出来ます。
今後も色々試してみたいと思います。
※使用しているAzure PowerShellやAzure CLIのバージョン、REST APIのAPI Versionにより挙動や手順が異なる場合があります。
アラート処理ルールを利用した非監視設定手順についてはこちらに纏めています。
併せて見て頂けると有難いです。