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

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

本文介绍了如何为流量管理器配置文件启用诊断资源日志收集和访问日志数据。

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

先决条件

Azure Cloud Shell

Azure 托管 Azure Cloud Shell(一个可通过浏览器使用的交互式 shell 环境)。 可以将 Bash 或 PowerShell 与 Cloud Shell 配合使用来使用 Azure 服务。 可以使用 Cloud Shell 预安装的命令来运行本文中的代码,而不必在本地环境中安装任何内容。

若要启动 Azure Cloud Shell,请执行以下操作:

选项 示例/链接
选择代码或命令块右上角的“试用”。 选择“试用”不会自动将代码或命令复制到 Cloud Shell。 Screenshot that shows an example of Try It for Azure Cloud Shell.
转到 https://shell.azure.com 或选择启动 Cloud Shell 按钮可在浏览器中打开 Cloud Shell。 Button to launch Azure Cloud Shell.
选择 Azure 门户右上角菜单栏上的 Cloud Shell 按钮。 Screenshot that shows the Cloud Shell button in the Azure portal

若要使用 Azure Cloud Shell,请执行以下操作:

  1. 启动 Cloud Shell。

  2. 选择代码块(或命令块)上的“复制”按钮以复制代码或命令。

  3. 在 Windows 和 Linux 上选择 Ctrl+Shift+V,或在 macOS 上选择 Cmd+Shift+V 将代码或命令粘贴到 Cloud Shell 会话中。

  4. 选择“Enter”运行代码或命令。

如果选择在本地安装并使用 PowerShell,则本文需要 Azure PowerShell 模块 5.4.1 或更高版本。 运行 Get-Module -ListAvailable Az 查找已安装的版本。 如果需要进行升级,请参阅 Install Azure PowerShell module(安装 Azure PowerShell 模块)。 如果在本地运行 PowerShell,则还需运行 Connect-AzAccount 以创建与 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 文件并选择“下载”,来下载并保存此日志文件的副本。

    Access log files of your Traffic Manager profile from a blob storage

流量管理器日志架构

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

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

字段名称 字段类型 定义 示例
EndpointName String 记录其运行状况状态的流量管理器终结点的名称。 myPrimaryEndpoint
状态 String 所探测的流量管理器终结点的运行状况状态。 状态可以是 UpDown Up

后续步骤