参考文献:

添加ilm: https://support.huaweicloud.com/trouble-css/css_10_0042.html#ZH-CN_TOPIC_0000001950381768__li182004282617
删除索引数据:https://support.huaweicloud.com/css_faq/css_02_0067.html
扩容磁盘 https://support.huaweicloud.com/trouble-css/css_10_0042.html 中磁盘使用率过高部分

1. 查看所有索引

通过以下命令,你可以列出 Elasticsearch 中所有的索引:

GET /_cat/indices?v

输出示例:

health status index              uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   logs-2024-12-01     P3g1TeDQfqKBOhhVdTzyQg   1   1    15000          0      1.2gb          600mb
yellow open   logs-2024-12-02     9wM9Ht9kS7gROqNfyzE-4A   1   1    12000          0      1.0gb          500mb
green  open   .kibana             G5MKmtI3ShGUkHZbYZ-Qhg   1   0    1200           0      10mb     
  • index:索引名称
  • uuid:索引的唯一标识符
  • pri:主分片数量
  • rep:副本分片数量
  • docs.count:文档数量
  • docs.deleted:已删除但未清除的文档数量
  • store.size:索引的数据存储大小
  • pri.store.size:主分片存储的大小

2. 查看特定索引

如果你想查看某个特定索引的详细信息,可以指定索引名称。例如,查看 logs-* 模式的所有索引:

GET /_cat/indices/logs-*?v

3. 查看索引的详细映射和设置

如果你想查看某个索引的映射(mapping)或设置(settings),可以分别使用以下命令:

3.1.查看映射(mapping):

GET /logs-*/_mapping

3.2.查看设置(settings):

GET /logs-*/_settings

4. 过滤和分页

如果索引较多,你可以使用 grep 等工具进行过滤,或者使用分页显示索引。比如,只列出以 logs- 开头的索引:

GET /_cat/indices/logs-*?v

分页显示索引的命令也可以如下:

GET /_cat/indices?v&h=index,status,docs.count,store.size&page=1

5. 查看索引生命周期管理 (ILM) 状态

如果你正在使用 ILM 策略,并希望查看每个索引的生命周期状态,可以执行以下命令:

GET /logs-*/_ilm/explain

这个命令会返回所有匹配的索引,并显示它们的生命周期阶段(例如,热阶段、删除阶段等)。

6. 查看系统索引

Elasticsearch 还会创建一些系统索引(如 .kibana、.security 等),它们存储了系统配置、用户数据等。如果你想查看这些系统索引,可以执行:

GET /_cat/indices/.kibana*?v

案例1 es创建ilm,删除90天之前的索引

参考文档
https://support.huaweicloud.com/usermanual-css/css_01_0021.html

1.1 先创建生命周期 保留90天策略

## 生命周期策略
PUT _opendistro/_ism/policies/rollover_workflow
{
  "policy": {
    "description": "Delete indices older than 90 days",
    "default_state": "hot",
    "states": [
      {
        "name": "hot",
        "actions": [
          {
          }
        ],
        "transitions": [
          {
            "state_name": "delete",
            "conditions": {
              "min_index_age": "90d"
            }
          }
        ]
      },
      {
        "name": "delete",
        "actions": [
          {
            "delete": {}
          }
        ]
      }
    ]
  }
}

1.2 ilm关联索引

## 索引模板关联生命周期策略id

PUT _template/template_qmzs
{
  "index_patterns": "qmzs*",
  "settings": {
    "number_of_replicas": 1,
    "number_of_shards": 1,
    "opendistro.index_state_management.policy_id": "rollover_workflow"
  },
  "mappings": {
    "properties": {
      "name": {
        "type": "text"
      }
    }
  }
}

1.3 关联历史模板,立刻删除90天前的索引

## 关联历史模板 按照ilm策略删除

POST _opendistro/_ism/add/qmzs*
{
  "policy_id": "rollover_workflow"
}


POST _opendistro/_ism/add/open*
{
  "policy_id": "rollover_workflow"
}

1.4 前提是logstash input中定义了别名

20241202163631
20241202163728

如果没有定义,就要手更

## 创建新索引-关联写别名
POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "open-course-record-2024.12.02",
        "alias": "log_alias",
        "is_write_index": true
      }
    }
  ]
}
## 索引别名查询
GET /_alias/log_alias


## 创建索引别名-关联写别名
PUT open-course-record-2024.12.02
{
  "aliases": {
    "log_alias": {
      "is_write_index": true
    }
  }
}