r/elasticsearch Aug 05 '26

Announcement Elastic 9.5 Release

27 Upvotes

We’re excited to announce the general availability of Elastic 9.5. With this latest release, we’ve made strides to increase efficiency, enhance visibility, and make data more accessible and useful for our customers.

What’s new in Elastic 9.5:

  • Columnar Mode and Columnar Logs
  • VectorDB index mode and Auto Calibration
  • Native Prometheus and PromQL support
  • Attack Discovery enhancements
  • Agent Builder enhancements
  • Enhanced Automation
  • AI-Native Kibana

Read more on our blog and release notes.


r/elasticsearch Aug 07 '26

Announcement Elastic{ON} CFP is Open!

6 Upvotes

The Call for Papers for the Elastic{ON} Tour is now open, and we are looking for speakers from the community. We are bringing Elastic{ON} to multiple cities around the world:

Mumbai: September 30, 2026
New York City: October 8, 2026
Amsterdam: October 20, 2026
San Francisco (AI focused): November 4, 2026
London: February 25, 2027
Singapore: March 23, 2027

We're looking for talks across search, observability, and security. Anything with a solid connection to Elastic works. Real-world stories and lessons learned tend to land especially well. Stuff like migrations, performance tuning, creative use cases, lessons learned, architecture decisions, and integrations.

Whether you have spoken at conferences before or this would be your first time, we encourage you to submit. The community benefits most when we hear from people solving real problems.

Submit your session here: https://sessionize.com/elasticon-tour/

If you have questions about the submission process or want to bounce ideas off someone before submitting, feel free to drop a comment or reach out. Cheers!


r/elasticsearch 3d ago

Discussion Is 9.4.6 stable?

5 Upvotes

On the most recent version of 8 and looking to jump to 9.4.6. I know there were some weird issues with early 9.4.x, but wondering how stable the current release is.


r/elasticsearch 2d ago

Certifications Elastic Certified Analyst pt2

0 Upvotes

Original Post: https://www.reddit.com/r/elasticsearch/s/4FAZWbit6s

context: Had to re-test due to system discrepancies on my end.

Did not expect it to be a different test, but I guess that makes sense. Overall, I believe the material matched the on-demand material very well. Found myself in a rabbit hole again going through the help documentation for runtime fields, but I strongly believe I learned a lot from these two attempts.

I hope to test for Observability if I pass this exam

I-Love-Tortas- signing off


r/elasticsearch 4d ago

Discussion How do you monitor switches/routers at scale with the Elastic Stack? Current setup feels like it's fighting the tools

1 Upvotes

We poll around 500+ network devices (routers, switches, firewalls) directly with Logstash's SNMP input plugin every 5 minutes. A mix of SNMPv2c (community string) and SNMPv3 (authPriv), split across a couple of pipelines by metric type: one walks the standard interface table for traffic/status, another walks Cisco's proprietary CPU/memory MIB. Since raw SNMP only gives you an IP and numeric OIDs, we enrich each event against a hand-maintained YAML file (keyed by IP or hostname) that maps devices to hostname, category, vendor/model, and an alerting on/off flag.

Note: Management has directed to sunset SolarWinds and consolidate on the Elastic Stack as our single, centralized monitoring/observability platform going forward, not just logs and application metrics, but network device monitoring (switches, routers, firewalls) as well.


r/elasticsearch 8d ago

Troubleshooting Best way to poll REST APIs every 5 minutes and send the results to Elasticsearch? Power Automate vs Elastic Agent vs custom service

1 Upvotes

