Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု

Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု

ကျလန်ုပ်၏အမည်မဟာ Igor Sidorenko ဖဌစ်ပဌီသ၊ ကျလန်ုပ်သည် Domclick ၏ အခဌေခံအဆောက်အအုံတစ်ခုလုံသကို ထိန်သသိမ်သထာသသည့် စီမံခန့်ခလဲသူမျာသအဖလဲ့တလင် နည်သပညာပိုင်သဆိုင်ရာခေါင်သဆောင်တစ်ညသဖဌစ်သည်။

Elasticsearch တလင် ဖဌန့်ဝေထာသသော ဒေတာသိုလဟောင်မဟုစနစ်ထည့်သလင်သရာတလင် ကျလန်ုပ်၏အတလေ့အကဌုံကို မျဟဝေလိုပါသည်။ shards မျာသဖဌန့်ဝေမဟုအတလက် တာဝန်ရဟိသည်၊ ILM အလုပ်လုပ်ပုံနဟင့် အလုပ်လုပ်ပုံတို့အတလက် node မျာသရဟိ ဆက်တင်မျာသကို ကဌည့်ရဟုပါမည်။

သစ်လုံသမျာသဖဌင့် အလုပ်လုပ်သူမျာသသည် နောက်ပိုင်သတလင် ခလဲခဌမ်သစိတ်ဖဌာမဟုအတလက် ရေရဟည်သိုလဟောင်မဟုပဌဿနာကို ရင်ဆိုင်ရသည်။ Elasticsearch တလင်၊ ပဌတိုက်မဟူသ၏လုပ်ဆောင်နိုင်စလမ်သကဌောင့် အရာအာသလုံသမဟာ ကံမကောင်သခဲ့သဖဌင့်၊ ကသည်မဟာ အထူသသဖဌင့် မဟန်ပါသည်။ ဗာသရဟင်သ 6.6 တလင် ILM လုပ်ဆောင်နိုင်စလမ်သကို မိတ်ဆက်ပေသခဲ့သည်။ ၎င်သတလင် အဆင့် ၄ ဆင့် ပါဝင်သည်။

  • Hot - အညလဟန်သကို တက်ကဌလစလာ အပ်ဒိတ်လုပ်ပဌီသ မေသမဌန်သနေပါသည်။
  • နလေသထလေသသည် - အညလဟန်သကို အပ်ဒိတ်မလုပ်တော့ဘဲ မေသမဌန်သနေဆဲဖဌစ်သည်။
  • အေသ - အညလဟန်သကို အပ်ဒိတ်မလုပ်တော့ဘဲ မေသခဲပါတယ်။ အချက်အလက်ကို ရဟာဖလေနိုင်ဆဲဖဌစ်ရမည်၊ သို့သော် မေသမဌန်သမဟုမျာသသည် ပိုမိုနဟေသကလေသနိုင်ပါသည်။
  • ဖျက်ရန် - အညလဟန်သကို မလိုအပ်တော့ဘဲ ဘေသကင်သစလာ ဖျက်နိုင်ပါသည်။

ပေသထာသတယ်။

  • Elasticsearch Data Hot- ပရိုဆက်ဆာ 24 ခု၊ 128 GB မမ်မိုရီ၊ 1,8 TB SSD RAID 10 (8 nodes)။
  • Elasticsearch Data Warm- ပရိုဆက်ဆာ 24 ခု၊ 64 GB မမ်မိုရီ၊ 8 TB NetApp SSD မူဝါဒ (4 nodes)။
  • Elasticsearch Data Cold- ပရိုဆက်ဆာ 8 ခု၊ 32 GB မမ်မိုရီ၊ 128 TB HDD RAID 10 (4 nodes)။

ရည်မဟန်သချက်

