The elastiscearch/index metricset (when xpack.enabled: true is set) consumes memory proportional to the # of indices in the ES cluster and the size of the cluster state, specifically the sizes of the GET _stats and GET _cluster/state responses.
This is somewhat expected as the metricset needs data from those two API calls to create type: index_stats documents in .monitoring-es-* indices.
However, it may be possible to reduce the memory consumed by this metricset's code. Concretely, it would be worth looking into exactly which fields from the API responses are being used (and if the rest could be excluded) and also whether switching to a streaming JSON parser might help.
The
elastiscearch/indexmetricset (whenxpack.enabled: trueis set) consumes memory proportional to the # of indices in the ES cluster and the size of the cluster state, specifically the sizes of theGET _statsandGET _cluster/stateresponses.This is somewhat expected as the metricset needs data from those two API calls to create
type: index_statsdocuments in.monitoring-es-*indices.However, it may be possible to reduce the memory consumed by this metricset's code. Concretely, it would be worth looking into exactly which fields from the API responses are being used (and if the rest could be excluded) and also whether switching to a streaming JSON parser might help.