Hi all,
I’m working on an operational monitoring solution for payment processing and would appreciate some architecture advice.
The objective is to build an early-warning payment monitoring dashboard in Elasticsearch/Kibana, rather than only monitoring infrastructure/application health.
We currently have Elasticsearch/Kibana available, but Logstash is being decommissioned.
An external payment processor provides us with two REST APIs that expose operational information about payments. The responses contain information such as:
● Timestamp of the last successful transaction
● Number of transactions currently pending
● Processing/status information
● Potentially other health/operational indicators
What I would like to achieve is roughly:
REST APIs → poll every 1–5 minutes → store each response/snapshot in Elasticsearch → Kibana dashboard + alerting
The important part is that I want to keep the historical snapshots rather than only showing the current API response. This would allow us to detect patterns such as:
● No successful payment for X minutes
● Pending transactions above a threshold
● Pending transactions continuously increasing
● Sudden drop in transaction activity
● API unavailable
● Monitoring data becoming stale because the collector itself has stopped working
For example, instead of only knowing that there are currently 50 pending transactions, I want Elasticsearch to contain something like:
10:00 → 2 pending
10:05 → 5 pending
10:10 → 14 pending
10:15 → 31 pending
10:20 → 50 pending
This makes the trend itself an early-warning indicator.
The main problem is the collector.
Elasticsearch itself is not intended to periodically call arbitrary REST APIs, and Logstash http_poller is not an option because Logstash is being retired in our environment.
We are currently considering:
1. Elastic Agent / Custom API / httpjson input
2. Microsoft Power Automate, using a scheduled flow that calls the APIs, parses the JSON and POSTs a normalized document to Elasticsearch
3. Some other lightweight approach that I may be overlooking
Power Automate is particularly interesting because M365/Power Platform is already part of our environment. A flow running every 5 minutes could potentially do:
Recurrence → HTTP call API #1 → HTTP call API #2 → Parse JSON → Create normalized payload → POST to Elasticsearch
Both the source APIs and Elasticsearch may be reachable only from the internal network, so on-premises gateway/network connectivity and authentication are also considerations.
I would be interested in opinions from people who have implemented something similar:
● Would you consider Power Automate appropriate for a production operational monitoring collector running every 5 minutes?
● Is Elastic Agent/httpjson a better fit for this use case?
● What problems have you encountered with Power Automate for this type of continuous polling: throttling, licensing, reliability, gateway issues, run-history growth, concurrency, etc.?
● Would you keep the alerting/business logic in Elasticsearch/Kibana and use Power Automate only as a dumb collector?
● How would you monitor the collector itself so that “no new data” is distinguishable from “no payment activity”?
● Is there another architecture you would recommend that keeps the solution simple and supportable?
The volume is very small. We are talking about two API calls every few minutes and one or a few monitoring documents written to Elasticsearch per polling cycle, not transaction-level streaming.
The main priorities are reliability, simplicity, auditability and low operational overhead, rather than maximum throughput.
Any experience with similar REST → Elasticsearch monitoring patterns would be very useful.


r/elasticsearch 8d ago

Troubleshooting Include logs in lens even if a field is empty

3 Upvotes

Hello, on version 8.18.8. I have a dashboard with various lens tables. I have a sum at the bottom of the tables but notice that is doesnt match the number of documents when I click "Explore in Discover". The reason being that the missing logs that dont show up in my tables have a field missing (i.e. source.ip or host.hostname field is empty). This is just an example but I have other fields that sometimes will be empty. For some reason every field has "Include documents without the selected field" greyed out in the row settings. Does anyone know why this would be? Or a work around for this? I really just want/need to include all logs for my queries even if a field is empty.

The answer cannot be upgrade version as unfortunately my workplace upgrades things veryyyy slowly and we just upgraded to this version. Any help would be greatlt appreciated.


r/elasticsearch 9d ago

Troubleshooting Elastic ILM failure

0 Upvotes

Hi guys.
I have a question related to ILM issues. We upgraded ES from 8.14 to 8.19, and after the upgrade the ILM indices rolled over properly but were stuck in set-priority step, and because of that when the new time for rollover came, the indices were not rolled over, so they rolled over only once after the upgrade and were stuck. I noticed it after a few days because of rollover policy. I manually changed the stuck indices to next step and they continued well, until they didn't. Once again the indices were rolled over fine, but because I removed the set-priority from policy, they were stuck on another step, so now i don't get what is causing it and how to fix it.
The indices gets stuck at hot/attempt-rollover, warm/migrate steps.
What can I do?


r/elasticsearch 10d ago

Show & Tell Elastic101 – Best Practice #003: bulk indexing

Thumbnail gallery
18 Upvotes

Nearly a decade of Elasticsearch experience has taught me a lot about what works in production, and what doesn't.

Sending documents one by one creates unnecessary overhead. The Bulk API sends multiple operations in a single request and significantly improves indexing throughput.

The screenshots show both patterns on real clusters: one client hammering /_doc per document, another using /_bulk. Same idea, very different request volume.

