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

监视 Azure 认知搜索

Azure Monitor 通过每个订阅启用,可对所有 Azure 资源(包括认知搜索)上提供监视功能。 注册搜索时,Azure Monitor 会在开始使用该服务后立即收集活动日志平台指标

(可选)可以启用诊断设置来收集资源日志。 资源日志包含关于搜索服务操作的详细信息,这对于更深入的分析和调查很有用。

本文介绍监视对 Azure 认知搜索的作用。 还介绍返回服务相关信息的系统 API。

注意

认知搜索不会监视单独用户对搜索服务内容的访问权限。 如果需要此级别的监视,则需要在客户端应用程序中实现它。

Azure 门户中的监视

在 Azure 门户的搜索服务页中,可以找到操作和容量的当前状态。

搜索服务中的 Azure Monitor 集成

  • “概述”页中的“监视”选项卡汇总了关键查询指标,其中包括搜索延迟、每秒搜索查询数和受限查询数。 在下一个选项卡上(未显示),“使用情况”根据当前服务层级允许的最大值显示可用容量以及索引、索引器、数据源和技能组的数量。

  • 导航菜单上的“活动日志”捕获服务级别事件:服务创建、配置和删除。

  • 导航菜单中接下来的“监视”部分包括 Azure Monitor 的操作,已为搜索进行筛选。 可在此处启用诊断设置和资源日志记录,并指定存储数据的方式。

注意

由于门户页面每隔几分钟便会刷新一次,门户中报告的数字是近似值,旨在让你大致了解系统处理请求时的表现。 实际指标(例如每秒查询数 (QPS))可能高于或低于页面上显示的数字。 如果要求精度,请考虑使用 API。

从 REST API 获取系统数据

认知搜索 REST API 提供门户中可见的“使用情况”数据。 此信息是从搜索服务检索的,能以编程方式获取:

对于 REST 调用,请使用管理 API 密钥Postman 或其他 REST 客户端来查询搜索服务。

监视活动日志

在 Azure 认知搜索中,活动日志反映控制平面活动(例如服务创建和配置)或 API 密钥使用情况或管理。

活动日志是免费收集的,无需进行配置。 数据保留期为 90 天,但可以配置持久存储以延长保留期。

  1. 在 Azure 门户上找到你的搜索服务。 从左侧菜单中,选择“活动日志”以查看搜索服务的日志。 有关使用活动日志的通用指南,请参阅 Azure Monitor 活动日志

  2. 查看项。 其中的项通常包括“获取管理密钥”,每个针对请求为其提供管理员 API 密钥的调用都有一个项。 没有有关调用本身的详细信息,只是有关使用管理员密钥的通知。

  3. 有关其他项,请参阅管理 REST API 参考了解可能显示在日志中的控制平面活动。

以下屏幕截图显示了可在警报中配置的活动日志信号。 这些信号表示可能会在活动日志中看到的条目。

可在警报中使用的活动日志信号的屏幕截图。

监控指标

在 Azure 认知搜索中,平台指标测量的是查询性能、索引量和技能组调用。

指标是免费收集的,无需进行配置。 平台指标存储 93 天。 不过在门户中的任一图表中,仅能查询最多 30 天的平台指标数据。

在 Azure 门户上找到你的搜索服务。 在左侧菜单中的“监视”下,选择“指标”以打开指标资源管理器。

以下链接提供有关使用平台指标的详细信息:

设置警报

警报有助于在应用程序用户受到困扰之前识别并解决问题。 可以在指标资源日志活动日志上设置警报。 警报是计费的(请参阅定价模型以了解详细信息)。

  1. 在 Azure 门户上找到你的搜索服务。 在左侧菜单中的“监视”下,选择“警报”以打开指标资源管理器。

  2. 请参阅教程:为 Azure 资源创建指标警报以获取有关从指标资源管理器设置警报的通用指南。

下表对一些规则进行了说明。 在搜索服务上,超过给定阈值的限制或查询延迟是最常用的警报,但你可能还希望在搜索服务被删除时收到通知。

