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

监视 API 管理

适用于:所有 API 管理层级

Azure Monitor 从系统收集并聚合指标和日志,以监视可用性、性能和复原能力,并通知你影响系统的问题。 可以使用 Azure 门户、PowerShell、Azure CLI、REST API 或客户端库来设置和查看监视数据。

不同的指标和日志可用于不同的资源类型。 本文介绍可为此服务收集的监视数据类型以及分析这些数据的方法。

使用 Azure Monitor 收集数据

下表介绍了如何收集数据来监视服务,以及收集到的数据可以做些什么:

要收集的数据 说明 如何收集和路由数据 查看数据的位置 支持的数据
指标数据 指标是数字值,用于描述系统某个方面在特定时间点的情况。 可以使用算法来聚合指标、将其与其他指标进行比较,以及通过分析指标来了解一段时间内的趋势。 - 定期自动收集。
- 可以将某些平台指标路由到 Log Analytics 工作区,以使用其他数据进行查询。 检查每个指标的“DS 导出”设置,查看是否可以使用诊断设置来路由指标数据。
指标资源管理器 Azure Monitor 支持的 Azure API 管理指标
资源日志数据 日志是记录的具有时间戳的系统事件。 日志可包含不同类型的数据,可以结构化或采用自由文本格式。 可以将资源日志数据路由到 Log Analytics 工作区进行查询和分析。 创建诊断设置以收集和路由资源日志数据。 Log Analytics Azure Monitor 支持的 Azure API 管理资源日志数据
活动日志数据 Azure Monitor 活动日志提供关于订阅级事件的见解。 活动日志包括何时修改了资源或何时启动了虚拟机等信息。 - 自动收集。
- 免费为 Log Analytics 工作区创建诊断设置
活动日志

有关 Azure Monitor 支持的所有数据的列表,请参阅:

API 管理的内置监视

Azure API 管理具备以下内置监视功能。

获取 Azure API 管理中的 API 分析

Azure API 管理为 API 提供分析,以便你能够分析其使用情况和性能。 使用分析功能对 API 进行高级别监视和故障排除。 有关其他监视功能(包括用于诊断和审核的准实时指标和资源日志),请参阅教程:监视已发布的 API

门户中 API 分析的屏幕截图。

注意

目前无法在工作区中使用此功能。

  • API 管理使用基于 Azure Monitor 的仪表板提供分析。 该仪表板将 Azure Log Analytics 工作区中的数据聚合在一起。
  • 在经典 API 管理服务层级中,API 管理实例还包括 Azure 门户中旧的内置分析,可以使用 API 管理 REST API 访问分析数据。 基于 Azure Monitor 的仪表板和内置分析中显示了非常相似的数据。

重要

推荐使用基于 Azure Monitor 的仪表板来访问分析数据。 内置(经典)分析在 v2 层中不可用。

使用 API 分析,跨多个维度分析 API 管理实例中 API 的使用情况和性能,其中包括:

  • 时间
  • 地理位置
  • API
  • API 操作
  • 产品
  • 订阅
  • 用户
  • 请求

API 分析提供有关请求(包括失败的请求和未经授权的请求)的数据。 地理值基于 IP 地址映射。 可能需要经过一段延迟时间,分析数据才可供使用。

基于 Azure Monitor 的仪表板

若要使用基于 Azure Monitor 的仪表板,需要 Log Analytics 工作区作为 API 管理网关日志的数据源。

如果需要配置一个,请按照下面的简短步骤将网关日志发送到 Log Analytics 工作区。 有关详细信息,请参阅教程:监视已发布的 API。 此过程是一次性的设置。

  1. Azure 门户,导航到 API 管理实例。
  2. 在左侧菜单中的“监视”下,选择“诊断设置”>“+ 添加诊断设置”。
  3. 为诊断设置输入一个描述性名称。
  4. 在“日志”中,选择“与 ApiManagement 网关相关的日志”。
  5. 在“目标详细信息”中,选择“发送到 Log Analytics”,然后在相同或不同订阅中选择一个 Log Analytics 工作区。 如果需要创建工作区,请参阅创建 Log Analytics 工作区
  6. 确保选择“特定于资源”作为目标表
  7. 选择“保存”。

重要

新的 Log Analytics 工作区可能最多需要 2 小时才能开始接收数据。 现有工作区应在大约 15 分钟内开始接收数据。

访问仪表板

