最近发现磁盘的占用率趋高,打开可视化工具head查看了之后发现,es实例中生成了好多类似monitoring-es-6-2019.11.27这个的节点。
##查询集群总的磁盘使用情况
curl -u elastic -XGET 'localhost:9200/_cat/allocation?v'
##查询集群中各索引的磁盘占用情况
curl -u elastic -XGET 'localhost:9200/_cat/indices?v'
ES服务安装了x-pack之后,会默认保留最近7天的监控索引,此类.monitoring-es-6-*的索引会占用ES实例存储空间。索引的大小跟集群中索引个数(包含系统索引)节点个数有关系,为了避免ES实例大部分空间被监控索引所占用,可通过一下两种方式优化:
- 一、通过修改elasticsearch.yml的配置设置监控索引保留天数
xpack.monitoring.history.duration: 1d
- 二、设置需要采集监控的索引
可以通过配置文件的设置,选择哪些索引需要监控,哪些索引不需要监控,以减少.monitoring-es-6-* 索引所占用磁盘空间。
只监控einterface,和school索引。
xpack.monitoring.collection.indices: einterface,school
-
三、下面整理了一些可配置的参数
一般监控设置
xpack.monitoring.enabled
设置为false在节点上禁用Elasticsearch的Elasticsearch X-Pack监视。监控收集设置
这些xpack.monitoring.collection设置控制如何从Elasticsearch节点收集数据。xpack.monitoring.collection.cluster.stats.timeout
设置收集群集统计信息的超时时间。默认为10s。xpack.monitoring.collection.indices
控制Monitoring从哪个指标收集数据。默认为所有的索引。例如,将索引名称指定为以逗号分隔的列表moma,momb,momc。名称支持通配符的设置如包含通配符mom*,还可以通过+包含索引,-排除索引。xpack.monitoring.collection.index.stats.timeout
设置收集索引统计信息的超时时间。默认为10s。xpack.monitoring.collection.indices.stats.timeout
设置收集总索引统计信息的超时时间。默认为10s。xpack.monitoring.collection.index.recovery.active_only
控制是否收集所有的回收率。设置为true仅收集主动恢复。默认为false。xpack.monitoring.collection.index.recovery.timeout
设置收集恢复信息的超时时间。默认为10s。xpack.monitoring.collection.interval
控制收集数据样本的频率。默认为10s。如果修改收集时间间隔,请将该xpack.monitoring.min_interval_seconds 选项设置kibana.yml为相同的值。设置为-1暂时禁用数据收集。您可以通过群集更新设置API更新此设置。xpack.monitoring.history.duration
设置保留持续时间,自动删除由监控导出器创建的索引。默认为7d(7天),做少设置成1d(1天)