我需要一個索引,它通過 Logstash 不斷地將資料加載到 Elasticsearch (7.15) 中,問題是隨著時間的推移,索引將滿載,由于性能原因和龐大的大小,最好將索引拆分為更小的索引。
據我所知,翻轉和索引生命周期管理是我需要理解的概念才能滿足要求。
我對此有一些疑問
當他們談論索引別名和資料流時。我一直無法找到任何關于究竟有什么區別的資訊。它們似乎都涵蓋了跨越多個較小索引的情況。那么任何人都可以詳細說明有什么區別
據我所知,我需要創建一個策略和一個索引模板,并創建一個資料流,然后上傳資料。我試圖制定一個簡單的策略,當檔案超過 3 個時它應該翻轉,但即使這樣做它也會創建一個索引,但在檔案數量超過后永遠不會翻轉。如果我使用 max_age 它似乎作業
我做的事情如下:
{
"policy": {
"phases": {
"hot": {
"min_age": "0ms",
"actions": {
"rollover": {
"max_docs": 2
},
"set_priority": {
"priority": 100
}
}
},
"cold": {
"min_age": "30s",
"actions": {
"set_priority": {
"priority": 0
}
}
}
}
}
}
PUT _component_template/my-mappings
{
"template": {
"mappings": {
"properties": {
"@timestamp": {
"type": "date",
"format": "date_optional_time||epoch_millis"
},
"message": {
"type": "wildcard"
}
}
}
},
"_meta": {
"description": "Mappings for @timestamp and message fields",
"my-custom-meta-field": "More arbitrary metadata"
}
}
# Creates a component template for index settings
PUT _component_template/my-settings
{
"template": {
"settings": {
"index.lifecycle.name": "my-lifecycle-policy"
}
},
"_meta": {
"description": "Settings for ILM",
"my-custom-meta-field": "More arbitrary metadata"
}
}
PUT _index_template/my-index-template
{
"index_patterns": ["my-data-stream*"],
"data_stream": {
"hidden": false
},
"composed_of": [ "my-mappings", "my-settings" ],
"priority": 500,
"_meta": {
"description": "Template for my time series data",
"my-custom-meta-field": "More arbitrary metadata"
}
}
PUT my-data-stream/_bulk
{ "create":{ } }
{ "@timestamp": "2099-05-06T16:21:15.000Z", "message": "192.0.2.42 - - [06/May/2099:16:21:15 0000] \"GET /images/bg.jpg HTTP/1.0\" 200 24736" }
{ "create":{ } }
{ "@timestamp": "2099-05-07T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
{ "create":{ } }
{ "@timestamp": "2099-05-08T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
{ "create":{ } }
{ "@timestamp": "2099-05-09T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
{ "create":{ } }
{ "@timestamp": "2099-05-10T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
PUT my-data-stream/_bulk
{ "create":{ } }
{ "@timestamp": "2099-06-11T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
{ "create":{ } }
{ "@timestamp": "2099-06-12T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
{ "create":{ } }
{ "@timestamp": "2099-06-13T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
{ "create":{ } }
{ "@timestamp": "2099-06-14T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
{ "create":{ } }
{ "@timestamp": "2099-06-15T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
{ "create":{ } }
{ "@timestamp": "2099-06-16T16:25:42.000Z", "message": "192.0.2.255 - - [06/May/2099:16:25:42 0000] \"GET /favicon.ico HTTP/1.0\" 200 3638" }
- 我想要一個命名方案,以便它們每季度滾動一次 似乎命名方案是按順序編號的,是否可以指定每個季度
提前致謝
uj5u.com熱心網友回復:
- 別名是對一個或多個索引的參考,是 Elasticsearch 中的一個基本概念。資料流使用別名,可以將其視為別名、資料分層等概念的集合,以便通過自動化使事情更容易使用
- ILM 并不是真正設計用于處理如此小的閾值,因此它不起作用也就不足為奇了。即默認情況下,ILM 只會每 10 分鐘檢查一次操作
- 基于時間的展期基于從策略創建基礎指數的時間。所以相對于日歷的“季度”翻轉是不可能的
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/354892.html
