【问题标题】:Check writes happening to an old Elasticsearch index检查对旧 Elasticsearch 索引的写入
【发布时间】:2019-07-15 00:21:50
【问题描述】:

现在由于 Elasticsearch 集群上的磁盘空间问题,我们需要清理未使用的索引,但我们想加倍确保不会以任何方式使用旧索引。

我们使用了https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html,但它不能提供最近是否使用过索引的可靠证据。

最好的解决方案是 ES 的一些 API,我们可以通过它快速确定和删除旧索引。

【问题讨论】:

    标签: elasticsearch monitoring elasticsearch-indices


    【解决方案1】:

    您可以使用index stats API 查看自上次重新启动以来给定索引是否已处理搜索或索引请求。

    GET index/_stats
    =>
      "_all": {
        "primaries": {
          "docs": {
            "count": 396885916,
            "deleted": 1712210
          },
          "store": {
            "size_in_bytes": 207383595268,
            "throttle_time_in_millis": 0
          },
          "indexing": {
            "index_total": 8,               <-- writes are happening if you see this increase
            "index_time_in_millis": 41,
            "index_current": 0,
            "index_failed": 0,
            "delete_total": 0,
            "delete_time_in_millis": 0,
            "delete_current": 0,
            "noop_update_total": 0,
            "is_throttled": false,
            "throttle_time_in_millis": 0
          },
          "get": {
            "total": 0,
            "time_in_millis": 0,
            "exists_total": 0,
            "exists_time_in_millis": 0,
            "missing_total": 0,
            "missing_time_in_millis": 0,
            "current": 0
          },
          "search": {
            "open_contexts": 7,
            "query_total": 30238,           <-- reads are happening if you see this increase
            "query_time_in_millis": 254000,
            "query_current": 0,
            "fetch_total": 816,
            "fetch_time_in_millis": 25997,
            "fetch_current": 0,
            "scroll_total": 7637,
            "scroll_time_in_millis": 686963111,
            "scroll_current": 7,
            "suggest_total": 0,
            "suggest_time_in_millis": 0,
            "suggest_current": 0
          },
    

    【讨论】:

    • 我使用了这个 api,但是因为我会在一个脚本中点击这个 api,它会列出我所有未使用的索引,并确认索引是否被使用,我需要多次点击它间隔还需要注意,不要在非高峰时间,避免出现没有交通的情况。
    • 那么您已经拥有了所需的一切,只需让该脚本运行并在 24 小时内报告。在开始时运行一次,在结束时运行一次,减去,结束。这与 Marvel(现在称为 XPack Monitoring)使用的 API 相同。
    • 很高兴它有帮助!
    猜你喜欢
    • 2015-09-16
    • 2011-12-30
    • 2017-09-14
    • 1970-01-01
    • 2014-01-01
    • 2021-02-04
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多