ELK進階實務
主題:ELK進階實務
作者:Rickey
內容:備份及還原
*備註:適合閱讀過ELK基礎實務、ELK基礎實務 2、ELK基礎實務 3的讀者
1. 前言
在ELK基礎實務的文章中
讀者們已經可以在單機設備上架設Elasticsearch cluster、Kibana以及Filebeat了
在前三篇文章,我們介紹Elasticsearch的HA架構以及監控手法
那實務上,我們也會經常用到一個很重要的工具,那就是「備份」及「還原」
接下來,讓我們一步步實現Elasticsearch的還原架設以及步驟
2. 前置動作
請參照ELK基礎實務的文章內容,架設Elasticsearch以及Kibana
這邊我們啟動(node1)Elasticsearch即可。(使用『單節點架構』)
若要啟動多節點的集群,要記得所有Elasticsearch的yml都須更動,「每個節點」都要改
3. 關於repo以及snapshot
在elasticsearch的備份中,我們要建立一個「儲存用」的倉庫
以此來將備份的檔案存入
因此我們可以創建一個資料夾的來儲存我們的快照(snapshot)
確認elasticsearch可以有寫入權限!
4. 設定elasticsearch.yml
加入一條
path.repo: <你的路徑>/<資料夾名稱>
接下來儲存並重新啟動Elasticsearch!
5. 註冊倉庫
當我們的elasticsearch看到這個路徑後
我們要讓elasticsearch知道要把snapshot寫到這個倉庫中
接下來到Kibana的Dev Tools
PUT _snapshot/<倉庫的名字>
{
"type": "fs",
"settings": {
"location": "<你的路徑>/<資料夾名稱>"
}
}
到這邊elasticsearch就會認識這個倉庫了(這邊他是用倉庫的名字去認識的唷)
6. 建立測試資料
接下來我們保持在Dev Tools並且創建測試用index
建立一個名稱為『my-index』的index:
PUT /my-index
新增一筆資料:
POST /my-index/_doc
{
"title": "Hello",
"message": "你好"
}
7. 設定Policy
第一步我們設定這次規則的名稱,並設定我們要使用的<倉庫的名子>,就可以到按Next第二步
第二步時我們『只選擇』我們測試的index,接著一路按Next下去
完成後可以看到這邊我建立一個Policy叫做sample的規則,存在一個倉庫名字叫做test2的地方,按下右邊的RUN
然後我們就可以在snapshot看到sample開頭的快照嘍
8. 刪掉並還原
我們手動刪除『my-index』
接著我們回到剛剛那個snapshot的畫面進行還原
這樣就成功還原了!!
可以回到index的頁面看看自己刪掉的index是否有還原嘍
9. 結語&Recap
這次帶領讀者實踐了ES的備份及還原
在應用場景中,這非常的重要,透過與客戶的討論,決定每個index需要備份的頻率
當故障來臨時,我們也要及時的對資料進行還原
希望透過這篇文章,可以讓各位對設定快照有更近一步的認識