Compartir a través de

Azure AI 搜索监视数据参考

本文包含此服务的所有监视参考信息。

请参阅监视 Azure AI 搜索,详细了解可为 Azure AI 搜索收集的数据以及如何使用这些数据。

指标

本部分列出了为此服务自动收集的所有平台指标。 这些指标也是 Azure Monitor 中支持的所有平台指标的全局列表的一部分。

有关指标保留的信息,请参阅 Azure Monitor 指标概述

Microsoft.Search/searchServices 支持的指标

下表列出了可用于 Microsoft.Search/searchServices 资源类型的指标。

表标题

  • 指标 - 在 Azure 门户中显示的指标显示名称。
  • Rest API 中的名称 - 在 REST API 中引用的指标名称。
  • 单位 - 度量单位。
  • 聚合 - 默认的聚合类型。 有效值:平均值、最小值、最大值、总计、计数。
  • 维度 - 适用于指标的维度。
  • 时间粒度 - 对指标采样的间隔。 例如,PT1M 表示该指标每分钟采样一次,PT30M 表示每 30 分钟一次,PT1H 表示每小时一次,以此类推。
  • DS 导出 - 是否可通过诊断设置将指标导出到 Azure Monitor 日志。 要了解如何导出指标的信息,请参阅在 Azure Monitor 中创建诊断设置

每秒搜索查询数

此指标显示搜索服务的每秒搜索查询数 (QPS) 的平均值。 查询往往在若干毫秒内即可完成执行,因此,指标中仅显示以秒度量的查询,例如 QPS。 最小值是该分钟内已注册的每秒搜索查询次数最低值。 Maximum 是最大值。 平均值是一分钟内的聚合值。

聚合类型 说明
平均值 执行查询的某一分钟内的平均秒数。
计数 在一分钟间隔内发出到日志的指标数。
最大值 在一分钟内每秒注册的最大搜索查询数。
最小值 在一分钟内每秒注册的最小搜索查询数。
Sum 在一分钟内执行的所有查询数之和。

例如,在一分钟内可能出现如下所述的模式:有 1 秒出现高负载(这是 SearchQueriesPerSecond 的最大值),紧接着有 58 秒的平均负载,最后 1 秒只有 1 个查询(这是最小值)。

另举一例:如果某个节点发出 100 个指标,其中每个指标的值为 40,那么,“计数”为 100,“总和”为 4000,“平均值”为 40,“最大值”为 40。

搜索延迟

搜索延迟表示完成查询需要使用的时长。

聚合类型 延迟
平均值 平均查询持续时间(毫秒)。
计数 在一分钟间隔内发出到日志的指标数。
最大值 样本中运行时间最长的查询。
最小值 样本中运行时间最短的查询。
总计 样本中在时间间隔(一分钟)内执行的所有查询的总执行时间。

限制的搜索查询百分比

此指标是指被删除而不是被处理的查询。 当执行的请求数量超过容量时,就会发生限制。 排除某个副本的轮换或者在编制索引期间,可能会看到受限制请求的数量增多。 查询和索引编制请求由同一组资源处理。

服务根据资源消耗量确定是否丢弃请求。 内存、CPU 和磁盘 IO 资源消耗百分比是一段时间的平均值。 如果此百分比超过阈值,则所有索引请求将受到限制,直到请求量减少。

根据所用的客户端,可通过以下方式指示受限制的请求:

  • 服务返回“"You are sending too many requests. Please try again later."”错误
  • 服务返回 503 错误代码,指示服务当前不可用。
  • 如果使用的是门户(例如搜索资源管理器),则会以静默方式丢弃查询,你需要再次选择“搜索”。

若要确认受限制的查询,请使用“受限制的搜索查询”指标。 可以在门户中浏览指标,或根据本文中所述创建一个警报指标。 对于在采样间隔内丢弃的查询,请使用“总计”来获取未执行的查询百分比。

聚合类型 限制
平均值 间隔内丢弃的查询百分比。
计数 在一分钟间隔内发出到日志的指标数。
最大值 间隔内丢弃的查询百分比。
最小值 间隔内丢弃的查询百分比。
总计 间隔内丢弃的查询百分比。

