你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

设置诊断日志记录

监视服务器性能对于任何 Analysis Services 解决方案都至关重要。 有关监视 Azure Analysis Services 的一般信息,请参阅监视 Azure Analysis Services

本文介绍如何为 Analysis Services 服务器设置、查看和管理 Azure Monitor 资源日志。 可以将资源日志发送到 Azure 存储,流式传输到 Azure 事件中心,并导出到 Azure Monitor 日志

存储、事件中心或 Azure Monitor 日志的资源日志记录

注意

建议使用 Azure Az PowerShell 模块与 Azure 交互。 若要开始,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

会记录哪些内容?

可选择“引擎”、“服务”和“指标”日志类别。 有关每个类别记录的内容的清单,请参阅 Microsoft.AnalysisServices/servers 支持的资源日志

设置诊断设置

若要了解如何使用 Azure 门户、Azure CLI、PowerShell 或 Azure 资源管理器设置诊断设置,请参阅在 Azure Monitor 中创建诊断设置

管理日志

通常在设置日志记录数小时后可使用日志。 存储帐户中的日志完全由你管理:

  • 使用标准 Azure 访问控制方法,通过限制访问你的日志的人员来保护日志的安全。
  • 删除不想继续保留在存储帐户中的日志。
  • 请务必设置保留期,以便从存储帐户中删除旧日志。

在 Log Analytics 工作区中查看日志

若要查看诊断数据,请从 Log Analytics 工作区的左侧菜单中打开“日志”。

该屏幕截图显示 Azure 门户中的日志搜索选项。

在查询生成器中,展开 LogManagement>AzureDiagnostics 。 AzureDiagnostics 包括引擎和服务事件。 注意即时创建了一个查询。 EventClass_s 字段包含 xEvent 名称,如果使用 Xevent 进行本地日志记录,你可能觉得该名称很眼熟。 单击“EventClass_s”或某一个事件名称,Log Analytics 工作区会继续构造查询。 请务必保存查询以便稍后重复使用。

有关可用于 Analysis Services 的更多查询,请参阅示例 Kusto 查询

使用 PowerShell 启用日志记录

在此快速教程中,你将在 Analysis Services 服务器所在订阅和资源组中创建存储帐户。 然后使用 Set-AzDiagnosticSetting 启用诊断日志记录,将输出发送到新的存储帐户。

先决条件

要完成本教程,必须备好以下资源:

连接到订阅

启动 Azure PowerShell 会话,并使用以下命令登录用户的 Azure 帐户:

Connect-AzAccount

在弹出的浏览器窗口中,输入 Azure 帐户用户名和密码。 Azure PowerShell 获取与此帐户关联的所有订阅,并按默认使用第一个订阅。

如果有多个订阅,可能需要指定用来创建 Azure 密钥保管库的特定订阅。 键入以下命令查看帐户的订阅:

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 cmdlet 与新存储帐户、服务器帐户和类别的变量一起使用。 运行以下命令,将“-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

后续步骤