elastic / beats

:tropical_fish: Beats - Lightweight shippers for Elasticsearch & Logstash
https://www.elastic.co/products/beats
Other
112 stars 4.93k forks source link

[metricbeat:elasticsearch module] Missing jvm.mem.pools metrics from node.stats #40539

Closed przemek-grzedzielski closed 3 months ago

przemek-grzedzielski commented 3 months ago

I found that metricbeat v 8.13.4 is not ingesting some of the elasticsearch.node.stats.jvm.mem.* metrics, in particular: elasticsearch.node.stats.jvm.mem.pools.old.max.bytes and elasticsearch.node.stats.jvm.mem.pools.old.used.bytes.

Note that these (and other missing metrics) are listed in the Metricbeat 8.x documentation. They're also present in the mappings: https://github.com/elastic/beats/blob/46fd21cdb4a32d23813e1401bbd085e760734905/metricbeat/module/elasticsearch/node_stats/_meta/fields.yml#L179

https://github.com/elastic/beats/blob/46fd21cdb4a32d23813e1401bbd085e760734905/metricbeat/module/elasticsearch/node_stats/_meta/fields.yml#L164

They're also exposed via Elasticsearch APIs as per the node_stats API documentation (also tested that this is the case).

@nkvoll traced the changes back to this commit or this Pull Request.

It seems that these fields have been removed inadvertently and the ask is that they be brought back since a number of services depend on them.


For confirmed bugs, please report:

consulthys commented 3 months ago

@przemek-grzedzielski The actual PR where the elasticsearch.node.stats.jvm.mem.pools.* fields were actually removed is https://github.com/elastic/beats/pull/23901 but the PR doesn't contain any reason why.

My hunch is that those fields have been removed because they were nowhere used in the Stack Monitoring UI, which looking at the SM UI source code seems to confirm this.

Maybe @pickypg has an idea or some background context since he was involved at that time.