在 Azure 流量管理器中启用资源日志记录

本文介绍如何为流量管理器配置文件启用诊断资源日志的收集,包括流量管理器探测运行状况结果的收集。

使用 Azure 流量管理器资源日志可以深入了解流量管理器配置文件资源的行为。 例如,你可以使用配置文件中的日志数据来确定为什么个别探测在某个端点上超时。

先决条件

如果选择在本地安装并使用 PowerShell,则本文需要 Azure PowerShell 模块 5.4.1 或更高版本。 运行 Get-Module -ListAvailable Az 查找已安装的版本。 如果需要升级,请参阅安装 Azure PowerShell 模块。 如果在本地运行 PowerShell,则还需运行 Connect-AzAccount -Environment AzureChinaCloud 以创建与 Azure 的连接。

启用资源日志记录

  1. 检索流量管理器配置文件:

    若要启用资源日志记录,需要具有流量管理器配置文件的 ID。 使用 Get-AzTrafficManagerProfile 检索要为其启用资源日志记录的流量管理器配置文件。 输出包括流量管理器配置文件的 ID 信息。

    Get-AzTrafficManagerProfile -Name <TrafficManagerprofilename> -ResourceGroupName <resourcegroupname>
    
  2. 为流量管理器配置文件启用资源日志记录:

    通过 New-AzDiagnosticSetting 使用在上一步中获取的 ID 为流量管理器配置文件启用资源日志记录。 以下命令将流量管理器配置文件的详细日志存储到指定的 Azure 存储帐户。

    $subscriptionId = (Get-AzContext).Subscription.Id
    $metric = @()
    $log = @()
    $categories = Get-AzDiagnosticSettingCategory -ResourceId  <TrafficManagerprofileResourceId>
    $categories | ForEach-Object {if($_.CategoryType -eq "Metrics"){$metric+=New-AzDiagnosticSettingMetricSettingsObject -Enabled $true -Category $_.Name -RetentionPolicyDay 7 -RetentionPolicyEnabled $true} else{$log+=New-AzDiagnosticSettingLogSettingsObject -Enabled $true -Category $_.Name -RetentionPolicyDay 7 -RetentionPolicyEnabled $true}}
    New-AzDiagnosticSetting -Name <DiagnosticSettingName> -ResourceId <TrafficManagerprofileResourceId> -StorageAccountId <storageAccountId> -Log $log -Metric $metric
    
  3. 验证诊断设置:

    使用 Get-AzDiagnosticSetting 验证流量管理器配置文件的诊断设置。 以下命令显示为某个资源记录的类别。

    Get-AzDiagnosticSetting -ResourceId <TrafficManagerprofileResourceId>
    

    请确保与流量管理器配置文件资源关联的所有日志类别都显示为已启用。 另外,请验证存储帐户是否已正确设置。

访问日志文件

若要访问日志文件,请执行以下步骤。

  1. 登录到 Azure 门户

  2. 在门户中导航到你的 Azure 存储帐户。

  3. 在 Azure 存储帐户左侧窗格中的“数据存储”下,选择“容器”。

  4. 对于“容器”,选择“$logs”,向下导航到 PT1H.json 文件并选择“下载”,来下载并保存此日志文件的副本。

    从 Blob 存储访问流量管理器配置文件的日志文件

流量管理器日志架构

通过 Azure Monitor 提供的所有资源日志共享公共顶级架构,且每个服务都能灵活地为其事件发出唯一属性。 对于顶级资源日志架构,请参阅 Azure 诊断日志支持的服务、架构和类别

下表包含特定于 Azure 流量管理器配置文件资源的日志架构。

字段名称 字段类型 Definition 示例
端点名称 String 记录其运行状况状态的流量管理器终结点的名称。 myPrimaryEndpoint
地位 String 所探测的流量管理器终结点的运行状况状态。 状态可以是 UpDown 向上

后续步骤