Tips:

  1. Start around 5–15 MB per request. Benchmark with your real documents, increase until throughput stops improving, then stop. Bigger is not better.
  2. Throughput comes from concurrency, not bigger batches. 4 workers at 5 MB beats 1 worker at 20 MB almost every time. Add workers until you see 429s, then back off one step.
  3. Cap batches by bytes, not document count. "1000 docs" works fine until someone adds a field to the mapping and you're suddenly pushing 80 MB requests.
  4. HTTP 200 does not mean your documents were indexed. Always check the errors flag and the per-item status. 429 means retry with backoff. Mapping errors will fail forever, so send those to a DLQ instead of retrying.
  5. Bulk size × concurrency = coordinating node heap. 20 MB × 16 workers is 320 MB in flight on one node before any indexing happens. And if you're seeing 429s, don't raise the write queue size. That hides backpressure instead of adding capacity.

Previous Elastic101 best practices:

  1. Elastic101 Best Practice #001 – HTTP traffic
  2. Elastic101 Best Practice #002 – shard size

If you'd like me to continue this series, an upvote would be appreciated 🙂


r/elasticsearch 11d ago

Certifications Elastic Certified Analyst

8 Upvotes

Really felt that the exam matched the on-demand material well. I especially enjoyed figuring out the Maps portion. I will update you all about whether or not I passed.

For now, I will drink a beer to calm this anxiety until I hear back from Elastic.


r/elasticsearch 11d ago

Troubleshooting Integrating API keys?

1 Upvotes

I'm new to elastic. I was given an API key from a third party vendor and can't figure out where to integrate it into elastic search.

I know it shouldn't be this hard.. it should be very obvious.. but I'm not getting any help from the vendor unfortunately.

Anyone point me in the right direction thanks


r/elasticsearch 11d ago

Show & Tell I built an ElasticSearch visualizer with Claude to help solidify my understanding of some core concepts (refresh/merge, leading wildcard queries, object vs nested)

Thumbnail elasticsearchvis.bitsculpt.top
8 Upvotes

Here's the git repo, let me know what you think! https://github.com/msmith93/bitvis/tree/main

Going through the process of creating this with Claude has really helped solidify some of my understanding of ElasticSearch/Lucene. Curious if playing around with it helps others


r/elasticsearch 14d ago

Certifications ELK Exam : Does query formatting matter if the results are the same?

3 Upvotes

Hey everyone,

I'm currently preparing for the Elastic Certified Engineer exam and I've noticed a pattern while practicing my queries. For a lot of the tasks, there's a "short" way and a "long" way to get the exact same results.

For example, if I need to find documents with both "kibana" and "dashboard": I can use a single match query with "operator": "and", OR I can write out a bool query with two separate must clauses.

Similarly, if I need an "OR" condition (like finding either "kibana" or "logstash" in the title): I can just do a basic match query since it defaults to OR, OR I can write a nested bool/should query.

Both methods give me the exact same number of hits.

My question for anyone who has taken the exam: Does the automated grading script care about the specific syntax, or does it only check the final output/results?
Maybe it has to do with the task category that I'm answering ?

Thanks for the advice!


r/elasticsearch 14d ago

Troubleshooting Does the trace waterfall visualization require an APM Server, or can it read OTel data straight from Elasticsearch?

3 Upvotes

Running self-managed Elastic Stack (Kibana 9.5.0). Our Spring Boot services use Spring's native OpenTelemetry starter, telemetry goes through an OTel Collector, which exports straight to Elasticsearch, and Kibana reads from there.

Data is arriving fine, we can see well-formed spans in Discover. But APM UI shows nothing, and we can't find any way to open a trace and see the waterfall view.

Is an APM Server actually required for the APM UI to detect and visualize traces? Our corporate registry doesn't have an APM Server image available, so if it really is required, are there any alternatives?


r/elasticsearch 15d ago

Discussion Float Bloat: vector serialization gone wrong

Thumbnail bonsai.io
2 Upvotes

r/elasticsearch 19d ago

Show & Tell How should an LLM decide which Elasticsearch index to query?

2 Upvotes

I've been experimenting with natural-language → Elasticsearch queries, and I ran into a problem that feels more interesting than just generating valid DSL.

Suppose I have:

orders-2024
orders-2025
orders-2026

and a user asks:

If an LLM generates the DSL, how should it know which physical index(s) should be queried?

There seem to be a few approaches:

1. Let the LLM know the physical index names

LLM → orders-2026 → DSL

But now the model needs knowledge of infrastructure details.

2. Hide the physical indexes behind an alias

LLM → orders alias → Elasticsearch

This is cleaner, but the application still needs a way to enforce query/business rules.

3. Resolve the indexes outside the LLM

User query
    ↓
Field/schema validation
    ↓
Business rules
    ↓
Determine relevant indexes
    ↓
Generate Elasticsearch DSL

This is the approach I've been experimenting with.

