查询洞察插件健康状况
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 被使用的次数。 |