PowerShell でアクティビティログのアラートを作成する方法

この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。

はじめに

PowerShell でアクティビティログアラートを作成する方法に関する情報は意外と少ないです。

また、複数の仮想マシンに対してアラートを作成する場合、一つ一つの仮想マシンに対してアクティビティログアラートをそれぞれ作成する必要があり、作業量が多く繁雑になりますが、このような作業を PowerShell で行えると楽になります。

公式ドキュメントに記載してあったり検索して作成する方法が分かったりすれば勿論それで済みますが、要望そのものが載っていることは少ないでしょう。
今回もコマンドまでは分かりますが、実際のアクティビティやアクショングループをどう設定すべきかまでは載っていません。
参考URL:Set-AzActivityLogAlert

このブログでは、関連情報が少ない中でもポータルの情報を組み合わせることで、PowerShell にて作成する方法をお伝えできればと思います。

作成方法

まず、ポータルからアクティビティログアラートを作成して実際のアラートを発生させてみます。
ここでは、仮想マシンの起動時にメールを発報するアクティビティログアラートを作成します。

次に実際に仮想マシンを起動し、アクティビティとアラートを発生させます。

すると、アクティビティログには実際の「アクティビティ」がJSONで記録されています。
このJSONを見ていくと、ポータルのUIで設定した、カテゴリーやアクショングループ、操作情報が記載されていることが分かると思います。これらの情報を用いることで、PowerShell からアクティビティログを設定することができます。

以下は、上記のJSONを元に作成した PowerShell スクリプトです。
※$変数は適宜修正してください。

# 条件作成
# アクティビティログ
$condition1 = New-AzActivityLogAlertCondition -Field “category” -Equal “Administrative”
# 仮想マシンのリソースID
$condition2 = New-AzActivityLogAlertCondition -Field “resourceId” -Equal $vmResourceId
# 仮想マシン起動時イベント
$condition3 = New-AzActivityLogAlertCondition -Field “operationName” -Equal “Microsoft.Compute/virtualMachines/start/action”

# アクショングループ取得
$actionGroup = Get-AzActionGroup -Name $actionGroupName -ResourceGroup $rg
if ($actionGroup -eq $null)
{
Write-Host “アクショングループ作成”
# アクショングループ作成※メールアドレス登録
$email = New-AzActionGroupReceiver -Name “Mail” -EmailReceiver -EmailAddress $Mail
Set-AzActionGroup -Name $actionGroupName -ResourceGroup $rg -ShortName $shortActionGroupName -Receiver $email
$actionGroup = Get-AzActionGroup -Name $actionGroupName -ResourceGroup $rg
}


# アクティビティログアラート作成
# アクショングループ、条件を設定
Set-AzActivityLogAlert -Location ‘Global’ `
-Name $alertName `
-ResourceGroupName $rg `
-Scope (“/subscriptions/” + $deploySubscriptionId + “/”) `
-Action (New-Object Microsoft.Azure.Management.Monitor.Models.ActivityLogAlertActionGroup $actionGroup.Id) `
-Condition $condition1, $condition2, $condition3

まとめ

ポータルの JSON データとあわせてみると、PowerShell の設定がすんなり入ると思います。
意外と見落としがちですが何を設定すべきかはポータル上にも存在しますので、関連する場所をチェックしてみるとよいでしょう。
※今回の例ですとアクティビティアラートはアクティビティログと関連します。

いいね (この記事が参考になった人の数:2)
(↑参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルプロセス&テクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください