zoukankan      html  css  js  c++  java
  • AWS ES ISM学习应用笔记

    Elastic Search 6以上版本推出 ILM,用于管理Index的生命周期,但AWS上的ES是基于OSS版本的ES,所以自己开发了ISM来代替ILM。项目是从logstash往ES写入数据,但碰到无法在Logstash开启ILM_enabled=true的问题,这样就无法直接让logstash应用ISM。通过查询资料,最后发现AWS的 ES OSS关闭了ilm。而是直接在ism里去做所有的设置,Logstash指定index alias写入数据即可。

    第一步:编写 State management policies

    {
        "policy_id": "Test_ILM_policy",
        "description": "Demonstrate a hot-warm-cold-delete workflow.",
        "last_updated_time": 1640873761350,
        "schema_version": 1,
        "error_notification": null,
        "default_state": "hot",
        "states": [
            {
                "name": "hot",
                "actions": [
                    {
                        "rollover": {
                            "min_doc_count": 200,
                            "min_index_age": "2h"
                        }
                    },
                    {
                        "read_write": {}
                    }
                ],
                "transitions": [
                    {
                        "state_name": "warm",
                        "conditions": {
                            "min_index_age": "3h"
                        }
                    }
                ]
            },
            {
                "name": "warm",
                "actions": [
                    {
                        "timeout": "24h",
                        "retry": {
                            "count": 5,
                            "backoff": "exponential",
                            "delay": "15m"
                        },
                        "warm_migration": {}
                    }
                ],
                "transitions": [
                    {
                        "state_name": "cold",
                        "conditions": {
                            "min_index_age": "4h"
                        }
                    }
                ]
            },
            {
                "name": "cold",
                "actions": [
                    {
                        "cold_migration": {
                            "start_time": null,
                            "end_time": null,
                            "timestamp_field": "@timestamp",
                            "ignore": "none"
                        }
                    }
                ],
                "transitions": [
                    {
                        "state_name": "delete",
                        "conditions": {
                            "min_index_age": "30d"
                        }
                    }
                ]
            },
            {
                "name": "delete",
                "actions": [
                    {
                        "cold_delete": {}
                    }
                ],
                "transitions": []
            }
        ],
        "ism_template": [
            {
                "index_patterns": [
                    "test-ilm-index-*"
                ],
                "priority": 100,
                "last_updated_time": 1640094369756
            }
        ]
    }

    第二步:编写index template关联 policy

    PUT _index_template/test_ilm_index_template
    {
    "index_patterns": ["test-ilm-index-*"],
    "template": {
          "settings": {
            "number_of_shards": 2,
            "number_of_replicas": 0,
          "index": {
          "opendistro": {
            "index_state_management": {
              "rollover_alias": "test-ilm-indexs"
            }
          }
        }
          },
          "mappings": { 
            "properties": {
              "@timestamp": {
                "format": "strict_date_optional_time||epoch_millis", 
                "type": "date"
              }
            }
          }
      }
    }

    第三步:创建index,关联index template rollover alias

    PUT test-ilm-index-000001
    {
    
          "aliases": {
            "test-ilm-indexs": {
              "is_write_index": true
        }
      }
    }

    第四步:Logstash指定写入的index=index template rollover alias

    hosts => ["]
                        user => ""
                        password => ""
                        index => "test-ilm-indexs"
                        ssl => true

    官方文档:https://opensearch.org/docs/latest/im-plugin/ism/policies/#sample-policy-with-ism-template-for-auto-rollover

  • 相关阅读:
    libusb简介
    STM8S和STM8L调试串口中断的注意点
    QT 5.1.1 for Android 开发环境搭建与配置【Windows 7】
    【Luogu3806】点分治(点分治)
    NOIP2017+停课总结
    【BZOJ2301】【HAOI2011】Problem B(莫比乌斯反演)
    【Luogu3455】【POI2007】ZAP-Queries(莫比乌斯反演)
    【HDU1695】GCD(莫比乌斯反演)
    【BZOJ2816】【ZJOI2012】网络(Link-Cut Tree)
    莫比乌斯反演
  • 原文地址:https://www.cnblogs.com/colder/p/15755251.html
Copyright © 2011-2022 走看看