配置 Log Analytics 工作区后,访问基于 Azure Monitor 的仪表板来分析 API 的使用情况和性能。

  1. Azure 门户,导航到 API 管理实例。
  2. 在左侧菜单的“监视”下,选择“分析”。 这会打开“分析”仪表板。
  3. 选择数据的时间范围。
  4. 选择分析数据的报告类别,例如“时间线”、“地理”,等等。

旧版内置分析

在某些 API 管理服务层中,内置分析(也称为旧分析经典分析)也可以在 Microsoft Azure 门户中使用,并且可以使用 API 管理 REST API 访问分析数据。

若要在 Microsoft Azure 门户中访问内置(经典)分析,请执行以下操作:

  1. Azure 门户,导航到 API 管理实例。
  2. 在左侧菜单中,在“监视”下,选择“分析(经典)”。
  3. 选择数据的时间范围,或者输入一个自定义时间范围。
  4. 选择分析数据的报告类别,例如“时间线”、“地理”,等等。
  5. (可选)按一个或多个其他类别筛选报表。

使用 API 管理 REST API 中的报告操作检索和筛选 API 管理实例的分析数据。

可用操作按 API、地理位置、API 操作、产品、请求、订阅、时间或用户返回报告记录。

在 Azure API 管理中启用开发人员门户使用情况日志记录

本部分介绍如何启用 Azure Monitor 日志,以便审核和排查 API 管理开发人员门户的使用问题。 通过诊断设置启用后,日志将收集开发人员门户接收和处理的有关请求的信息。

开发人员门户使用情况日志包括有关开发人员门户中活动的数据,包括:

  • 用户身份验证操作,例如登录和注销
  • API 详细信息、API 操作详细信息和产品的视图
  • 交互式测试控制台中的 API 测试

为开发人员门户日志启用诊断设置

若要为开发人员门户使用情况日志配置诊断设置,请执行以下操作:

  1. Azure 门户,导航到 API 管理实例。

  2. 在左侧菜单中的“监视”下,选择“诊断设置”>“+ 添加诊断设置”。

    在门户中添加诊断设置的屏幕截图。

  3. 在“诊断设置”页面上,输入或选择设置的详细信息

    1. 诊断设置名称:输入一个描述性名称
    2. 类别组:(可选)根据方案进行选择
    3. 在“类别”下:选择“与开发人员门户使用情况相关的日志”。 (可选)根据需要选择其他类别。
    4. 在“目标详细信息”下,选择一个或多个选项并指定目标的详细信息。 例如,将日志存档到存储帐户或将其流式传输到事件中心。 有关详细信息,请参阅 Azure Monitor 中的诊断设置
    5. 选择“保存”。

查看诊断日志数据

根据所选日志目标,可能需要几分钟时间才能显示数据。

如果将日志发送到存储帐户,则可以访问 Azure 门户中的数据并下载进行分析。

  1. Azure 门户中,导航到存储帐户目标。
  2. 从左侧菜单中选择“存储浏览器”
  3. 在“Blob 容器”下,选择“insights-logs-developerportalauditlogs”
  4. 导航到 API 管理实例中日志的容器。 日志以 1 小时为间隔进行分区。
  5. 若要检索数据以供进一步分析,请选择“下载”

使用 Azure Monitor 工具分析数据

Azure 门户中提供了以下 Azure Monitor 工具,可帮助你分析监视数据:

  • 某些 Azure 服务在 Azure 门户中具有内置的监视仪表板。 这些仪表板称为“见解”,可以在 Azure 门户的 Azure Monitor 的“见解”部分找到它们。

  • 指标资源管理器可用于查看和分析 Azure 资源的指标。 有关详细信息,请参阅使用 Azure Monitor 指标资源管理器分析指标

  • Log Analytics 支持使用 Kusto 查询语言 (KQL) 来查询和分析日志数据。 有关详细信息,请参阅 Azure Monitor 日志查询入门

  • Azure 门户具有用于执行活动日志查看和基本搜索的用户界面。 要进行更深入的分析,请将数据路由到 Azure Monitor 日志,并在 Log Analytics 中运行更复杂的查询。

  • Application Insights 监视 Web 应用程序的可用性、性能和使用情况,因此你可以确定并诊断错误,而无需等待用户报告这些错误。
    Application Insights 包含各种开发工具的连接点,并与 Visual Studio 集成以支持 DevOps 过程。 有关详细信息,请参阅应用服务的应用程序监视

