やりたいこと
Log AnalyticsではWindows標準のイベントログについてはAzure Portalから設定することですぐに構成が可能です。標準のものではなく、WindowsのEvent Viewerで確認できる自前のイベントログを収集してみます。
手順
- Log Analyticsのエージェント構成から自前のログ名を収集対象として設定する
- 監視対象VMの上で自前のログを生成
- Azure Portal上でログが収集されていることを確認する
Log Analytics側の設定
[エージェント構成]から"demo-log"という自前のログ名を追加します。
監視対象VM上でログ生成
#Powershellのサンプルコード
# ログの名前 これがLogAnalyticsで収集設定したログの名前
$LogName = "demo-log"
# イベントソース生成(スクリプトファイル名など)
$EventSource = "TestScript01"
# イベントソースが存在するか確認(管理者としてでPowershell実行必要)
if(-not [System.Diagnostics.EventLog]::SourceExists($EventSource)) {
# イベントソースが存在しないので登録
New-EventLog -LogName $LogName -Source $EventSource
}
# ログの内容
$errormsg = "これはログ出力サンプルです。"
# イベントログへログの書き込み
Write-EventLog `
-Message $errormsg `
-LogName $LogName `
-Source $EventSource `
-EventID 1001 `
-EntryType Error `
-Category 2
WindowsVM上でログが生成されていることを確認します。
Log Analytics側でクエリをかけて確認する
WindowsVM上でログを生成してからLog Analytics側へ送られるまで少しのタイムラグがあります。
参考