对于“受限制的搜索查询百分比”、最小值、最大值、平均值和总计,全都具有相同的值:在一分钟内的搜索查询总数中,已限制搜索查询百分比。

指标维度

有关指标维度定义的信息,请参阅多维指标

Azure AI 搜索具有以下指标相关的维度,这些指标捕获已执行的文档或技能的数量。

指标名称 说明 维度 示例用例
已处理的文档计数 显示索引器处理的文档的数目。 数据源名称、失败、索引名称、索引器名称、技能集名称 可以引用为吞吐量的粗略度量值(索引器随时间推移处理的文档数)
- 设置为对失败的文档发出警报
技能执行调用计数 显示技能调用的数目。 数据源名称、失败、索引名称、索引器名称、技能名称、技能类型、技能集名称 通过比较技能之间的相对调用次数,以及技能调用次数与文档数量来确保按预期调用技能。
- 设置为在技能调用失败时发出警报
维度名称 说明
DataSourceName 索引器执行期间使用的已命名数据源连接。 有效值必须是支持的数据源类型之一。
已失败 指示实例是否失败。
IndexerName 索引器的名称。
IndexName 索引的名称。
SkillsetName 索引器执行期间使用的技能组的名称。
SkillName 技能组内技能的名称。
SkillType 技能的 @odata.type。

资源日志

本部分列出了可为此服务收集的资源日志类型。 本部分拉取自 Azure Monitor 支持的所有资源日志类别类型列表。

Microsoft.Search/searchServices 支持的资源日志

Azure Monitor 日志表

本部分列出了与此服务相关的 Azure Monitor 日志表,日志分析可使用 Kusto 查询来查询这些表。 这些表包含资源日志数据,此外还可能包含其他数据,具体取决于所收集并路由到这些表的内容。

搜索服务

Microsoft.Search/searchServices

说明
AzureActivity Azure 活动日志中的条目,提供有关控制平面操作方面的见解。 在控制平面上调用的任务(例如添加或删除副本和分区)将通过“获取管理密钥”活动表示。
AzureDiagnostics 记录的查询和编制索引操作。 Log Analytics 中对 AzureDiagnostics 表的查询可以包括通用属性、特定于搜索的属性,以及架构参考部分中列出的特定于搜索的操作
AzureMetrics Azure AI 搜索发出的指标数据,用于衡量运行状况和性能。

资源日志表

下表列出了 Azure AI 搜索中资源日志的属性。 将资源日志收集到 Azure Monitor 日志或 Azure 存储。 在 Azure Monitor 中,将日志收集到 Microsoft.Search 资源提供程序下的 AzureDiagnostics 表中。

Azure 存储字段或属性 Azure Monitor 日志属性 说明
时间 TIMESTAMP 操作发生时的日期和时间 (UTC)。
ResourceId Concat("/", "/subscriptions", SubscriptionId, "resourceGroups", ResourceGroupName, "providers/Microsoft.Search/searchServices", ServiceName) 为其启用了日志的 Azure AI 搜索资源。
category “OperationLogs” 日志类别包括 AuditOperationalExecutionRequest
operationName 名称 操作的名称。 操作名称可以是 Indexes.ListIndexStatsSummariesIndexes.GetIndexes.StatsIndexers.ListQuery.SearchQuery.SuggestQuery.LookupQuery.AutocompleteCORS.PreflightIndexes.UpdateIndexes.PrototypeServiceStatsDataSources.ListIndexers.Warmup
durationMS DurationMilliseconds 操作持续时间,以毫秒为单位。
operationVersion ApiVersion 用于请求的 API 版本。
resultType (Failed) ? "Failed" : "Success" 响应的类型。
resultSignature Status 操作的 HTTP 响应状态。
properties 属性 与此事件类别相关的任何扩展属性。

活动日志

链接表列出了可在此服务的活动日志中记录的操作。 这是活动日志中所有可能的资源提供程序操作的子集。

有关活动日志条目架构的详细信息,请参阅活动日志架构

下表列出了可能在活动日志中记录的与 Azure AI 搜索相关的常见操作。 有关所有 Microsoft.Search 操作的完整列表,请参阅 Microsoft.Search 资源提供程序操作

