Skip to content

Commit 658f8ed

Browse files
committed
merge w main
2 parents de16ea1 + 718d54a commit 658f8ed

File tree

65 files changed

+2259
-795
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2259
-795
lines changed

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/dependencies/patches/awsv2sdk/Awsv2ClassPatcher.java

Lines changed: 0 additions & 61 deletions
This file was deleted.

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/dependencies/patches/awsv2sdk/StringFormatInPathResolverPatcher.java

Lines changed: 0 additions & 89 deletions
This file was deleted.

build-tools-internal/version.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jna = 5.12.1
1717
netty = 4.1.118.Final
1818
commons_lang3 = 3.9
1919
google_oauth_client = 1.34.1
20-
awsv2sdk = 2.30.38
20+
awsv2sdk = 2.31.78
2121
reactive_streams = 1.0.4
2222

2323
antlr4 = 4.13.1

docs/changelog/121914.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 121914
2+
summary: Support Fields API in conditional ingest processors
3+
area: Infra/Core
4+
type: feature
5+
issues: []

docs/changelog/131050.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 131050
2+
summary: Upgrade AWS Java SDK to 2.31.78
3+
area: "Snapshot/Restore"
4+
type: upgrade
5+
issues: []
6+

docs/changelog/131173.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 131173
2+
summary: Add attribute count to `SamlAttribute` `toString`
3+
area: Authentication
4+
type: enhancement
5+
issues: []

docs/internal/GeneralArchitectureGuide.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,20 @@ See the [public upgrade docs][] for the upgrade process.
298298

299299
(what plugins do we have?)
300300

301+
# Observability
302+
303+
Elasticsearch emits logs as described in the [public logging docs][], and exposes a good deal of information about its inner workings using
304+
all its management and stats APIs. Elasticsearch also integrates with the [Elastic APM Java agent][] to perform distributed tracing (as
305+
described in [TRACING.md][]) and metrics collection (as described in [METERING.md][]). This agent exposes the data it collects to an
306+
[OpenTelemetry][] service such as [Elastic APM Server][].
307+
308+
[public logging docs]: https://www.elastic.co/docs/deploy-manage/monitor/logging-configuration
309+
[Elastic APM Java agent]: https://www.elastic.co/docs/reference/apm/agents/java
310+
[OpenTelemetry]: https://opentelemetry.io/
311+
[Elastic APM Server]: https://www.elastic.co/docs/solutions/observability/apm
312+
[TRACING.md]: https://github.com/elastic/elasticsearch/blob/v8.18.3/TRACING.md
313+
[METERING.md]: https://github.com/elastic/elasticsearch/blob/v8.18.3/modules/apm/METERING.md
314+
301315
# Testing
302316

303317
(Overview of our testing frameworks. Discuss base test classes.)

docs/reference/query-languages/esql.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,5 @@ This reference section provides detailed technical information about {{esql}} fe
2020
* [Advanced workflows](esql/esql-advanced.md): Learn how to handle more complex tasks with these guides, including how to extract, transform, and combine data from multiple indices
2121
* [Types and fields](esql/esql-types-and-fields.md): Learn about how {{esql}} handles different data types and special fields
2222
* [Limitations](esql/limitations.md): Learn about the current limitations of {{esql}}
23-
* [Examples](esql/esql-examples.md): Explore some example queries
23+
* [Examples](esql/esql-examples.md): Explore some example queries
24+
* [Troubleshooting](esql/esql-troubleshooting.md): Learn how to diagnose and resolve issues with {{esql}}

