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” | 日志类别包括 Audit 、Operational 、Execution 和 Request 。 |
operationName | 名称 | 操作的名称。 操作名称可以是 Indexes.ListIndexStatsSummaries 、Indexes.Get 、Indexes.Stats 、Indexers.List 、Query.Search 、Query.Suggest 、Query.Lookup 、Query.Autocomplete 、CORS.Preflight 、Indexes.Update 、Indexes.Prototype 、ServiceStats 、DataSources.List 、Indexers.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。 |
相关内容
- 有关如何监视 Azure AI 搜索,请参阅监视 Azure AI 搜索。
- 请参阅使用 Azure Monitor 监视 Azure 资源,详细了解如何监视 Azure 资源。