ログインを必要としないログ収集ツールについて(AzureLogCollector)

クラウド サービスを対象としたトラブルシューティングでは、インスタンス内部に保存されているログから調査を進める方法が有効です。Azure チームからは AzureTools や SDP ツールなど、当該インスタンスへリモート デスクトップでログインし取得する方法をご紹介しておりますが、拡張機能を利用すれば、リモート デスクトップでログインせずとも以下のログを採取する事ができます。

  • システムとアプリケーションのイベント ログ
  • HTTP エラー ログ
  • IIS ログ
  • セットアップ ログ
  • その他のシステム ログ

採取したログは、指定したストレージ アカウントへ保存されます。
本トピックでは、クラウド サービスを対象としリモート デスクトップでログインを必要としないログ収集ツール AzureLogCollector の使用方法をご紹介いたします。

AzureLogCollector を利用する方法について

AzureLogCollector でログを採取する為には、ローカルにインストールされている Microsoft Azure PowerShell からスクリプトを実行します。以下に手順を記載しますのでご参考下さい。

1. ログ採取で使用するスクリプトは既に以下のページに用意されています。”Extention PowerShell Script files” 項目配下のスクリプトを SetAzureServiceLogCollector.ps1 として保存してください。

- AzureLogCollector Extension
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-extensions-log-collector/

2. Microsoft Azure PowerShell を管理者権限で起動し、スクリプトの実行ポリシーを Unrestricted へ変更します。

PS> Set-ExecutionPolicy Unrestricted

3. 以下のコマンドで SetAzureServiceLogCollector.ps1 スクリプトを実行しログを収集します。

PS> .\SetAzureServiceLogCollector.ps1 -ServiceName “< クラウドサービス名 >” -Roles “< ロール名 >” -Instances * -Mode Full -StorageAccountName “< ストレージアカウント >” -StorageAccountKey " ストレージアカウントキー "

screenshot1

4. スクリプトが正常に完了した場合には、指定したストレージ アカウントに azurelogcollectordata コンテナが作成され、各インスタンスで採取し ZIP 化したログが保存されています。

screenshot2

参考情報

AzureLogCollector では、今回ご紹介した方法以外にオプションが多く用意されています。また、クラウド サービス以外にも VM エージェントが有効となっている Azure 仮想マシンでも利用いただけます。詳細につきましては、以下の MSDN に記載がありますので是非ご参考下さい。

- AzureLogCollector Extension
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-extensions-log-collector/