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

通过多租户 Azure SQL 数据库 SaaS 应用设置和使用 Azure Monitor 日志

适用于:Azure SQL 数据库

在本教程中,我们设置和使用 Azure Monitor 日志来监视弹性池和数据库。 本教程基于性能监视和管理教程。 它演示了如何使用 Azure Monitor 日志来增强 Azure 门户中提供的监视和警报功能。 Azure Monitor 日志支持监视数千个弹性池和数十万个数据库。 Azure Monitor 日志提供单个监视解决方案,该方案可以集成跨多个 Azure 订阅监视不同应用程序和 Azure 服务的功能。

注意

本文最近已更新,从使用术语“Log Analytics”改为使用术语“Azure Monitor 日志”。 日志数据仍然存储在 Log Analytics 工作区中,并仍然由同一 Log Analytics 服务收集并分析。 我们正在更新术语,以便更好地反映 Azure Monitor 中的日志的角色。 有关详细信息,请参阅 Azure Monitor 术语更改

本教程介绍如何执行下列操作:

  • 安装和配置 Azure Monitor 日志。
  • 使用 Azure Monitor 日志监视池和数据库。

若要完成本教程,请确保已完成了以下先决条件:

请参阅性能监视和管理教程,了解 SaaS 方案和模式以及它们对监视解决方案要求有何影响。

使用 Azure Monitor 日志监视和管理数据库和弹性池性能

对于 Azure SQL 数据库,Azure 门户中提供了针对数据库和池的监视和警报功能。 此内置的监视和警报功能非常方便,但它也是特定于资源的。 这意味着它不太适用于监视大型安装或者提供跨资源和订阅的统一视图。

对于大容量方案,可以将 Azure Monitor 日志用于监视和警报。 Azure Monitor 是一项单独的 Azure 服务,可对工作区中收集的可能来自许多服务的日志进行分析。 Azure Monitor 日志提供了内置的查询语言和数据可视化工具,可用于运行数据分析。 SQL Analytics 解决方案提供了多个预定义的弹性池和数据库监视和警报视图与查询。 Azure Monitor 日志还提供了自定义视图设计器。

OMS 工作区现在称为 Log Analytics 工作区。 Log Analytics 工作区和分析解决方案可以在 Azure 门户中打开。 Azure 门户是更新的访问点,但在某些区域中可能会落后于 Operations Management Suite 门户。

通过模拟租户上的工作负荷创建性能诊断数据

  1. 在 PowerShell ISE 中打开 ..\WingtipTicketsSaaS-MultiTenantDb-master\Learning Modules\Performance Monitoring and Management\Demo-PerformanceMonitoringAndManagement.ps1。 请将此脚本保持打开状态,因为在此教程中可能需要运行多个负载生成方案。

  2. 如果尚未这样做,请预配一批租户,以使监视上下文更为微妙。 此过程需要花费几分钟时间。

    a. 设置 $DemoScenario = 1预配一批租户

    b. 若要运行此脚本并再部署 17 个租户,请按 F5。

  3. 现在请启动负载生成器,在所有租户上运行模拟的负载。

    a. 设置 $DemoScenario = 2,生成正常强度负载(约 30 DTU)。

    b. 若要运行脚本,请按 F5。

获取 Wingtip Tickets SaaS“每租户一个数据库”应用程序脚本

WingtipTicketsSaaS-DbPerTenant Github 存储库中提供了 Wingtip Tickets SaaS 多租户数据库脚本和应用程序源代码。 有关下载和取消阻止 Wingtip Tickets PowerShell 脚本的步骤,请参阅常规指南

安装并配置 Log Analytics 工作区和 Azure SQL Analytics 解决方案

Azure Monitor 是一项必须配置的单独服务。 Azure Monitor 日志在 Log Analytics 工作区中收集日志数据、遥测数据和指标。 与 Azure 中的其他资源一样,必须创建一个 Log Analytics 工作区。 不要求将工作区创建在它监视的应用程序所在的同一资源组中。 但通常情况下,这样做是最合理的。 对于 Wingtip Tickets 应用,请使用单个资源组以确保将工作区与应用程序一起删除。

  1. 在 PowerShell ISE 中,打开 ..\WingtipTicketsSaaS-MultiTenantDb-master\Learning Modules\Performance Monitoring and Management\Log Analytics\Demo-LogAnalytics.ps1
  2. 若要运行脚本,请按 F5。

现在,可以在 Azure 门户中打开 Azure Monitor 日志。 在 Log Analytics 工作区中收集遥测数据并使其可见需要花费几分钟时间。 留给系统收集诊断数据的时间越长,体验越微妙。

使用 Log Analytics 工作区和 SQL Analytics 解决方案监视池和数据库

在本练习中,请在 Azure 门户中打开 Log Analytics 工作区,以查看为数据库和池收集的遥测数据。

  1. 浏览到 Azure 门户。 选择“所有服务”以打开 Log Analytics 工作区。 然后搜索“Log Analytics”。

    Open Log Analytics workspace

  2. 选择名为 wtploganalytics-<user> 的工作区。

  3. 选择“概览”,在 Azure 门户中打开 Log Analytics 解决方案。

    Overview

    重要

    可能需要花费数分钟时间才能激活解决方案。

  4. 选择 Azure SQL Analytics 磁贴以将其打开。

    Overview tile

  5. 解决方案中的视图可以侧向滚动,其自身的内部滚动条位于底部。 如果需要,请刷新页面。

  6. 若要浏览摘要页面,请选择磁贴或各个数据库以打开向下钻取式资源管理器。

    Log analytics dashboard

  7. 更改筛选器设置来修改时间范围。 对于本教程,请选择“过去 1 小时”

    Time filter

  8. 选择单个数据库,了解该数据库的查询使用情况和指标。

    Database analytics

  9. 若要查看使用情况指标,请在分析页中滚动到右侧。

    Database metrics

  10. 在分析页中向左滚动,并在“资源信息”列表中选择服务器磁贴。

    Resource Info list

    此时会打开一个页面,其中显示了服务器上的池和数据库。

    Server with pools and databases

  11. 选择一个池。 在打开的池页上滚动到右侧,以便查看池指标。

    Pool metrics

  12. 返回到 Log Analytics 工作区,选择“OMS 门户”以在那里打开工作区。

    Log Analytics workspace

在 Log Analytics 工作区中,可进一步浏览日志和指标数据。

Azure Monitor 日志中的监视和警报功能基于工作区中的数据查询,不像在 Azure 门户的每个资源上定义的警报功能。 通过让警报基于查询,可以定义一个监视所有数据库的警报,而不必每个数据库都定义一个。 查询仅限于工作区中可用的数据。

若要详细了解如何使用 Azure Monitor 日志来查询和设置警报,请参阅使用 Azure Monitor 日志中的警报规则

适用于 SQL 数据库的 Azure Monitor 日志按工作区中的数据量收费。 在本教程中,你创建了一个免费工作区,其限制是每天 500 MB。 达到该限制后,不会再向工作区添加数据。

后续步骤

本教程介绍了如何:

  • 安装和配置 Azure Monitor 日志。
  • 使用 Azure Monitor 日志监视池和数据库。

尝试“租户分析”教程

其他资源