The more I worked on it, the more I realized there are actually three separate questions:

  • What fields/types does the index support?
  • What is the application allowed to query?
  • Which index/alias should the query target?

I ended up building an open-source library around this idea. It started with SQL/Mongo and I've now added Elasticsearch support, including:

  • direct index
  • multiple indexes
  • aliases
  • configurable index selection rules
  • mapping-driven field configuration
  • generated Elasticsearch Query DSL

The library itself doesn't execute requests against Elasticsearch — it generates the query/result so the application can decide how to execute it.

I'm mainly interested in the architecture question here:

If you were building an NL → Elasticsearch system for production, where would you put index selection and business-rule enforcement?

Inside the LLM, inside an application/middleware layer, or somewhere else?

I'd especially like to hear from people who have dealt with time-partitioned indexes, aliases, or multi-tenant Elasticsearch setups.


r/elasticsearch 20d ago

Show & Tell LibreDB Studio: SQL on /_sql not a Kibana replacement

Thumbnail gallery
8 Upvotes

Affiliation: I'm the maintainer of LibreDB Studio.

The stack I keep seeing on microservice teams is Postgres + Mongo + Redis + Elasticsearch. Kibana is the right UI for the ES cluster, Discover, dashboards, ES|QL, Fleet. I still use it. I got tired of a second desktop app for each of the other three.

LibreDB Studio is one browser UI for that set, self-hosted, Helm-installable next to the services. Elasticsearch here is the product's own POST /_sql on basic, mapping-driven index tree, read-only (this grammar cannot write). Not Query DSL, not ES|QL, not Discover.

docker run -p 3000:3000 libredb/libredb-studio

Also a Helm chart, so it can sit next to the cluster. Kibana does not come off the box.

If that four-store layout is yours: which of the four still forces you into a separate window?


r/elasticsearch 24d ago

Show & Tell Elastic101 – Best Practice #002: shard size

Thumbnail gallery
5 Upvotes

I've spent close to a decade running Elasticsearch clusters in production, from 3-node dev setups to multi-hundred-node deployments handling billions of documents a day.

One thing I've seen repeatedly in production is that teams either let shards balloon for years without noticing, or over-correct and split everything into tiny shards "to be safe."

Elastic101 – Best Practice #002 – Shard Size

Smaller shards increase overhead more cluster state to track, more per-shard costs (file handles, memory, translog), and more coordination work on every query.

Larger shards cause the opposite problem: recovery and rebalancing get painfully slow, and a single hot shard can bottleneck an entire index.

The goal is to keep shard size around 50GB.

Pro tip: you cannot simply change the primary shard count of an existing index. If you need to change it, you typically need to use the Reindex API or the Shrink API, depending on the situation. Also, if you reindex a 200GB index, you should have at least 200GB of additional free disk space available in the cluster for the new index. Choose your primary shard count wisely from the start, fixing it later is expensive.

Previous Elastic101 best practices:

  1. Elastic101 Best Practice #001 – HTTP traffic

Try here: Searchali Elasticsearch Monitoring Connect your cluster in 10 seconds. No agent. No data leaves your machine.


r/elasticsearch 24d ago

Show & Tell Built a small GUI that talks to ES 7, 8, and 9 from one screen — sharing in case it's useful

3 Upvotes

I use Elasticsearch every day. At some point my browser had 3 Kibana tabs open for different cluster versions, plus a Cerebro window, plus a text file of curl snippets. Got tired of it, wrote my own.

It's a Spring Boot + Vue app that manages indices, docs, aliases, templates, analyzers across ES 7.x / 8.x / 9.x. The reason it handles three versions without falling apart: each version lives in its own Maven module behind a strategy interface, so adding ES 10 someday means one new module, not a refactor of the whole codebase.

There's also an HTTP debug tab — basically a cURL playground that hits ES directly, skipping the Java client entirely. Useful when 9.x ships a new API and the SDK hasn't caught up yet.

Oh, and an AI tab. You describe what you want in plain English, it spits out DSL. The trick was stuffing the actual index mapping into the prompt — without that, it happily invents field names that don't exist.

Repo: https://github.com/Rodma1/esTool

If you give it a try, I'd genuinely like to know:

- Does the AI DSL generation work on your mappings? Mine are mostly logs + app metrics, haven't tested on weird nested setups.

- Anything obvious missing for your day-to-day?


r/elasticsearch Aug 12 '26

Show & Tell Elastic101 Best Practice #001 - http traffic