docs/reference/query-languages/esql/_snippets/functions/layout/match_phrase.md

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
---
2+
navigation_title: "Query log"
3+
---
4+
5+
# {{esql}} Query log [esql-query-log]
6+
7+
8+
The {{esql}} query log allows to log {{esql}} queries based on their execution time.
9+
10+
You can use these logs to investigate, analyze or troubleshoot your cluster’s historical {{esql}} performance.
11+
12+
{{esql}} query log reports task duration at coordinator level, but might not encompass the full task execution time observed on the client. For example, logs don’t surface HTTP network delays.
13+
14+
Events that meet the specified threshold are emitted into [{{es}} server logs](docs-content://deploy-manage/monitor/logging-configuration/update-elasticsearch-logging-levels.md).
15+
16+
These logs can be found in local {{es}} service logs directory. Slow log files have a suffix of `_esql_querylog.json`.
17+
18+
## Query log format [query-log-format]
19+
20+
The following is an example of a successful query event in the query log:
21+
22+
```js
23+
{
24+
"@timestamp": "2025-03-11T08:39:50.076Z",
25+
"log.level": "TRACE",
26+
"auth.type": "REALM",
27+
"elasticsearch.querylog.planning.took": 3108666,
28+
"elasticsearch.querylog.planning.took_millis": 3,
29+
"elasticsearch.querylog.query": "from index | limit 100",
30+
"elasticsearch.querylog.search_type": "ESQL",
31+
"elasticsearch.querylog.success": true,
32+
"elasticsearch.querylog.took": 8050416,
33+
"elasticsearch.querylog.took_millis": 8,
34+
"user.name": "elastic-admin",
35+
"user.realm": "default_file",
36+
"ecs.version": "1.2.0",
37+
"service.name": "ES_ECS",
38+
"event.dataset": "elasticsearch.esql_querylog",
39+
"process.thread.name": "elasticsearch[runTask-0][esql_worker][T#12]",
40+
"log.logger": "esql.querylog.query",
41+
"elasticsearch.cluster.uuid": "KZo1V7TcQM-O6fnqMm1t_g",
42+
"elasticsearch.node.id": "uPgRE2TrSfa9IvnUpNT1Uw",
43+
"elasticsearch.node.name": "runTask-0",
44+
"elasticsearch.cluster.name": "runTask"
45+
}
46+
```
47+
48+
The following is an example of a failing query event in the query log:
49+
50+
```js
51+
{
52+
"@timestamp": "2025-03-11T08:41:54.172Z",
53+
"log.level": "TRACE",
54+
"auth.type": "REALM",
55+
"elasticsearch.querylog.error.message": "line 1:15: mismatched input 'limitxyz' expecting {DEV_CHANGE_POINT, 'enrich', 'dissect', 'eval', 'grok', 'limit', 'sort', 'stats', 'where', DEV_INLINESTATS, DEV_FORK, 'lookup', DEV_JOIN_LEFT, DEV_JOIN_RIGHT, DEV_LOOKUP, 'mv_expand', 'drop', 'keep', DEV_INSIST, 'rename'}",
56+
"elasticsearch.querylog.error.type": "org.elasticsearch.xpack.esql.parser.ParsingException",
57+
"elasticsearch.querylog.query": "from person | limitxyz 100",
58+
"elasticsearch.querylog.search_type": "ESQL",
59+
"elasticsearch.querylog.success": false,
60+
"elasticsearch.querylog.took": 963750,
61+
"elasticsearch.querylog.took_millis": 0,
62+
"user.name": "elastic-admin",
63+
"user.realm": "default_file",
64+
"ecs.version": "1.2.0",
65+
"service.name": "ES_ECS",
66+
"event.dataset": "elasticsearch.esql_querylog",
67+
"process.thread.name": "elasticsearch[runTask-0][search][T#16]",
68+
"log.logger": "esql.querylog.query",
69+
"elasticsearch.cluster.uuid": "KZo1V7TcQM-O6fnqMm1t_g",
70+
"elasticsearch.node.id": "uPgRE2TrSfa9IvnUpNT1Uw",
71+
"elasticsearch.node.name": "runTask-0",
72+
"elasticsearch.cluster.name": "runTask"
73+
}
74+
```
75+
76+
77+
## Enable query logging [enable-query-log]
78+
79+
You can enable query logging at cluster level.
80+
81+
By default, all thresholds are set to `-1`, which results in no events being logged.
82+
83+
Query log thresholds can be enabled for the four logging levels: `trace`, `debug`, `info`, and `warn`.
84+
85+
To view the current query log settings, use the [get cluster settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-get-settings):
86+
87+
```console
88+
GET _cluster/settings?filter_path=*.esql.querylog.*
89+
```
90+
91+
You can use the `esql.querylog.include.user` setting to append `user.*` and `auth.type` fields to slow log entries. These fields contain information about the user who triggered the request.
92+
93+
The following snippet adjusts all available {{esql}} query log settings [update cluster settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings):
94+
95+
```console
96+
PUT /_cluster/settings
97+
{
98+
"transient": {
99+
"esql.querylog.threshold.warn": "10s",
100+
"esql.querylog.threshold.info": "5s",
101+
"esql.querylog.threshold.debug": "2s",
102+
"esql.querylog.threshold.trace": "500ms",
103+
"esql.querylog.include.user": true
104+
}
105+
}
106+
```
107+
108+
109+
110+
## Best practices for query logging [troubleshoot-query-log]
111+
112+
Logging slow requests can be resource intensive to your {{es}} cluster depending on the qualifying traffic’s volume. For example, emitted logs might increase the index disk usage of your [{{es}} monitoring](docs-content://deploy-manage/monitor/stack-monitoring.md) cluster. To reduce the impact of slow logs, consider the following:
113+
114+
* Set high thresholds to reduce the number of logged events.
115+
* Enable slow logs only when troubleshooting.
116+
117+
If you aren’t sure how to start investigating traffic issues, consider enabling the `warn` threshold with a high `30s` threshold at the index level using the [update cluster settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings):
118+
119+
Here is an example of how to change cluster settings to enable query logging at `warn` level, for queries taking more than 30 seconds, and include user information in the logs:
120+
121+
```console
122+
PUT /_cluster/settings
123+
{
124+
"transient": {
125+
"esql.querylog.include.user": true,
126+
"esql.querylog.threshold.warn": "30s"
127+
}
128+
}
129+
```
130+

0 commit comments

Comments
 (0)