Link Search Menu Expand Document Documentation Menu

查询洞察插件健康状况

Query Insights 插件提供了一个API指标,用于监控其健康状况和性能,从而能够主动识别可能影响查询处理或系统资源的问题。

健康统计 API

2.18 版引入

健康统计 API 提供运行 Query Insights 插件的每个节点的健康指标。这些指标能够深入了解资源使用情况和查询处理组件的健康状况。

端点

GET _insights/health_stats

请求示例

GET _insights/health_stats

示例响应

响应包含每个节点的健康相关字段集

GET _insights/health_stats
{
  "AqegbPL0Tv2XWvZV4PTS8Q": {
    "ThreadPoolInfo": {
      "query_insights_executor": {
        "type": "scaling",
        "core": 1,
        "max": 5,
        "keep_alive": "5m",
        "queue_size": 2
      }
    },
    "QueryRecordsQueueSize": 2,
    "TopQueriesHealthStats": {
      "latency": {
        "TopQueriesHeapSize": 5,
        "QueryGroupCount_Total": 0,
        "QueryGroupCount_MaxHeap": 0
      },
      "memory": {
        "TopQueriesHeapSize": 5,
        "QueryGroupCount_Total": 0,
        "QueryGroupCount_MaxHeap": 0
      },
      "cpu": {
        "TopQueriesHeapSize": 5,
        "QueryGroupCount_Total": 0,
        "QueryGroupCount_MaxHeap": 0
      }
    },
    "FieldTypeCacheStats" : {
      "size_in_bytes" : 336,
      "entry_count" : 3,
      "evictions" : 1,
      "hit_count" : 5,
      "miss_count" : 4
    }
  }
}

响应字段

下表列出了所有响应正文字段。

字段 数据类型 描述
ThreadPoolInfo 对象 关于 Query Insights 线程池的信息,包括类型、核心计数、最大线程数和队列大小。请参阅ThreadPoolInfo 对象
QueryRecordsQueueSize 整数 在处理传入搜索查询之前缓冲这些查询的队列大小。高值可能表示负载增加或处理速度变慢。
TopQueriesHealthStats 对象 每个热门查询服务的性能指标,提供有关内存分配(堆大小)和查询分组的信息。请参阅TopQueriesHealthStats 对象
FieldTypeCacheStats 对象 查询洞察字段类型缓存的指标。启用查询分组时,此缓存用于存储字段类型映射。

ThreadPoolInfo 对象

ThreadPoolInfo 对象包含专用于 Query Insights 插件的线程池的以下详细配置和性能数据。

字段 数据类型 描述
type 字符串 线程池类型(例如,scaling)。
core 整数 线程池中的最小线程数。
max 整数 线程池中的最大线程数。
keep_alive 时间单位 空闲线程保留的时间量。
queue_size 整数 队列中的最大任务数。

TopQueriesHealthStats 对象

TopQueriesHealthStats 对象提供延迟、内存和 CPU 使用情况的明细,并包含以下信息。

字段 数据类型 描述
TopQueriesHeapSize 整数 查询组的堆内存分配。
QueryGroupCount_Total 整数 已处理的查询组总数。
QueryGroupCount_MaxHeap 整数 存储所有内存中查询组的最大堆大小。

FieldTypeCacheStats 对象

FieldTypeCacheStats 对象包含以下统计信息。

字段 数据类型 描述
size_in_bytes 整数 缓存的堆内存分配。
entry_count 整数 缓存条目总数。
evictions 整数 缓存逐出总次数。
hit_count 整数 缓存命中总次数。
miss_count 整数 缓存未命中总次数。

OpenTelemetry 错误指标计数器

Query Insights 插件与 OpenTelemetry 集成,以提供实时错误指标计数器。这些计数器有助于识别插件中的特定操作故障并提高可靠性。每个指标都针对插件工作流中的潜在错误源提供有针对性的洞察,从而实现更集中的调试和维护。

要收集这些指标,您必须配置和收集查询指标。有关更多信息,请参阅查询指标

下表列出了所有可用的指标。

字段 描述
LOCAL_INDEX_READER_PARSING_EXCEPTIONS 使用 LocalIndexReader 解析数据时发生的错误数量。
LOCAL_INDEX_EXPORTER_BULK_FAILURES 将 Query Insights 插件数据摄入本地索引时发生的故障数量。
LOCAL_INDEX_EXPORTER_DELETE_FAILURES 删除 Query Insights 本地索引时发生的故障数量。
LOCAL_INDEX_EXPORTER_EXCEPTIONS Query Insights 插件 LocalIndexExporter 中发生的异常数量。
INVALID_EXPORTER_TYPE_FAILURES 无效导出器类型故障的数量。
DATA_INGEST_EXCEPTIONS 将数据摄入 Query Insights 插件时发生的异常数量。
QUERY_CATEGORIZE_EXCEPTIONS 对查询进行分类时发生的异常数量。
EXPORTER_FAIL_TO_CLOSE_EXCEPTION 关闭导出器时发生的故障数量。
READER_FAIL_TO_CLOSE_EXCEPTION 关闭读取器时发生的故障数量。
TOP_N_QUERIES_USAGE_COUNT Top N 查询 API 被使用的次数。