診断ログを設定する
Analysis Services ソリューションの重要な部分は、サーバーのパフォーマンスを監視することです。 Azure Analysis Services の監視に関する一般的な情報については、「Azure Analysis Services を監視する」を参照してください。
この記事では、Analysis Services サーバーの Azure Monitor リソースのログを設定、表示、管理する方法について説明します。 リソース ログを Azure Storage に送信したり、Azure 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 ワークスペースの左側のメニューから、[ログ] を開きます。
クエリ ビルダーで、LogManagement>AzureDiagnostics を展開します。 AzureDiagnostics には、エンジンとサービスのイベントが含まれています。 クエリが即座に作成されることに注目してください。 EventClass_s フィールドには、オンプレミスのログ記録の xEvents を使用している場合にはなじみのある、xEvent 名が含まれています。 [EventClass_s] またはイベント名のいずれかをクリックすると、Log Analytics ワークスペースでクエリの作成が続行されます。 後で再利用するため、クエリは必ず保存しておいてください。
Analysis Services で使用できるその他のクエリについては、「サンプル Kusto クエリ」を参照してください。
PowerShell を使用してログ記録を有効にする
このクイック チュートリアルでは、Analysis Service サーバーと同じサブスクリプションとリソース グループでストレージ アカウントを作成します。 次に、Set-AzDiagnosticSetting を使用して、診断ログを有効にし、出力を新しいストレージ アカウントに送信します。
前提条件
このチュートリアルを完了するには、以下のリソースが必要です。
- 既存の Azure Analysis Services サーバー。 サーバー リソースの作成方法については、Azure Portal で Azure Analysis Services サーバーを作成する方法に関するページ、または「PowerShell を使って Azure Analysis Services サーバーを作成する」を参照してください。
サブスクリプションへの接続
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_resgroup
、awsaleslogs
、West 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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
次のステップ
- Azure Monitor のリソースのログ記録の詳細について確認します。
- PowerShell ヘルプの「Set-AzDiagnosticSetting」を参照してください。