2.6 KiB
layout | title | parent | nav_order |
---|---|---|---|
default | Top N queries | Query insights | 65 |
Top N queries
Monitoring the top N queries in query insights features can help you gain real-time insights into the top queries with high latency within a certain time frame (for example, the last hour).
Getting started
To enable monitoring of the top N queries, configure the following dynamic settings:
search.insights.top_queries.latency.enabled
: Set totrue
to enable monitoring of the top N queries.search.insights.top_queries.latency.window_size
: Configure the window size.search.insights.top_queries.latency.top_n_size
: Specify the value of n.
It's important to exercise caution when enabling this feature because it can consume system resources. {: .important}
For detailed information about enabling and configuring this feature, see the following sections.
Enabling the top N queries feature
After installing the query-insights
plugin, you can enable the top N queries feature (which is disabled by default) by using the following dynamic setting. This setting enables the corresponding collectors and aggregators in the running cluster:
PUT _cluster/settings
{
"persistent" : {
"search.insights.top_queries.latency.enabled" : true
}
}
{% include copy-curl.html %}
Configuring window size
You can configure the window size for the top N queries by latency with search.insights.top_queries.latency.window_size
. For example, a cluster with the following configuration will collect top N queries in a 60-minute window:
PUT _cluster/settings
{
"persistent" : {
"search.insights.top_queries.latency.window_size" : "60m"
}
}
{% include copy-curl.html %}
Configuring the value of N
You can configure the value of N in the search.insights.top_queries.latency.top_n_size
parameter. For example, a cluster with the following configuration will collect the top 10 queries in the specified window size:
PUT _cluster/settings
{
"persistent" : {
"search.insights.top_queries.latency.top_n_size" : 10
}
}
{% include copy-curl.html %}
Monitoring the top N queries
You can use the Insights API endpoint to obtain top N queries by latency:
GET /_insights/top_queries
{% include copy-curl.html %}
Specify a metric type to filter the response by metric type (latency is the only supported type as of 2.12):
GET /_insights/top_queries?type=latency
{% include copy-curl.html %}