次の方法で共有


診断ログを設定する

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

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

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

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

ログに記録されるもの

[エンジン]、[サービス]、[メトリック] の各ログ カテゴリを選択できます。 カテゴリごとにログに記録される内容の一覧については、「 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>

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

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

ログの既存のストレージ アカウントがサーバーと同じサブスクリプション内にある場合は、それを使用できます。 このチュートリアルでは、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/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

次のステップ