操作 说明
获取管理密钥 任何需要管理权限的操作都将记录为“获取管理密钥”操作。
获取查询密钥 对索引的文档集合执行的任何只读操作。
重新生成管理密钥 重新生成主或辅助管理 API 密钥的请求。

常见条目包括对 API 密钥的引用 - 一般信息通知,如“获取管理密钥”和“获取查询密钥” 。 这些活动指示使用管理密钥(创建或删除对象)或查询密钥发出的请求,但不显示请求本身。 如需这种粒度的信息,必须配置资源日志记录。

或者,可以通过更改历史记录获得一些见解。 在 Azure 门户中,选择活动以打开详细信息页,然后选择“更改历史记录”了解有关基础操作的信息。

其他架构

以下架构用于此服务。

如果要生成查询或自定义报表,则包含 Azure AI 搜索资源日志的数据结构遵从以下架构。

对于发送到 Blob 存储的资源日志,每个 Blob 都有一个名为“records”的根对象,其中包含一系列日志对象。 每个 Blob 包含同一小时内发生的所有操作的记录。

资源日志架构

通过 Azure Monitor 提供的所有资源日志都共享一个常见的基础架构。 Azure AI 搜索补充了搜索服务独有的其他属性操作

下面的示例展示了一个资源日志,其中包含公共属性(TimeGenerated、Resource、Category 等)和特定于搜索的属性(OperationName 和 OperationVersion)。

名称 类型 说明和示例
TimeGenerated datetime 操作的时间戳。 例如: 2021-12-07T00:00:43.6872559Z
资源 String 资源 ID。 例如: /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Search/searchServices/<your-search-service-name>
Category String “OperationLogs”。 该值是一个常数。 OperationLogs 是用于资源日志的唯一类别。
OperationName 字符串 操作的名称(请参阅完整的操作列表)。 示例为 Query.Search
OperationVersion 字符串 用于请求的 API 版本。 例如:2024-07-01
ResultType 字符串 “成功”。 其他可能的值:成功或失败
ResultSignature int HTTP 结果代码。 例如: 200
DurationMS int 操作持续时间,以毫秒为单位。
属性 对象 包含特定于操作的数据的对象。 请参阅下面的属性架构表。

属性架构

以下属性特定于 Azure AI 搜索。

名称 类型 说明和示例
Description_s 字符串 操作的终结点。 例如: GET /indexes('content')/docs
Documents_d int 处理的文档数目。
IndexName_s 字符串 与操作关联的索引名称。
Query_s 字符串 请求中使用的查询参数。 例如:?search=beach access&$count=true&api-version=2024-07-01

OperationName 值(记录的操作)

下面的操作可以显示在资源日志中。

OperationName 说明
DataSources.* 适用于索引器数据源。 可以是 Create、Delete、Get、List。
DebugSessions.* 适用于调试会话。 可以是 Create、Delete、Get、List、Start 和 Status。
DebugSessions.DocumentStructure 调试会话中加载了扩充文档。
DebugSessions.RetrieveIndexerExecutionHistoricalData 针对索引器执行详细信息的请求。
DebugSessions.RetrieveProjectedIndexerExecutionHistoricalData 投影到知识存储用于扩充的执行历史记录。
Indexers.* 适用于索引器。 可以是 Create、Delete、Get、List 和 Status。
Indexes.* 适用于搜索索引。 可以是 Create、Delete、Get、List。
indexes.Prototype 这是导入数据向导创建的索引。
Indexing.Index 此操作是对添加、更新或删除文档的调用。
Metadata.GetMetadata 针对搜索服务系统数据的请求。
Query.Autocomplete 针对索引的自动完成查询。 请参阅查询类型和组合
Query.Lookup 针对索引的查找查询。 请参阅查询类型和组合
Query.Search 针对索引的全文搜索请求。 请参阅查询类型和组合
Query.Suggest 针对索引的预先键入查询。 请参阅查询类型和组合
ServiceStats 此操作是对获取服务统计信息的例行调用(直接调用或隐式调用),以便在加载或刷新门户概述页时在其中填充信息。
Skillsets.* 对适用于技能组。 可以是 Create、Delete、Get、List。