支持更复杂可视化效果的工具包括:

  • 仪表板,它支持将不同类型的数据合并到 Azure 门户的单个窗格中。
  • 工作簿,它们是可在 Azure 门户中创建的可自定义报表。 工作簿可以包括文本、指标和日志查询。
  • Grafana,它是一个适用于操作仪表板的开放平台工具。 可以使用 Grafana 创建包含来自除 Azure Monitor 以外多个源的数据的仪表板。
  • Power BI,它是一项业务分析服务,可提供跨各种数据源的交互式可视化效果。 可将 Power BI 配置为自动从 Azure Monitor 导入日志数据,以利用这些可视化效果。

使用托管 Grafana 仪表板来可视化 API 管理监视数据

可以使用 Azure 托管 Grafana 来可视化收集到 Log Analytics 工作区中的 API 管理监视数据。 使用预生成的 API 管理仪表板来实时可视化从 API 管理实例收集的日志和指标。

在 API 管理实例上:

  • 若要可视化 API 管理的资源日志和指标,请配置诊断设置以收集资源日志并将其发送到 Log Analytics 工作区。

  • 若要可视化有关发送到 API 管理网关的请求的详细数据,请将 API 管理实例与 Application Insights 集成

    注意

    若要在单个仪表板中可视化数据,请在 API 管理实例所在的资源组中为诊断设置和 Application Insights 实例配置 Log Analytics 工作区。

在托管 Grafana 工作区上:

  • 若要创建托管 Grafana 实例和工作区,请参阅门户Azure CLI 的快速入门。
  • 托管 Grafana 实例必须与 API 管理实例位于同一订阅中。
  • 创建 Grafana 工作区后,系统会自动为其分配一个 Microsoft Entra 托管标识,该标识在订阅上被分配了“监视器读取者”角色。 采用这种方法可以立即从新的 Grafana 工作区访问 Azure Monitor,而无需手动设置权限。 详细了解如何为托管 Grafana 配置数据源

首先将 API 管理仪表板导入托管 Grafana 工作区。

若要导入仪表板,请执行以下操作:

  1. 转到 Azure 托管 Grafana 工作区。 在门户中的托管 Grafana 实例的“概述”页上,选择“终结点”链接。
  2. 在托管 Grafana 工作区中,转到“仪表板”>“浏览”>“导入”。
  3. 在“导入”页上的“通过 grafana.com 导入”下输入“16604”,然后选择“加载”。
  4. 选择“Azure Monitor 数据源”,查看或更新其他选项,然后选择“导入”。

若要使用 API 管理仪表板,请执行以下操作:

  1. 在托管 Grafana 工作区中,转到“仪表板”>“浏览”并选择你的 API 管理仪表板。
  2. 在顶部的下拉列表中,为 API 管理实例做出选择。 如果已配置该项,请选择 Application Insights 实例和 Log Analytics 工作区。

查看仪表板上的默认可视化效果,该可视化效果将类似于以下屏幕截图:

屏幕截图显示托管 Grafana 工作区中的 API 管理仪表板。

导出 Azure Monitor 数据

可以使用以下方法将数据从 Azure Monitor 导出到其他工具:

要开始使用 Azure Monitor REST API,请参阅 Azure 监视 REST API 演练

使用 Kusto 查询分析日志数据

可以使用 Kusto 查询语言 (KQL) 分析 Azure Monitor 日志数据。 有关详细信息,请参阅 Azure Monitor 中的日志查询

使用 Azure Monitor 警报通知问题

Azure Monitor 警报允许你识别和解决系统中的问题,并在监视数据中观察到特定情况时在客户注意到之前主动通知你。 可以针对 Azure Monitor 数据平台中的任何指标或日志数据源发出警报。 有不同类型的 Azure Monitor 警报,具体取决于要监视的服务以及要收集的监视数据。 请参阅选择正确的警报规则类型

若要了解如何在 Azure API 管理中设置警报规则,请参阅设置警报规则

有关 Azure 资源常见警报的示例,请参阅示例日志警报查询

大规模实现警报

对于某些服务,你可以通过将相同的指标警报规则应用于同一 Azure 区域中的多个相同类型资源,进行大规模的监视。 Azure Monitor 基线警报 (AMBA) 提供了大规模实现重要平台指标警报、仪表板和指南的半自动化方法。

使用 Azure 顾问获取个性化建议

对于某些服务,如果在资源操作期间出现严重情况或即将发生变化,则门户中的服务“概述”页面上会显示一个警报。 可以在左侧菜单“监视”下的“顾问建议”中找到警报的详细信息和建议补丁。 在正常操作期间,不会显示任何顾问建议。

有关 Azure 顾问的详细信息,请参阅 Azure 顾问概述