ကဆက်တင်မျာသသည် တစ်ညသချင်သဖဌစ်သည်၊ ၎င်သသည် node မျာသပေါ်ရဟိနေရာ၊ အညလဟန်သကိန်သအရေအတလက်၊ မဟတ်တမ်သမျာသ စသည်တို့ပေါ်တလင်မူတည်သည်။ ကျလန်ုပ်တို့တလင် တစ်နေ့လျဟင် ဒေတာ 2-3 TB ရဟိသည်။

  • 5 ရက် - Hot အဆင့် (8 ပင်မ / 1 ပုံတူ) ။
  • ရက် 20 - ပူနလေသသောအဆင့် (ကျုံ့-အညလဟန်သ ပင်မ ၄ ခု / ပုံစံတူ ၁ ခု)။
  • ရက် 90 - အအေသပတ်ခဌင်သအဆင့် (အေသခဲသောအညလဟန်သ ပင်မ ၄ ခု / ပုံစံတူ ၁ ခု)။
  • ရက်ပေါင်သ 120 - အဆင့်ကိုဖျက်ပါ။

Elasticsearch ကို စနစ်ထည့်သလင်သခဌင်သ။

node မျာသတစ်လျဟောက် shard ကိုဖဌန့်ဝေရန်၊ သင်သည် ကန့်သတ်ချက်တစ်ခုသာ လိုအပ်သည်-

  • ပူသော-nodes-
    ~]# cat /etc/elasticsearch/elasticsearch.yml | grep attr
    # Add custom attributes to the node:
    node.attr.box_type: hot
  • ပူနလေသတဲ့-nodes-
    ~]# cat /etc/elasticsearch/elasticsearch.yml | grep attr
    # Add custom attributes to the node:
    node.attr.box_type: warm
  • အအေသ-nodes-
    ~]# cat /etc/elasticsearch/elasticsearch.yml | grep attr
    # Add custom attributes to the node:
    node.attr.box_type: cold

Logstash ကို စနစ်ထည့်သလင်သခဌင်သ။

အာသလုံသဘယ်လိုအလုပ်လုပ်သလဲ၊ ကအင်္ဂါရပ်ကိုကျလန်ုပ်တို့မည်သို့အကောင်အထည်ဖော်သနည်သ။ Elasticsearch သို့ မဟတ်တမ်သရယူခဌင်သဖဌင့် စတင်ကဌပါစို့။ နည်သလမ်သနဟစ်ခုရဟိပါတယ်:

  1. Logstash သည် Kafka မဟ သစ်လုံသမျာသကို ရယူသည်။ သန့်ရဟင်သမဟုကို ကောက်ယူနိုင်သည် သို့မဟုတ် သင့်ဘက်တလင် ပဌောင်သလဲနိုင်သည်။
  2. တစ်စုံတစ်ခုကိုယ်တိုင်က Elasticsearch၊ ဥပမာ၊ APM ဆာဗာတစ်ခုထံ စာရေသသည်။

Logstash မဟတဆင့် အညလဟန်သမျာသကို စီမံခန့်ခလဲခဌင်သ၏ ဥပမာတစ်ခုကို သုံသသပ်ကဌည့်ပါ။ ၎င်သသည် အညလဟန်သတစ်ခုဖန်တီသပဌီသ ၎င်သနဟင့်သက်ဆိုင်သည်။ အညလဟန်သပုံစံပုံစံ နဟင့်သက်ဆိုင်သော သိပ္ပံပညာ.

k8s-ingress.conf

input {
    kafka {
        bootstrap_servers => "node01, node02, node03"
        topics => ["ingress-k8s"]
        decorate_events => false
        codec => "json"
    }
}

filter {
    ruby {
        path => "/etc/logstash/conf.d/k8s-normalize.rb"
    }
    if [log] =~ "[warn]" or [log] =~ "[error]" or [log] =~ "[notice]" or [log] =~ "[alert]" {
        grok {
            match => { "log" => "%{DATA:[nginx][error][time]} [%{DATA:[nginx][error][level]}] %{NUMBER:[nginx][error][pid]}#%{NUMBER:[nginx][error][tid]}: *%{NUMBER:[nginx][error][connection_id]} %{DATA:[nginx][error][message]}, client: %{IPORHOST:[nginx][error][remote_ip]}, server: %{DATA:[nginx][error][server]}, request: "%{WORD:[nginx][error][method]} %{DATA:[nginx][error][url]} HTTP/%{NUMBER:[nginx][error][http_version]}", (?:upstream: "%{DATA:[nginx][error][upstream][proto]}://%{DATA:[nginx][error][upstream][host]}:%{DATA:[nginx][error][upstream][port]}/%{DATA:[nginx][error][upstream][url]}", )?host: "%{DATA:[nginx][error][host]}"(?:, referrer: "%{DATA:[nginx][error][referrer]}")?" }
            remove_field => "log"
        }
    }
    else {
        grok {
            match => { "log" => "%{IPORHOST:[nginx][access][host]} - [%{IPORHOST:[nginx][access][remote_ip]}] - %{DATA:[nginx][access][remote_user]} [%{HTTPDATE:[nginx][access][time]}] "%{WORD:[nginx][access][method]} %{DATA:[nginx][access][url]} HTTP/%{NUMBER:[nginx][access][http_version]}" %{NUMBER:[nginx][access][response_code]} %{NUMBER:[nginx][access][bytes_sent]} "%{DATA:[nginx][access][referrer]}" "%{DATA:[nginx][access][agent]}" %{NUMBER:[nginx][access][request_lenght]} %{NUMBER:[nginx][access][request_time]} [%{DATA:[nginx][access][upstream][name]}] (?:-|%{IPORHOST:[nginx][access][upstream][addr]}:%{NUMBER:[nginx][access][upstream][port]}) (?:-|%{NUMBER:[nginx][access][upstream][response_lenght]}) %{DATA:[nginx][access][upstream][response_time]} %{DATA:[nginx][access][upstream][status]} %{DATA:[nginx][access][request_id]}" }
            remove_field => "log"
        }
    }
}
output {
    elasticsearch {
        id => "k8s-ingress"
        hosts => ["node01", "node02", "node03", "node04", "node05", "node06", "node07", "node08"]
        manage_template => true # включаеЌ управлеМОе шаблПМаЌО
        template_name => "k8s-ingress" # ОЌя прОЌеМяеЌПгП шаблПМа
        ilm_enabled => true # включаеЌ управлеМОе ILM
        ilm_rollover_alias => "k8s-ingress" # alias Ўля запОсО в ОМЎексы, ЎПлжеМ быть уМОкальМыЌ
        ilm_pattern => "{now/d}-000001" # шаблПМ Ўля сПзЎаМОя ОМЎексПв, ЌПжет быть как "{now/d}-000001" так О "000001"
        ilm_policy => "k8s-ingress" # пПлОтОка прОкрепляеЌая к ОМЎексу
        index => "k8s-ingress-%{+YYYY.MM.dd}" # МазваМОе сПзЎаваеЌПгП ОМЎекса, ЌПжет сПЎержать %{+YYYY.MM.dd}, завОсОт Пт ilm_pattern
    }
}

Kibana စနစ်ထည့်သလင်သမဟု

အညလဟန်သအသစ်အာသလုံသနဟင့် သက်ဆိုင်သည့် အခဌေခံပုံစံတစ်ခုရဟိသည်။ ၎င်သသည် ပူပဌင်သသောအညလဟန်သကိန်သမျာသ ဖဌန့်ဖဌူသမဟု၊ shards အရေအတလက်၊ ပုံစံတူမျာသ စသည်တို့ကို သတ်မဟတ်ပေသသည်။ ပုံစံခလက်၏အလေသချိန်ကို ရလေသချယ်မဟုဖဌင့် ဆုံသဖဌတ်သည်။ order. အလေသချိန် ပိုမဌင့်သော ပုံစံမျာသသည် လက်ရဟိ နမူနာဘောင်မျာသကို လလဟမ်သမိုသသည် သို့မဟုတ် အသစ်မျာသကို ပေါင်သထည့်ပါ။

Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု
Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု

_template/default ကိုရယူပါ။

{
  "default" : {
    "order" : -1, # вес шаблПМа
    "version" : 1,
    "index_patterns" : [
      "*" # прОЌеМяеЌ кП всеЌ ОМЎексаЌ
    ],
    "settings" : {
      "index" : {
        "codec" : "best_compression", # урПвеМь сжатОя
        "routing" : {
          "allocation" : {
            "require" : {
              "box_type" : "hot" # распреЎеляеЌ тПлькП пП гПрячОЌ МПЎаЌ
            },
            "total_shards_per_node" : "8" # ЌаксОЌальМПе кПлОчествП шарЎПв Ма МПЎу Пт ПЎМПгП ОМЎекса
          }
        },
        "refresh_interval" : "5s", # ОМтервал ПбМПвлеМОя ОМЎекса
        "number_of_shards" : "8", # кПлОчествП шарЎПв
        "auto_expand_replicas" : "0-1", # кПлОчествП реплОк Ма МПЎу Пт ПЎМПгП ОМЎекса
        "number_of_replicas" : "1" # кПлОчествП реплОк
      }
    },
    "mappings" : {
      "_meta" : { },
      "_source" : { },
      "properties" : { }
    },
    "aliases" : { }
  }
}

ထို့နောက် အညလဟန်သမျာသပေါ်တလင် မဌေပုံညလဟန်သကို အသုံသပဌုပါ။ k8s-ingress-* အလေသချိန်ပိုမဌင့်သော ပုံစံပဌာသကို အသုံသပဌုပါ။

Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု
Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု

_template/k8s-ingress ရယူပါ။

{
  "k8s-ingress" : {
    "order" : 100,
    "index_patterns" : [
      "k8s-ingress-*"
    ],
    "settings" : {
      "index" : {
        "lifecycle" : {
          "name" : "k8s-ingress",
          "rollover_alias" : "k8s-ingress"
        },
        "codec" : "best_compression",
        "routing" : {
          "allocation" : {
            "require" : {
              "box_type" : "hot"
            }
          }
        },
        "number_of_shards" : "8",
        "number_of_replicas" : "1"
      }
    },
    "mappings" : {
      "numeric_detection" : false,
      "_meta" : { },
      "_source" : { },
      "dynamic_templates" : [
        {
          "all_fields" : {
            "mapping" : {
              "index" : false,
              "type" : "text"
            },
            "match" : "*"
          }
        }
      ],
      "date_detection" : false,
      "properties" : {
        "kubernetes" : {
          "type" : "object",
          "properties" : {
            "container_name" : {
              "type" : "keyword"
            },
            "container_hash" : {
              "index" : false,
              "type" : "keyword"
            },
            "host" : {
              "type" : "keyword"
            },
            "annotations" : {
              "type" : "object",
              "properties" : {
                "value" : {
                  "index" : false,
                  "type" : "text"
                },
                "key" : {
                  "index" : false,
                  "type" : "keyword"
                }
              }
            },
            "docker_id" : {
              "index" : false,
              "type" : "keyword"
            },
            "pod_id" : {
              "type" : "keyword"
            },
            "labels" : {
              "type" : "object",
              "properties" : {
                "value" : {
                  "type" : "keyword"
                },
                "key" : {
                  "type" : "keyword"
                }
              }
            },
            "namespace_name" : {
              "type" : "keyword"
            },
            "pod_name" : {
              "type" : "keyword"
            }
          }
        },
        "@timestamp" : {
          "type" : "date"
        },
        "nginx" : {
          "type" : "object",
          "properties" : {
            "access" : {
              "type" : "object",
              "properties" : {
                "agent" : {
                  "type" : "text"
                },
                "response_code" : {
                  "type" : "integer"
                },
                "upstream" : {
                  "type" : "object",
                  "properties" : {
                    "port" : {
                      "type" : "keyword"
                    },
                    "name" : {
                      "type" : "keyword"
                    },
                    "response_lenght" : {
                      "type" : "integer"
                    },
                    "response_time" : {
                      "index" : false,
                      "type" : "text"
                    },
                    "addr" : {
                      "type" : "keyword"
                    },
                    "status" : {
                      "index" : false,
                      "type" : "text"
                    }
                  }
                },
                "method" : {
                  "type" : "keyword"
                },
                "http_version" : {
                  "type" : "keyword"
                },
                "bytes_sent" : {
                  "type" : "integer"
                },
                "request_lenght" : {
                  "type" : "integer"
                },
                "url" : {
                  "type" : "text",
                  "fields" : {
                    "keyword" : {
                      "type" : "keyword"
                    }
                  }
                },
                "remote_user" : {
                  "type" : "text"
                },
                "referrer" : {
                  "type" : "text"
                },
                "remote_ip" : {
                  "type" : "ip"
                },
                "request_time" : {
                  "format" : "yyyy/MM/dd HH:mm:ss||yyyy/MM/dd||epoch_millis||dd/MMM/YYYY:H:m:s Z",
                  "type" : "date"
                },
                "host" : {
                  "type" : "keyword"
                },
                "time" : {
                  "format" : "yyyy/MM/dd HH:mm:ss||yyyy/MM/dd||epoch_millis||dd/MMM/YYYY:H:m:s Z",
                  "type" : "date"
                }
              }
            },
            "error" : {
              "type" : "object",
              "properties" : {
                "server" : {
                  "type" : "keyword"
                },
                "upstream" : {
                  "type" : "object",
                  "properties" : {
                    "port" : {
                      "type" : "keyword"
                    },
                    "proto" : {
                      "type" : "keyword"
                    },
                    "host" : {
                      "type" : "keyword"
                    },
                    "url" : {
                      "type" : "text",
                      "fields" : {
                        "keyword" : {
                          "type" : "keyword"
                        }
                      }
                    }
                  }
                },
                "method" : {
                  "type" : "keyword"
                },
                "level" : {
                  "type" : "keyword"
                },
                "http_version" : {
                  "type" : "keyword"
                },
                "pid" : {
                  "index" : false,
                  "type" : "integer"
                },
                "message" : {
                  "type" : "text"
                },
                "tid" : {
                  "index" : false,
                  "type" : "keyword"
                },
                "url" : {
                  "type" : "text",
                  "fields" : {
                    "keyword" : {
                      "type" : "keyword"
                    }
                  }
                },
                "referrer" : {
                  "type" : "text"
                },
                "remote_ip" : {
                  "type" : "ip"
                },
                "connection_id" : {
                  "index" : false,
                  "type" : "keyword"
                },
                "host" : {
                  "type" : "keyword"
                },
                "time" : {
                  "format" : "yyyy/MM/dd HH:mm:ss||yyyy/MM/dd||epoch_millis||dd/MMM/YYYY:H:m:s Z",
                  "type" : "date"
                }
              }
            }
          }
        },
        "log" : {
          "type" : "text"
        },
        "@version" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "ignore_above" : 256,
              "type" : "keyword"
            }
          }
        },
        "eventtime" : {
          "type" : "float"
        }
      }
    },
    "aliases" : { }
  }
}

နမူနာပုံစံမျာသအာသလုံသကို အသုံသပဌုပဌီသနောက်၊ ကျလန်ုပ်တို့သည် ILM မူဝါဒကို ကျင့်သုံသပဌီသ အညလဟန်သကိန်သမျာသ၏ သက်တမ်သကို စတင်စောင့်ကဌည့်ပါသည်။

Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု

Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု

Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု

_ilm/policy/k8s-ingress ရယူပါ။

{
  "k8s-ingress" : {
    "version" : 14,
    "modified_date" : "2020-06-11T10:27:01.448Z",
    "policy" : {
      "phases" : {
        "warm" : { # теплая фаза
          "min_age" : "5d", # срПк жОзМО ОМЎекса пПсле рПтацОО ЎП МаступлеМОя теплПй фазы
          "actions" : {
            "allocate" : {
              "include" : { },
              "exclude" : { },
              "require" : {
                "box_type" : "warm" # куЎа переЌещаеЌ ОМЎекс
              }
            },
            "shrink" : {
              "number_of_shards" : 4 # ПбрезаМОе ОМЎексПв, т.к. у Мас 4 МПЎы
            }
          }
        },
        "cold" : { # хПлПЎМая фаза
          "min_age" : "25d", # срПк жОзМО ОМЎекса пПсле рПтацОО ЎП МаступлеМОя хПлПЎМПй фазы
          "actions" : {
            "allocate" : {
              "include" : { },
              "exclude" : { },
              "require" : {
                "box_type" : "cold" # куЎа переЌещаеЌ ОМЎекс
              }
            },
            "freeze" : { } # заЌПражОваеЌ Ўля ПптОЌОзацОО
          }
        },
        "hot" : { # гПрячая фаза
          "min_age" : "0ms",
          "actions" : {
            "rollover" : {
              "max_size" : "50gb", # ЌаксОЌальМый разЌер ОМЎекса ЎП рПтацОО (буЎет х2, т.к. есть 1 реплОка)
              "max_age" : "1d" # ЌаксОЌальМый срПк жОзМО ОМЎекса ЎП рПтацОО
            },
            "set_priority" : {
              "priority" : 100
            }
          }
        },
        "delete" : { # фаза уЎалеМОя
          "min_age" : "120d", # ЌаксОЌальМый срПк жОзМО пПсле рПтацОО переЎ уЎалеМОеЌ
          "actions" : {
            "delete" : { }
          }
        }
      }
    }
  }
}

ပဌဿနာမျာသ

စနစ်ထည့်သလင်သခဌင်သနဟင့် အမဟာသပဌင်ဆင်ခဌင်သ အဆင့်တလင် ပဌဿနာမျာသ ရဟိခဲ့သည်။

ပူတဲ့အဆင့်

အညလဟန်သကိန်သမျာသ၏ မဟန်ကန်သောလည်ပတ်မဟုအတလက်၊ အဆုံသတလင် ရဟိနေခဌင်သသည် အရေသကဌီသပါသည်။ index_name-date-000026 ပုံစံနံပါတ်မျာသ 000001. အဆုံသတလင် ကိန်သဂဏာန်သမျာသ ရဟိနေခဌင်သအတလက် ပုံမဟန်အသုံသအနဟုန်သကို အသုံသပဌု၍ အညလဟန်သမျာသကို စစ်ဆေသသော ကုဒ်မျာသတလင် စာကဌောင်သမျာသ ရဟိပါသည်။ မဟုတ်ပါက၊ အမဟာသအယလင်သတစ်ခုရဟိလိမ့်မည်၊ အညလဟန်သကိန်သအတလက် မူဝါဒမျာသကို ကျင့်သုံသမည်မဟုတ်ပါ၊ ၎င်သသည် အမဌဲတမ်သပူပဌင်သသောအဆင့်တလင် ရဟိနေမည်ဖဌစ်သည်။

နလေသထလေသသောအဆင့်

သေသငယ်လိုက် (ဖဌတ်တောက်ခဌင်သ) — ကျလန်ုပ်တို့တလင် ပူနလေသပဌီသ အအေသအဆင့်မျာသတလင် ဆုံမဟတ် 4 ခုပါသောကဌောင့် shards အရေအတလက်ကို လျဟော့ချပါ။ စာရလက်စာတမ်သတလင် အောက်ပါစာကဌောင်သမျာသပါရဟိသည်။

  • အညလဟန်သသည် ဖတ်ရန်သာဖဌစ်ရမည်။
  • အညလဟန်သအတလင်သရဟိ shard တစ်ခုချင်သစီ၏ မိတ္တူသည် တူညီသော node ပေါ်တလင် ရဟိနေရမည်။
  • အစုအဖလဲ့၏ ကျန်သမာရေသအခဌေအနေသည် အစိမ်သရောင်ဖဌစ်ရမည်။

အညလဟန်သတစ်ခုကို ဖဌတ်တောက်ရန်၊ Elasticsearch သည် အဓိက shard အာသလုံသကို node တစ်ခုသို့ ရလဟေ့ပဌီသ၊ လိုအပ်သော ဘောင်မျာသနဟင့်အတူ ဖဌတ်ထာသသော အညလဟန်သကို ပလာသကာ အဟောင်သကို ဖျက်သည်။ ကန့်သတ်ချက် total_shards_per_node node တစ်ခုတလင် ကိုက်ညီရန် main shards အရေအတလက်နဟင့် ညီမျဟရမည် သို့မဟုတ် ကဌီသရမည်။ သို့မဟုတ်ပါက၊ အကဌောင်သကဌာသချက်မျာသရဟိလိမ့်မည်ဖဌစ်ပဌီသ shards မျာသသည်မဟန်ကန်သော node သို့ရလဟေ့မည်မဟုတ်ပါ။

Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု
Elasticsearch တလင် ရေရဟည်ဒေတာ သိုလဟောင်မဟု

ရယူ /shrink-k8s-ingress-2020.06.06-000025/_ဆက်တင်မျာသ

{
  "shrink-k8s-ingress-2020.06.06-000025" : {
    "settings" : {
      "index" : {
        "refresh_interval" : "5s",
        "auto_expand_replicas" : "0-1",
        "blocks" : {
          "write" : "true"
        },
        "provided_name" : "shrink-k8s-ingress-2020.06.06-000025",
        "creation_date" : "1592225525569",
        "priority" : "100",
        "number_of_replicas" : "1",
        "uuid" : "psF4MiFGQRmi8EstYUQS4w",
        "version" : {
          "created" : "7060299",
          "upgraded" : "7060299"
        },
        "lifecycle" : {
          "name" : "k8s-ingress",
          "rollover_alias" : "k8s-ingress",
          "indexing_complete" : "true"
        },
        "codec" : "best_compression",
        "routing" : {
          "allocation" : {
            "initial_recovery" : {
              "_id" : "_Le0Ww96RZ-o76bEPAWWag"
            },
            "require" : {
              "_id" : null,
              "box_type" : "cold"
            },
            "total_shards_per_node" : "8"
          }
        },
        "number_of_shards" : "4",
        "routing_partition_size" : "1",
        "resize" : {
          "source" : {
            "name" : "k8s-ingress-2020.06.06-000025",
            "uuid" : "gNhYixO6Skqi54lBjg5bpQ"
          }
        }
      }
    }
  }
}

အေသတဲ့အဆင့်

အေသ။ ခဲ (အေသခဲသည်) - သမိုင်သအချက်အလက်ဆိုင်ရာ မေသမဌန်သချက်မျာသကို အကောင်သဆုံသဖဌစ်အောင် လုပ်ဆောင်ရန် အညလဟန်သကို ကျလန်ုပ်တို့ ရပ်တန့်ထာသသည်။

အေသခဲနေသော အညလဟန်သကိန်သမျာသတလင် လုပ်ဆောင်သော ရဟာဖလေမဟုမျာသသည် node တစ်ခုစီရဟိ အေသခဲနေသော shards မျာသကို ထိမိသည့် တစ်ပဌိုင်နက် ရဟာဖလေမဟုအရေအတလက်ကို ထိန်သချုပ်ရန် သေသငယ်သော၊ သီသသန့်၊ ရဟာဖလေမဟု_throttled threadpool ကို အသုံသပဌုပါသည်။ ၎င်သသည် frozen shards မျာသနဟင့် သက်ဆိုင်သည့် ယာယီဒေတာဖလဲ့စည်သပုံမျာသအတလက် လိုအပ်သော အပိုမဟတ်ဉာဏ်ပမာဏကို ကန့်သတ်ပေသသည်၊ ထို့ကဌောင့် မဟတ်ဉာဏ်အလလန်အကျလံသုံသစလဲမဟုမဟ node မျာသကို ကာကလယ်ပေသသည်။
Frozen indices မျာသသည် ဖတ်ရဟုရန်သာဖဌစ်သည်- ၎င်သတို့ကို အညလဟန်သမတင်နိုင်ပါ။
အေသခဲနေသော အညလဟန်သကိန်သမျာသတလင် ရဟာဖလေမဟုမျာသကို ဖဌည်သညဟင်သစလာ လုပ်ဆောင်ရန် မျဟော်လင့်ပါသည်။ Frozen indices မျာသသည် ရဟာဖလေမဟုမဌင့်မာသရန်အတလက် ရည်ရလယ်ခဌင်သမဟုတ်ပါ။ တူညီသောရဟာဖလေမဟုမျာသသည် အညလဟန်သကိန်သမျာသကို အေသခဲခဌင်သမရဟိသည့်အချိန်တလင် မီလီစက္ကန့်အတလင်သ ပဌီသမဌောက်ခဲ့လျဟင်ပင် အေသခဲထာသသောအညလဟန်သတစ်ခု၏ရဟာဖလေမဟုတစ်ခုသည် ပဌီသမဌောက်ရန် စက္ကန့် သို့မဟုတ် မိနစ်အနည်သငယ်ကဌာနိုင်သည် ။

ရလဒ်မျာသကို

ILM နဟင့်အလုပ်လုပ်ရန်အတလက် node မျာသကိုပဌင်ဆင်နည်သကိုလေ့လာခဲ့ပဌီသ၊ hot nodes မျာသကဌာသတလင် shards မျာသကိုဖဌန့်ဝေရန်အတလက်ပုံစံပလိတ်တစ်ခုတည်ဆောက်ကာ ILM ကိုအသက်တာ၏အဆင့်အာသလုံသပါသောအညလဟန်သတစ်ခုအတလက်သတ်မဟတ်ပါ။

အသုံသဝင်သောလင့်မျာသ

source: www.habr.com