--- tags: elasticsearch --- # ELK Cloud ILM 建立SOP ## 建立順序 1. 確認 Filebeat或其他 ELK Source都已關閉 2. 刪除 AgOcean Index,如果是全新建立不需要此步驟 3. 刪除 AgOcean Template,如果是全新建立不需要此步驟 4. 確認腳本***環境名稱***、***連線字串***、***ILM生命週期設定***是否正確? ![](https://i.imgur.com/PffZIve.png) ``` #運作環境 # PROJECT_ENV PROJECT_ENV="dev"; #ELK 連線資料 # ELASTICSEARCH_HOST # ELASTIC_USER # ELASTIC_TOKEN ## dev、stage、sandbox ELASTICSEARCH_HOST="https://your.elk.cloud.path:9243/"; ELASTIC_USER="your_elk_user"; ELASTIC_TOKEN="your_elk_token"; ``` 6. 確認需要增加的***遊戲工作室***設定是否正確? ![](https://i.imgur.com/bvFdDV3.png) ``` GAME_STUDIOS=${GAMESTUDIO:=' [ {"gameStudio":"ht"} ] '}; ``` 8. 確認執行是否有錯誤? 9. 檢查 ELK上是否有正確新增 ## ILM 建立概念 Elastic ILM 建立順序 - 概念圖 ![](https://i.imgur.com/0IVXRSU.png) ### ILM規則 -> Index Template(需要指定別名) -> Index(初始Index需要指定別名與後綴`-000001`) 1. ILM Policy建立 詳細設定請參考 [ELK文件](https://www.elastic.co/guide/en/elasticsearch/reference/current/overview-index-lifecycle-management.html) ``` { "policy":{ "phases":{ ## 熱階段 "hot":{ ## 此階段詳細設定 }, ## 暖階段 "warm":{ ## 此階段詳細設定 }, ## 冷階段 "cold":{ ## 此階段詳細設定 }, ## 可刪除階段 "delete":{ ## 此階段詳細設定 } } } } ``` 3. Template建立 此處只列出 ILM必要的設定,其餘參數請參考 [ELK文件](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-templates.html)自行加入 ``` { "order":1, "index_patterns":[ ##會套用此設定的Index "agocean-'$PROJECT_ENV'-default-*" ], "settings":{ "index":{ "lifecycle":{ ## name: 套用的 ILM名稱 "name":"agocean-'$PROJECT_ENV'-ilm", ## 滾動升級的別名設定,與初始 Index的別名設定一致 "rollover_alias":"agocean-'$PROJECT_ENV'-default" } } } } ``` 5. Index建立 使用ILM的功能需要初始化 Index,此Index需要有後綴`-000001`作為滾動升級的初始值 ``` PUT /agocean-$PROJECT_ENV-default-000001 { "aliases": { ## 滾動升級的別名設定,與初始 Template的別名設定一致 "agocean-'$PROJECT_ENV'-default": { "is_write_index": true } } } ```