es機器監控x-pack導致的監控存儲過大的問題


https://blog.csdn.net/qq_36317804/article/details/103288642

最近發現磁盤的占用率趨高,打開可視化工具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'
  • 1
  • 2
  • 3
  • 4
  • 5

在這里插入圖片描述
ES服務安裝了x-pack之后,會默認保留最近7天的監控索引,此類.monitoring-es-6-*的索引會占用ES實例存儲空間。索引的大小跟集群中索引個數(包含系統索引)節點個數有關系,為了避免ES實例大部分空間被監控索引所占用,可通過一下兩種方式優化:

  • 一、通過修改elasticsearch.yml的配置設置監控索引保留天數
xpack.monitoring.history.duration: 1d
  • 1

在這里插入圖片描述

  • 二、設置需要采集監控的索引
    可以通過配置文件的設置,選擇哪些索引需要監控,哪些索引不需要監控,以減少.monitoring-es-6-* 索引所占用磁盤空間。
 只監控einterface,和school索引。
 xpack.monitoring.collection.indices: einterface,school
  • 1
  • 2

在這里插入圖片描述

    • 三、下面整理了一些可配置的參數
      一般監控設置
      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天)

  • 在阿里雲上面也對文件進行了詳細的設計
  • https://blog.csdn.net/qq_36317804/article/details/103288642

背景信息

默認情況下,X-Pack監控客戶端會每隔10s采集一次集群的監控信息,並保存到對應阿里雲ES實例的以.monitoring-*為前綴的索引中。

目前主要有.monitoring-es-6-*.monitoring-kibana-6-*這兩種索引,以天為單位滾動創建。采集完的信息會保存在以.monitoring-es-6-為前綴,以當前日期為后綴的索引中。

其中.monitoring-es-6-*索引占用磁盤空間較大,主要存放了集群狀態、集群統計、節點統計、索引統計等信息。

操作步驟

  1. 登錄對應阿里雲ES實例的Kibana控制台。
    登錄控制台的具體步驟請參見 登錄Kibana控制台
  2. 在左側導航欄,單擊Monitoring。
  3. Elasticsearch區域,單擊Indices。
    indices入口
  4. Indices頁簽,開啟System indices,查看監控索引所占的空間大小。
    查看監控索引信息
  5. 在左側導航欄,單擊Dev Tools(開發工具)。
  6. Console中,執行以下命令配置監控索引。
    系統默認保留最近7天的監控索引,此類監控索引( .monitoring-es-6-*)會占用阿里雲ES實例的存儲空間。索引的大小與實例中的索引個數(包含系統索引)和節點個數有關系。為了避免實例的大部分空間被監控索引占用,可通過以下兩種方式進行優化(實際使用中,可以將以上兩種方案結合使用):
    • 設置監控索引的保留天數。
       
      PUT _cluster/settings
      {"persistent": {"xpack.monitoring.history.duration":"1d"}}

      您可以按照需求自定義監控索引的保留天數,最少保留一天。

    • 設置需要采集的監控索引。
      通過調用API設置哪些索引需要監控以及哪些索引不需要監控,以減少 .monitoring-es-6-*索引所占用的磁盤空間。以下命令以禁掉采集系統索引為例。
       
      PUT _cluster/settings
      {"persistent": {"xpack.monitoring.collection.indices": "*,-.*"}}
       
      說明 禁掉的索引監控信息將不會在Kibana控制台的 Montioring頁面(索引列表及索引監控信息頁面)中顯示。但是會在GET _cat/indices獲取的索引列表中顯示,並且可查看索引的狀態是open還是close。
       
       

      1.在head中執行

      1.  
        {
      2.  
        "transient": {
      3.  
        "xpack.monitoring.collection.enabled": false
      4.  
        }
      5.  
        }

       

      2.命令刪除 已生成的索引

       curl -XDELETE 'http://1localhost:9200/.monitoring-es-6-*


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM