診断ログを設定する

Analysis Services ソリューションの重要な部分は、サーバーのパフォーマンスを監視することです。 Azure Analysis Services の監視に関する一般的な情報については、「Azure Analysis Services を監視する」を参照してください。

この記事では、Analysis Services サーバーの Azure Monitor リソースのログを設定、表示、管理する方法について説明します。 リソース ログを Azure Storage に送信したり、Azure Event Hubs にストリーム配信したり、Azure Monitor ログにエクスポートしたりすることができます。

Storage、Event Hubs、または Azure Monitor ログへのリソースのログ記録

Note

Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を始めるには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

ログに記録されるもの

[エンジン][サービス][メトリック] のログ カテゴリを選択できます。 カテゴリごとにログに記録される内容の一覧については、「Microsoft.AnalysisServices/servers でサポートされているリソース ログ」を参照してください。

診断設定を設定する

Azure portal、Azure CLI、PowerShell、または Azure Resource Manager を使用して診断設定を設定する方法については、「Azure Monitor の診断設定を作成する」を参照してください。

ログを管理する

ログは通常、ログをセットアップしてから 2 時間以内に利用できるようになります。 ストレージ アカウントでのログの管理はお客様に委ねられます。

  • 標準的な Azure アクセス制御メソッドを使用してアクセスできるユーザーを制限することで、ログをセキュリティで保護します。
  • ストレージ アカウントに保持する必要がなくなったログは削除します。
  • 古いログをストレージ アカウントから削除するためのリテンション期間を必ず設定してください。

Log Analytics ワークスペースでログを表示する

診断データを表示するには、Log Analytics ワークスペースの左側のメニューから、[ログ] を開きます。

Azure portal の [ログ検索] オプションを示すスクリーンショット。

クエリ ビルダーで、LogManagement>AzureDiagnostics を展開します。 AzureDiagnostics には、エンジンとサービスのイベントが含まれています。 クエリが即座に作成されることに注目してください。 EventClass_s フィールドには、オンプレミスのログ記録の xEvents を使用している場合にはなじみのある、xEvent 名が含まれています。 [EventClass_s] またはイベント名のいずれかをクリックすると、Log Analytics ワークスペースでクエリの作成が続行されます。 後で再利用するため、クエリは必ず保存しておいてください。

Analysis Services で使用できるその他のクエリについては、「サンプル Kusto クエリ」を参照してください。

PowerShell を使用してログ記録を有効にする

このクイック チュートリアルでは、Analysis Service サーバーと同じサブスクリプションとリソース グループでストレージ アカウントを作成します。 次に、Set-AzDiagnosticSetting を使用して、診断ログを有効にし、出力を新しいストレージ アカウントに送信します。

前提条件

このチュートリアルを完了するには、以下のリソースが必要です。

サブスクリプションへの接続

Azure PowerShell セッションを開始し、次のコマンドで Azure アカウントにサインインします。

Connect-AzAccount

ポップアップ ブラウザー ウィンドウで、Azure アカウントのユーザー名とパスワードを入力します。 Azure PowerShell は、このアカウントに関連付けられているすべてのサブスクリプションを取得し、既定で最初のサブスクリプションを使用します。

複数のサブスクリプションをお持ちの場合は、Azure Key Vault を作成するときに使用した特定の 1 つを指定することが必要なことがあります。 アカウントのサブスクリプションを確認するには、次を入力します。

Get-AzSubscription

ログを記録する Azure Analysis Services アカウントに関連付けられているサブスクリプションを指定するには、次を入力します。

Set-AzContext -SubscriptionId <subscription ID>

Note

複数のサブスクリプションがアカウントに関連付けられている場合は、サブスクリプションを指定することが重要です。

ログ用に新しいストレージ アカウントを作成する

ログの既存のストレージ アカウントがサーバーと同じサブスクリプション内にある場合は、それを使用できます。 このチュートリアルでは、Analysis Services ログ専用の新しいストレージ アカウントを作成します。 便宜上、ストレージ アカウントの詳細を sa という変数に格納します。

また、お使いの Analysis Services サーバーを含むリソース グループと同じリソース グループを使用します。 awsales_resgroupawsaleslogsWest Central US の値を独自の値に置き換えます。

$sa = New-AzStorageAccount -ResourceGroupName awsales_resgroup `
-Name awsaleslogs -Type Standard_LRS -Location 'West Central US'

ログのサーバー アカウントを特定する

アカウント名を account という変数に設定します。この ResourceName は、アカウントの名前です。

$account = Get-AzResource -ResourceGroupName awsales_resgroup `
-ResourceName awsales -ResourceType "Microsoft.AnalysisServices/servers"

ログの有効化

ログ記録を有効にするために、Set-AzDiagnosticSetting コマンドレットを、新しいストレージ アカウント、サーバー アカウント、およびカテゴリの変数と組み合わせて使用します。 次のコマンドを実行し、 -Enabled フラグを $true に設定します。

Set-AzDiagnosticSetting  -ResourceId $account.ResourceId -StorageAccountId $sa.Id -Enabled $true -Categories Engine

出力は次の例のようになります。

StorageAccountId            : 
/subscriptions/a23279b5-xxxx-xxxx-xxxx-47b7c6d423ea/resourceGroups/awsales_resgroup/providers/Microsoft.Storage/storageAccounts/awsaleslogs
ServiceBusRuleId            :
EventHubAuthorizationRuleId :
Metrics                    
    TimeGrain       : PT1M
    Enabled         : False
    RetentionPolicy
    Enabled : False
    Days    : 0


Logs                       
    Category        : Engine
    Enabled         : True
    RetentionPolicy
    Enabled : False
    Days    : 0


    Category        : Service
    Enabled         : False
    RetentionPolicy
    Enabled : False
    Days    : 0


WorkspaceId                 :
Id                          : /subscriptions/a23279b5-xxxx-xxxx-xxxx-47b7c6d423ea/resourcegroups/awsales_resgroup/providers/microsoft.analysisservic
es/servers/awsales/providers/microsoft.insights/diagnosticSettings/service
Name                        : service
Type                        :
Location                    :
Tags                        :

この出力を見れば、ログ記録がサーバーに対して有効になっていること、ストレージ アカウントに情報が保存されることを確認できます。

古いログが自動的に削除されるように、ログのアイテム保持ポリシーを設定することもできます。 たとえば、 -RetentionEnabled フラグを $true に設定し、 -RetentionInDays パラメーターを 90 に設定したアイテム保持ポリシーを設定します。 90 日を経過したログは自動的に削除されます。

Set-AzDiagnosticSetting -ResourceId $account.ResourceId`
 -StorageAccountId $sa.Id -Enabled $true -Categories Engine`
  -RetentionEnabled $true -RetentionInDays 90

次のステップ