警报类型 条件 说明
搜索延迟(指标警报) 在平均搜索延迟大于用户指定的阈值时(以秒为单位) 平均查询响应时间超过该阈值时发送短信提醒。
限制的搜索查询百分比(指标警报) 每当限制的搜索查询百分比大于或等于用户指定的阈值 当丢弃的查询开始超过该阈值时发送短信警报。
删除搜索服务(活动日志警报) 每当活动日志包含 Category='Administrative'、Signal name='Delete Search Service (searchServices)'、Level='critical' 的事件时 当订阅中删除了搜索服务时发送电子邮件。

注意

目前没有与存储相关的警报(存储消耗数据不会聚合或录入至 AzureMetrics 表)。 要获取存储警告,可生成自定义解决方案,用于发出资源相关的通知,代码可在其中检查存储大小并处理响应。

启用资源日志记录

在 Azure 认知搜索中,资源日志捕获搜索服务本身的索引和查询操作。

在创建诊断设置之前,不会收集和存储资源日志。 诊断设置指定数据收集和存储。 如果要将指标和日志数据分开,或者希望每种目标类型有多种设置,则可以创建多个设置。

资源日志记录是从创建诊断设置时开始计费的(请参阅定价模型以了解详细信息)。 请参阅 Azure Monitor 中的诊断设置以获取通用指南。

  1. 在 Azure 门户上找到你的搜索服务。 在左侧菜单中的“监视”下选择“诊断设置”。

  2. 选择“+ 添加诊断设置”。

  3. 为诊断设置提供名称。 如果要创建多个设置,请采用精细且具有描述性的名称。

  4. 选择此设置范围内的日志和指标。 选择包括“allLogs”、“OperationLogs”和“AllMetrics”。 可以通过选择“OperationLogs”类别来排除活动日志。

  5. 选择“发送到 Log Analytics 工作区” Kusto 查询和数据浏览将面向工作区。

  6. (可选)选择其他目标

  7. 选择“保存” 。

工作区包含数据后,可以运行日志查询:

示例 Kusto 查询

重要

在 Azure 认知搜索菜单中选择“日志”时,Log Analytics 随即打开,其查询范围设置为当前搜索服务。 这意味着日志查询只包含来自该资源的数据。 如果需要运行的查询涉及多个搜索服务或者需要合并其他 Azure 服务的数据,请从“Azure Monitor”菜单中选择“日志”。 有关详细信息,请参阅 Azure Monitor Log Analytics 中的日志查询范围和时间范围

Kusto 是用于 Log Analytics 的查询语言。 下一部分提供一些可帮助你入门的查询。 有关查询中使用的架构元素的说明,请参阅 Azure 认知搜索监视数据参考。 有关特定于搜索服务的更多示例和指南,请参阅在 Azure 认知搜索中分析性能

按名称列出指标

返回指标列表和关联的聚合。 查询的范围是你指定的时间范围内的当前搜索服务。

AzureMetrics
| project MetricName, Total, Count, Maximum, Minimum, Average

按名称列出操作

返回操作的列表以及每个操作的计数。

AzureDiagnostics
| summarize count() by OperationName

长时间运行的查询

此针对 AzureDiagnostics 的 Kusto 查询返回 Query.Search 操作,按持续时间(以毫秒为单位)排序。 若要获取 Query.Search 查询的更多示例,请参阅在 Azure 认知搜索中分析性能

AzureDiagnostics
| project OperationName, resultSignature_d, DurationMs, Query_s, Documents_d, IndexName_s
| where OperationName == "Query.Search"
| sort by DurationMs   

索引器状态

此 Kusto 查询返回索引器操作的状态。 结果包括操作名称、请求描述(包括索引器的名称)、结果状态(成功或失败)和 HTTP 状态代码。 有关索引器执行的详细信息,请参阅监视器索引器状态

AzureDiagnostics
| project OperationName, Description_s, Documents_d, ResultType, resultSignature_d
| where OperationName == "Indexers.Status"

后续步骤

Azure 认知搜索的监视框架由 Azure Monitor 提供。 如果不熟悉此服务,请从使用 Azure Monitor 监视 Azure 资源开始查看主要概念。 还可以查看以下文章,了解 Azure 认知搜索: