เชฎเชพเชฐเซเช เชจเชพเชฎ เชเชเซเชฐ เชธเชฟเชกเซเชฐเซเชจเซเชเซ เชเซ, เชนเซเช เชเชกเชฎเชฟเชจเซเชธเชจเซ เชเซเชฎเชฎเชพเช เชเช เชเซเชเชจเชฟเชเชฒ เชฒเซเชกเชฐ เชเซเช เชเซ เชกเซเชฎเชเซเชฒเชฟเชเชจเชพ เชธเชฎเชเซเชฐ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซ เชเชพเชณเชตเซ เชเซ.
เชนเซเช Elasticsearch เชฎเชพเช เชตเชฟเชคเชฐเชฟเชค เชกเซเชเชพ เชธเซเชเซเชฐเซเช เชธเซเช เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชฎเชพเชฐเซ เช เชจเซเชญเชต เชถเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซเช. เช เชฎเซ เชเซเชเชถเซเช เชเซ เชเชพเชเช เซ เชชเชฐเชจเซ เชเช เชธเซเชเชฟเชเชเซเชธ เชถเชพเชฐเซเชกเชจเชพ เชตเชฟเชคเชฐเชฃ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชเซ, ILM เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ เช เชจเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ.
เชเซเช เชฒเซเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชเซ, เชเช เชฐเซเชคเซ เช เชฅเชตเชพ เชฌเซเชเซ เชฐเซเชคเซ, เชชเชเซเชจเชพ เชตเชฟเชถเซเชฒเซเชทเชฃ เชฎเชพเชเซ เชฒเชพเชเชฌเชพ เชเชพเชณเชพเชจเชพ เชธเซเชเซเชฐเซเชเชจเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชธเชพเชฎเชจเซ เชเชฐเชตเซ เชชเชกเซ เชเซ. Elasticsearch เชฎเชพเช, เช เชเชพเชธ เชเชฐเซเชจเซ เชธเชพเชเซเช เชเซ, เชเชพเชฐเชฃ เชเซ เชเซเชฏเซเชฐเซเชเชฐ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชธเชพเชฅเซ เชฌเชงเซเช เชเชฎเชจเชธเซเชฌ เชนเชคเซเช. เชธเชเชธเซเชเชฐเชฃ 6.6 เช ILM เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชฐเชเซ เชเชฐเซ. เชคเซ 4 เชคเชฌเชเซเชเชพเช เชงเชฐเชพเชตเซ เชเซ:
- เชเชฐเชฎ - เชเชจเซเชกเซเชเซเชธ เชธเชเซเชฐเชฟเชฏเชชเชฃเซ เช เชชเชกเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชฐเชนเซเชฏเซ เชเซ เช เชจเซ เชชเซเชเชชเชฐเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชฐเชนเซ เชเซ.
- เชเชฐเชฎ - เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพ เชนเชตเซ เช เชชเชกเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชจเชฅเซ, เชชเชฐเชเชคเซ เชนเชเซ เชชเชฃ เชชเซเชเชชเชฐเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชฐเชนเซ เชเซ.
- เชเซเชฒเซเชก - เชเชจเซเชกเซเชเซเชธ เชนเชตเซ เช เชชเชกเซเช เชฅเชคเซ เชจเชฅเซ เช เชจเซ เชญเชพเชเซเชฏเซ เช เชชเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชฎเชพเชนเชฟเชคเซ เชนเชเซ เชชเชฃ เชถเซเชงเชตเชพ เชฏเซเชเซเชฏ เชนเซเชตเซ เชเซเชเช, เชชเชฐเชเชคเซ เชเซเชตเซเชฐเซ เชงเซเชฎเซ เชนเซเช เชถเชเซ เชเซ.
- เชเชพเชขเซ เชจเชพเชเซ - เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพเชจเซ เชนเชตเซ เชเชฐเซเชฐ เชจเชฅเซ เช เชจเซ เชธเซเชฐเชเซเชทเชฟเชค เชฐเซเชคเซ เชเชพเชขเซ เชถเชเชพเชฏ เชเซ.
เชเชชเซเชฒ
- Elasticsearch เชกเซเชเชพ เชนเซเช: 24 เชชเซเชฐเซเชธเซเชธเชฐเซเชธ, 128 GB เชฎเซเชฎเชฐเซ, 1,8 TB SSD RAID 10 (8 เชจเซเชกเซเชธ).
- เชเชฒเชพเชธเซเชเชฟเชเชธเชฐเซเช เชกเซเชเชพ เชตเซเชฐเซเชฎ: 24 เชชเซเชฐเซเชธเซเชธเชฐเซเชธ, 64 เชเซเชฌเซ เชฎเซเชฎเชฐเซ, 8 เชเซเชฌเซ เชจเซเชเชเชช เชเชธเชเชธเชกเซ เชชเซเชฒเชฟเชธเซ (4 เชจเซเชกเซเชธ).
- Elasticsearch เชกเซเชเชพ เชเซเชฒเซเชก: 8 เชชเซเชฐเซเชธเซเชธเชฐเซเชธ, 32 GB เชฎเซเชฎเชฐเซ, 128 TB HDD RAID 10 (4 เชจเซเชกเซเชธ).
เชฒเชเซเชทเซเชฏ
เช เชธเซเชเชฟเชเชเซเชธ เชตเซเชฏเชเซเชคเชฟเชเชค เชเซ, เชคเซ เชฌเชงเชพ เชเชพเชเช เซ เชชเชฐเชจเชพ เชธเซเชฅเชพเชจ, เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพเชเชจเซ เชธเชเชเซเชฏเชพ, เชฒเซเชเซเชธ เชตเชเซเชฐเซ เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเซ. เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชฆเชฐเชฐเซเช 2-3 TB เชกเซเชเชพ เชเซ.
- 5 เชฆเชฟเชตเชธ - เชเชฐเชฎ เชคเชฌเชเซเชเซ (8 เชฎเซเชเซเชฏ / 1 เชชเซเชฐเชคเชฟเชเซเชคเชฟ).
- 20 เชฆเชฟเชตเชธ - เชเชฐเชฎ เชคเชฌเชเซเชเซ (
เชธเชเชเซเชเซ-เชเชจเซเชกเซเชเซเชธ 4 เชฎเซเชเซเชฏ / 1 เชชเซเชฐเชคเชฟเชเซเชคเชฟ). - 90 เชฆเชฟเชตเชธ - เชถเซเชค เชคเชฌเชเซเชเซ (
เชซเซเชฐเซเช-เชเชจเซเชกเซเชเซเชธ 4 เชฎเซเชเซเชฏ / 1 เชชเซเชฐเชคเชฟเชเซเชคเชฟ). - 120 เชฆเชฟเชตเชธ - เชคเชฌเชเซเชเซ เชเชพเชขเซ เชจเชพเชเซ.
Elasticsearch เชธเซเชฏเซเชเชฟเชค เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชเชพเชเช เซ เชชเชฐ เชถเชพเชฐเซเชก เชตเชฟเชคเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชซเชเซเชค เชเช เชชเชฐเชฟเชฎเชพเชฃเชจเซ เชเชฐเซเชฐ เชเซ:
- เชนเซเช-เชจเซเชกเซเชธ:
~]# cat /etc/elasticsearch/elasticsearch.yml | grep attr # Add custom attributes to the node: node.attr.box_type: hot
- เชเชฐเชฎ-เชจเซเชกเซเชธ:
~]# cat /etc/elasticsearch/elasticsearch.yml | grep attr # Add custom attributes to the node: node.attr.box_type: warm
- เชถเซเชค-เชจเซเชกเซเชธ:
~]# cat /etc/elasticsearch/elasticsearch.yml | grep attr # Add custom attributes to the node: node.attr.box_type: cold
Logstash เชธเซเช เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชคเซ เชฌเชงเซเช เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ เช เชจเซ เช เชฎเซ เช เชธเซเชตเชฟเชงเชพเชจเซ เชเซเชตเซ เชฐเซเชคเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเซ? เชเชพเชฒเซ Elasticsearch เชฎเชพเช เชฒเซเช เชฎเซเชณเชตเซเชจเซ เชถเชฐเซเชเชค เชเชฐเซเช. เชคเซเชฏเชพเช เชฌเซ เชฎเชพเชฐเซเชเซ เชเซ:
- Logstash เชเชพเชซเชเชพ เชชเชพเชธเซเชฅเซ เชฒเซเช เชฎเซเชณเชตเซ เชเซ. เชธเซเชตเชเซเช เชชเชธเชเชฆ เชเชฐเซ เชถเชเซ เชเซ เช เชฅเชตเชพ เชคเชฎเชพเชฐเซ เชฌเชพเชเซ เชชเชฐ เชเชจเซเชตเชฐเซเช เชเชฐเซ เชถเชเซ เชเซ.
- เชเชฒเชพเชธเซเชเชฟเชเชธเชฐเซเช เชชเชฐ เชเชเชเช เชฒเชเซ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเชชเซเชเชฎ เชธเชฐเซเชตเชฐ.
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
}
}
เชเชฟเชฌเชพเชจเชพ เชธเซเชเช เชช
เชเช เชเชงเชพเชฐ เชชเซเชเชฐเซเชจ เชเซ เชเซ เชคเชฎเชพเชฎ เชจเชตเชพ เชเชจเซเชกเซเชเซเชธเชจเซ เชฒเชพเชเซ เชชเชกเซ เชเซ. เชคเซ เชนเซเช เชเชจเซเชกเซเชเซเชธเชจเซเช เชตเชฟเชคเชฐเชฃ, เชถเชพเชฐเซเชกเซเชธเชจเซ เชธเชเชเซเชฏเชพ, เชชเซเชฐเชคเชฟเชเซเชคเชฟเช เชตเชเซเชฐเซเชจเซ เชธเซเช เชเชฐเซ เชเซ. เชจเชฎเซเชจเชพเชจเซเช เชตเชเชจ เชตเชฟเชเชฒเซเชช เชฆเซเชตเชพเชฐเชพ เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ order
. เชตเชงเซ เชตเชเชจเชตเชพเชณเชพ เชจเชฎเซเชจเชพเช เชนเชพเชฒเชจเชพ เชเซเชฎเซเชชเชฒเซเช เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชเชตเชฐเชฐเชพเชเชก เชเชฐเซ เชเซ เช
เชฅเชตเชพ เชจเชตเชพ เชเชฎเซเชฐเซ เชเซ.
_เชเซเชฎเซเชชเชฒเซเช/เชกเชฟเชซเซเชฒเซเช เชฎเซเชณเชตเซ
{
"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-*
เชเชเชเชพ เชตเชเชจ เชธเชพเชฅเซ เชจเชฎเซเชจเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ.
_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 เชจเซเชคเชฟ เชฒเชพเชเซ เชเชฐเซเช เชเซเช เช เชจเซ เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพเชเชจเชพ เชเซเชตเชจเชจเซเช เชจเชฟเชฐเซเชเซเชทเชฃ เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซเช เชเซเช.
_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 เชจเซเชกเซเชธ เชเซ. เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃเชฎเชพเช เชจเซเชเซเชจเซ เชฒเซเชเซเช เชเซ:
- เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพ เชซเชเซเชค เชตเชพเชเชเชตเชพ เชฎเชพเชเซ เช เชนเซเชตเซ เชเซเชเช.
- เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพเชฎเชพเช เชฆเชฐเซเช เชถเชพเชฐเซเชกเชจเซ เชจเชเชฒ เชธเชฎเชพเชจ เชจเซเชก เชชเชฐ เชฐเชนเซเชตเซ เชเซเชเช.
- เชเซเชฒเชธเซเชเชฐ เชเชฐเซเชเซเชฏ เชธเซเชฅเชฟเชคเชฟ เชฒเซเชฒเซ เชนเซเชตเซ เชเซเชเช.
เช
เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพเชจเซ เชเชพเชชเชตเชพ เชฎเชพเชเซ, เชเชฒเชพเชธเซเชเชฟเชเชธเชฐเซเช เชคเชฎเชพเชฎ เชชเซเชฐเชพเชฅเชฎเชฟเช เชถเชพเชฐเซเชกเชจเซ เชเช เชจเซเชก เชชเชฐ เชเชธเซเชกเซ เชเซ, เชเชฐเซเชฐเซ เชชเชฐเชฟเชฎเชพเชฃเซ เชธเชพเชฅเซ เชเชชเชพเชฏเซเชฒ เช
เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพเชจเซเช เชกเซเชชเซเชฒเชฟเชเซเช เชเชฐเซ เชเซ, เช
เชจเซ เชชเชเซ เชเซเชจเชพเชจเซ เชเชพเชขเซ เชจเชพเชเซ เชเซ. เชชเชฐเชฟเชฎเชพเชฃ total_shards_per_node
เชเช เชจเซเชก เชชเชฐ เชซเชฟเช เชเชฐเชตเชพ เชฎเชพเชเซ เชฎเซเชเซเชฏ เชถเชพเชฐเซเชกเซเชธเชจเซ เชธเชเชเซเชฏเชพ เชเซเชเชฒเซ เช
เชฅเชตเชพ เชคเซเชจเชพเชฅเซ เชตเชงเซ เชนเซเชตเซ เชเซเชเช. เชจเชนเชฟเชเชคเชฐ, เชธเซเชเชจเชพเช เชนเชถเซ เช
เชจเซ เชถเชพเชฐเซเชกเซเชธ เชฏเซเชเซเชฏ เชจเซเชกเซเชธ เชชเชฐ เชเชถเซ เชจเชนเซเช.
เชฎเซเชณเชตเซ /shrink-k8s-ingress-2020.06.06-000025/_settings
{
"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"
}
}
}
}
}
}
เชถเซเชค เชคเชฌเชเซเชเซ
เชธเซเชฅเชฟเชฐ (เชซเซเชฐเซเช) - เช เชฎเซ เชเชคเชฟเชนเชพเชธเชฟเช เชกเซเชเชพ เชชเชฐ เชเซเชตเซเชฐเซเชเชจเซ เชเชชเซเชเชฟเชฎเชพเชเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเชจเซเชกเซเชเซเชธเชจเซ เชธเซเชฅเชฟเชฐ เชเชฐเซเช เชเซเช.
เชธเซเชฅเชฟเชฐ เชธเซเชเชเชพเชเชเซ เชชเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเชคเซ เชถเซเชงเซ เชฆเชฐเซเช เชจเซเชก เชชเชฐ เชธเซเชฅเชฟเชฐ เชถเชพเชฐเซเชกเซเชธเชจเซ เชนเชฟเช เชเชฐเชคเซ เชธเชฎเชตเชฐเซเชคเซ เชถเซเชงเซเชจเซ เชธเชเชเซเชฏเชพเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชจเชพเชจเชพ, เชธเชฎเชฐเซเชชเชฟเชค, เชถเซเชง_เชฅเซเชฐเซเชเชฒเซเชก เชฅเซเชฐเซเชกเชชเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ. เช เชซเซเชฐเซเชเชจ เชถเชพเชฐเซเชกเซเชธเชจเซ เช เชจเซเชฐเซเชช เชเซเชทเชฃเชฟเช เชกเซเชเชพ เชธเซเชเซเชฐเชเซเชเชฐเซเชธ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชตเชงเชพเชฐเชพเชจเซ เชฎเซเชฎเชฐเซเชจเซ เชฎเชพเชคเซเชฐเชพเชจเซ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชเชฐเซ เชเซ, เชเซ เชชเชฐเชฟเชฃเชพเชฎเซ เชเชพเชเช เซเชจเซ เชตเชงเซ เชชเชกเชคเชพ เชฎเซเชฎเชฐเซ เชตเชชเชฐเชพเชถ เชธเชพเชฎเซ เชฐเชเซเชทเชฃ เชเชชเซ เชเซ.
เชธเซเชฅเชฟเชฐ เชธเซเชเชเชพเชเชเซ เชซเชเซเชค เชตเชพเชเชเชตเชพ เชฎเชพเชเซ เชเซ: เชคเชฎเซ เชคเซเชฎเชพเช เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพ เชเชฐเซ เชถเชเชคเชพ เชจเชฅเซ.
เชธเซเชฅเชฟเชฐ เชธเซเชเชเชพเชเชเซ เชชเชฐ เชถเซเชง เชงเซเชฎเซ เชงเซเชฎเซ เช เชฎเชฒเชฎเชพเช เชเชตเซ เชคเซเชตเซ เช เชชเซเชเซเชทเชพ เชเซ. เชธเซเชฅเชฟเชฐ เชธเซเชเชเชพเชเชเซ เชเชเซเช เชถเซเชง เชฒเซเชก เชฎเชพเชเซ เชฌเชจเชพเชตเชพเชฏเซเชฒ เชจเชฅเซ. เชถเชเซเชฏ เชเซ เชเซ เชธเซเชฅเชฟเชฐ เชธเซเชเชเชพเชเชเชจเซ เชถเซเชง เชชเซเชฐเซเชฃ เชฅเชตเชพเชฎเชพเช เชธเซเชเชจเซเชกเซ เช เชฅเชตเชพ เชฎเชฟเชจเชฟเช เชฒเชพเชเซ เชถเชเซ, เชญเชฒเซ เชคเซ เช เชถเซเชง เชเซเชฏเชพเชฐเซ เชธเซเชเชเชพเชเชเซ เชธเซเชฅเชฟเชฐ เชจ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชฎเชฟเชฒเชฟเชธเซเชเชจเซเชกเชฎเชพเช เชชเซเชฐเซเชฃ เชฅเชพเชฏ.
เชชเชฐเชฟเชฃเชพเชฎเซ
เช เชฎเซ เชถเซเชเซเชฏเชพ เชเซ ILM เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชจเซเชกเซเชธ เชเซเชตเซ เชฐเซเชคเซ เชคเซเชฏเชพเชฐ เชเชฐเชตเชพ, เชเชฐเชฎ เชเชพเชเช เซ เชตเชเซเชเซ เชถเชพเชฐเซเชกเซเชธเชจเซเช เชตเชฟเชคเชฐเชฃ เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชเซเชฎเซเชชเชฒเซเช เชธเซเช เชเชฐเชตเซเช เช เชจเซ เชเซเชตเชจเชจเชพ เชคเชฎเชพเชฎ เชคเชฌเชเซเชเชพเช เชธเชพเชฅเซ เชเชจเซเชกเซเชเซเชธ เชฎเชพเชเซ ILM เชเซเชตเซ เชฐเซเชคเซ เชธเซเช เชเชฐเชตเซเช.
เชเชชเชฏเซเชเซ เชฒเชฟเชเชเซเชธ
https://www.elastic.co/guide/en/elasticsearch/reference/master/index-lifecycle-management-api.html https://www.elastic.co/guide/en/elasticsearch/reference/master/recovery-prioritization.html https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-shrink-index.html#indices-shrink-index https://www.elastic.co/guide/en/elasticsearch/reference/master/frozen-indices.html https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-cluster.html#shard-allocation-awareness
เชธเซเชฐเซเชธ: www.habr.com