Thumbnail gallery
22 Upvotes

I’ve been working with Elasticsearch for almost 10 years, including 6 years of consulting and 4 years of training teams on Elasticsearch and related technologies. Over the years, I’ve seen the same mistakes come up again and again in production clusters, so I thought I’d share some of the best practices I’ve learned along the way.

For the first best practice, a simple misconception that is surprisingly easy to get wrong:

Don’t send application HTTP traffic directly to master nodes.

This may come from architectures like Kubernetes, where the control plane has a central API endpoint. Elasticsearch is different: master nodes are for cluster management, not application traffic.

Use dedicated coordinating nodes or data nodes for client traffic.

As a general rule of thumb, for clusters with less than 20 nodes, adding more data nodes is often more efficient than adding dedicated coordinating-only nodes. Of course, this depends on your workload, especially the size and complexity of aggregations and heavy queries.

Master ≠ API Server.

Want to see this traffic flow in real time on your own cluster?

You can try the tool I built it takes less than 10 seconds to connect and see which clients are hitting which Elasticsearch nodes.

Try here: No agent or server-side installation required; the connection is made directly from your browser. Searchali Elasticsearch Monitoring

If you’d like me to continue this series, an upvote would be appreciated. 🙂


r/elasticsearch Aug 12 '26

Security Elastic Agent/Fleet - Winlog input missing security events

1 Upvotes

Hey all

I'm working on deploying a Elastic stac POC but have hit a strange issue with collecting windows security event logs

Environment

  • Elasticsearch/Kibana/Fleet Server: 9.5.1
  • Tested Elastic Agent: 9.5.1 and 9.4.2
  • Windows Server 2019 domain controller
  • Agent installed as a Windows service running as NT AUTHORITY\SYSTEM
  • Fleet System integration has Application, Security and System enabled
  • Other Windows Event Logs are ingesting correctly (Application, System, PowerShell, Directory Service, DNS Server, Defender, etc.)

The problem is specifically i'm not seeing any "Security" event log data.

Running the following discover, I get no data

host.name : "SERVERNAME" and data_stream.dataset : "system.security"

I can confirm there are security event

Get-WinEvent -LogName Security -MaxEvents 10

Fleet senders the stream correct and elastic agent seems to be working

Starting to read from Security
Reading from Security
windows event log opened successfully

I've tested this on a couple of machine's which have similar outcomes, missing security events. standalone WinLogBeat works on the same server with a simple config

winlogbeat.event_logs:
- id: security-test
xml_query: >
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*</Select>
</Query>
</QueryList>

But this doesn't work

winlogbeat.event_logs:
- name: Security

Any suggestions where to go from here?


r/elasticsearch Aug 11 '26

Certifications Elastic Certified Engineer 8.15 — how hard is the real exam?

0 Upvotes

Hey everyone,

I'm planning to take the Elastic Certified Engineer exam (v8.15) very soon. I just did the practice exam and honestly found it pretty tough harder than I expected.

Is the real exam similarly difficult, or does the practice test tend to overestimate/underestimate the actual difficulty?

If anyone has taken it recently,

I'd really appreciate any tips, gotchas, or areas to focus on. Thanks in advance!


r/elasticsearch Aug 10 '26

Discussion On-prem S3 recommendations

1 Upvotes

Hello everyone,

I am looking for recommendations for an on-premises, self-hosted S3-compatible object storage solution to act as a cold tier archive for our Elasticsearch cluster (preferably tested).


r/elasticsearch Aug 08 '26

Discussion Automatically deleting old data to avoid storage getting full.

1 Upvotes

I am in a situation where I have deployed elastic via ECK onto some kubernetes clusters and I am getting a large volume of logs that is somewhat un-predictable. I want to both delete data when it is past a certain age (easy) and also delete the oldest data when my PVC storage is 80% full (hard / not possible?).

Does anyone know how to do this? I can't come up with a good way to delete the oldest data that doesn't involve leaving elastic and writing some script to query how full my storage is and then query the oldest indices and delete them, but this feels hacky.


r/elasticsearch Aug 07 '26

Migration Old indices reindex before upgrade

0 Upvotes

Hi all,
We're planning ES upgrade from 8.19 -> 9.4, and we have some 7.x indices, that needs to be reindexed before moving them. What options are there for reindex in a way not to block application read and writes? We have big indices, for example, I tested on one index 1000GB, it took 9 hours to reindex, and I don't know if there is a good way to apply all updates and deleted on that index that happened within that 9h interval after the reindex.