opensearch-docs-cn/_observing-your-data/query-insights/top-n-queries.md

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:

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 %}