🏷️

Azure Monitor Agent でテキストログを収集する

2023/10/03に公開

はじめに

以下のドキュメントを参考に Azure Monitor Agent でサーバ上に保管されているテキスト ファイル ベースのログを収集してみます。
https://learn.microsoft.com/ja-jp/azure/azure-monitor/agents/data-collection-text-log?tabs=portal

カスタム テーブルを作成

ログを格納するカスタム テーブルを作成します。Azure ポータルから作成することもできるのですが、ゴミ設定が残ることになるので、ドキュメントの通り Azure PowerShell で REST API を実行しテーブルを作成します。(利用しやすいように少し変更しています)

# Azure PowerShell にログイン
Connect-AzAccount

# パラメータを指定
$subscriptionId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$resourceGroup = "MyResourceGroup"
$workspaceName = "MyWorkSpace"
$tableName = "CutomTextLog_CL"  # _CL で終わるテーブル名を指定

$tableParams = @"
{
    "properties": {
        "schema": {
            "name": "$tableName",
            "columns": [
                {
                    "name": "TimeGenerated",
                    "type": "DateTime"
                }, 
                {
                    "name": "RawData",
                    "type": "String"
                }
            ]
        }
    }
}
"@

# API 実行するパスを指定
$path = "/subscriptions/$subscriptionId/resourcegroups/$resourceGroup/providers/microsoft.operationalinsights/workspaces/$workspaceName/tables/$tableName" + "?api-version=2021-12-01-preview"

# API を実行してテーブルを作成
Invoke-AzRestMethod -Path $path -Method PUT -payload $tableParams

データ収集エンドポイントの作成

テキスト ファイル ベースのログを収集する場合、データ収集エンドポイントが必要になります。
[モニター] から [データ収集エンドポイント] > [+ 作成] をクリックします。


名前、サブスクリプションなどを指定し、[確認と作成] から作成します。


データ収集ルールを作成

[モニター] から [データ収集ルール] を選択して、[作成] をクリックします。


ルール名、プラットフォームの種類、エンドポイント ID (=先ほど作成したデータ収集エンドポイント) などを設定します。


次のリソース タブで [+リソースの追加] を選択し、対象 VM を追加します。また、[データ収集エンドポイントを有効にする] にチェックを入れ、VM の列でデータ収集エンドポイントを指定します。


次の収集と配信 タブで [+データソースの追加] をクリック、[データ ソースの種類] で [カスタム テキスト ログ] を選択し、取得元ファイルの格納場所や書き込み先のテーブル名を指定します。今回の検証ではログ取り込み時に変換しないので、Transform は source のままにします。


ターゲットでテーブルを作成した Log Analytics ワークスペースを指定して、[データ ソースの追加] をクリックします。カスタム テキスト ログが追加されていることを確認し、[確認と作成] からデータ収集ルールの作成を完了します。


動作確認

ここまで設定すれば完了です。ドキュメントに記載のあるスクリプトで対象サーバの指定パスにファイルをログを生成します。
https://learn.microsoft.com/ja-jp/azure/azure-monitor/agents/data-collection-text-log?tabs=portal#verify-that-the-text-logs-are-being-populated

正常に取り込めると以下のように検索が可能です。

Microsoft (有志)

Discussion