1. 程式人生 > 實用技巧 >ELK 索引生命週期管理

ELK 索引生命週期管理

前言

之前搭建的 ELK 叢集經過幾天的日誌收集,索引數逐漸增多,伺服器的各項記憶體、cpu、IO 指標開始上漲起來,要解決這個問題,在權衡效能與使用者使用,應該做好索引的生命週期管理。

kibana 索引配置

1. 管理索引

點選設定 --- Elasticsearch 的 Index management 可以檢視 elk 生成的所有索引

配置 kibana 的索引匹配

配置索引生命週期

點選設定 --- Elasticsearch 的 Index Lifecycle Policies 可以配置策略管理索引生命週期

配置索引策略文件地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.1/index-lifecycle-management.html

更多免費學習資料,請點選這裡 https://ke.magedu.com

配置索引的生命週期,折騰了我好幾天,這裡要仔細記錄下:

首先建立 Index Lifecycle Policies 也就官方文件中的四個階段配置 需要說明的是並不是每個階段都是必要配置,這裡我的配置參考如下圖,

hot 階段

warm階段 這裡設定的是建立索引 3 天后轉移到這一階段,同時還配置強制合併為 3 個 segments

cold階段,這裡設定的是建立索引 7 天后轉移到這一階段,同時凍結這一索引

delete階段,這裡設定的是建立索引 15 天后轉移到這一階段,同時刪除這一索引

配置好生命週期策略後,我們需要建立一個模板,將我們現在的輸入 index 接管過來,然後將策略應用於這個模板,這就達到了,每次建立的 index 都能應用於這一策略 其實最方便的就是將你建立的索引都以 logstash-* 開頭,預設就包含一個名為 logstash 的模板,如果你不想以 logstash-* 開頭建立索引,你可以先建立個模板參考如下:

PUT /_template/my_template
{
  "order" : 0,
  "index_patterns" : [
    "prod-*",
    "stage-*",
    "dev-*"
  ],
  "settings" : {
    "index" : {
      "number_of_shards" : "1",
      "refresh_interval" : "5s"
    }
  },
  "mappings" : {
    "dynamic_templates" : [
      {
        "message_field" : {
          
"path_match" : "message", "mapping" : { "norms" : false, "type" : "text" }, "match_mapping_type" : "string" } }, { "string_fields" : { "mapping" : { "norms" : false, "type" : "text", "fields" : { "keyword" : { "ignore_above" : 256, "type" : "keyword" } } }, "match_mapping_type" : "string", "match" : "*" } } ], "properties" : { "@timestamp" : { "type" : "date" }, "geoip" : { "dynamic" : true, "properties" : { "ip" : { "type" : "ip" }, "latitude" : { "type" : "half_float" }, "location" : { "type" : "geo_point" }, "longitude" : { "type" : "half_float" } } }, "@version" : { "type" : "keyword" } } }, "aliases" : { } }

》》》點選免費領取:2020持續更新Linux學習教程視訊實戰進階提升(學習路線+課程大綱+視訊教程+面試題+學習工具+大廠實戰手冊)

以上的模板接管了 prod-* stage-* dev-* 開頭的 index,然後將策略應用於這些 index

現在我們就可以在 index management 裡檢視索引當前的生命週期狀態

總結

雖然按照這個流程下來,能達到我們的預期效果。但其中還有很多的東西是需要更多的時間去理解的。比如:shard、segments、這些該怎麼分配,怎麼去優化。

》》》點選免費領取:2020持續更新Linux學習教程視訊實戰進階提升(學習路線+課程大綱+視訊教程+面試題+學習工具+大廠實戰手冊)