关注公众号,将获取更多运维干货

kibana操作


vim /data/local/elasticsearch/config/elasticsearch.yml
#在每个节点配置快照存储库路径,如果是多节点集群,请使用搭建nfs共享服务器,在到每个节点挂载nfs即可
path.repo: /opt/elasticsearch



#需要给该目录分配权限,不然启动会报错
chown -R elasticsearch:elasticsearch /opt/elasticsearch/


在kibana上面创建快照存储库

EFK日志快照增量备份和还原_elasticsearch


EFK日志快照增量备份和还原_json_02

文件系统位置输入前面配置的path.repo,快照压缩开启,块大小,每秒最大快照字节数和每秒最大还原字节数 视情况而定。

EFK日志快照增量备份和还原_elastic_03

验证结果出现如下情况 ,表示成功了。

EFK日志快照增量备份和还原_elasticsearch_04

创建备份策略

快照名称支持日期匹配表达式


<logstash-{now/d}> 

logstash-2024.03.22 

<logstash-{now/M}> 

logstash-2024.03.01

<logstash-{now/M{yyyy.MM}}> 


logstash-2024.03 



<logstash-{now/M-1M{yyyy.MM}}>  

logstash-2024.02 

<logstash-{now/d{yyyy.MM.dd|+12:00}}>  

logstash-2024.03.23 


任务计划支持cron和时间间隔执行,还是比较方便



#快照名称,|-12:00表示减去12小时,定时任务设置凌晨6点备份索引
<demo-{now/d{yyyy.MM.dd|-12:00}}>

EFK日志快照增量备份和还原_elasticsearch_05


要备份的索引,可以获取昨天的索引,日期语法同上


#比如你的索引名称是demo-2022.01.01
<demo-{now/d{yyyy.MM.dd|-12:00}}>

EFK日志快照增量备份和还原_elasticsearch_06


EFK日志快照增量备份和还原_json_07


EFK日志快照增量备份和还原_elasticsearch_08

保存完策略, 点击小按钮会立马进行备份

EFK日志快照增量备份和还原_json_09

EFK日志快照增量备份和还原_elasticsearch_10


还原

删除这个索引

EFK日志快照增量备份和还原_elasticsearch_11

EFK日志快照增量备份和还原_elasticsearch_12

点击快照后面的还原按钮

EFK日志快照增量备份和还原_elastic_13

EFK日志快照增量备份和还原_json_14

EFK日志快照增量备份和还原_json_15

EFK日志快照增量备份和还原_elasticsearch_16

查看恢复状态

EFK日志快照增量备份和还原_elastic_17

恢复成功

EFK日志快照增量备份和还原_json_18


命令行操作

vim /data/local/elasticsearch/config/elasticsearch.yml
#在每个节点配置快照存储库路径,如果是多节点集群,请使用搭建nfs共享服务器,在到每个节点挂载nfs即可
path.repo: /opt/elasticsearch
#需要给该目录分配权限,不然启动会报错
chown -R elasticsearch:elasticsearch /opt/elasticsearch/


创建本地存储库




# curl --user elastic:ESabc -X PUT "localhost:9200/_snapshot/demo?pretty" -H 'Content-Type: application/json' -d'
{
"type": "fs",
"settings": {
"location": "/opt/elasticsearch/"
}
}'


{
"acknowledged" : true
}

看到acknowledged字段为true说明成功了,kibana就会显示你创建的库

EFK日志快照增量备份和还原_elasticsearch_19

验证存储库

EFK日志快照增量备份和还原_json_20

备份指定索引


curl --user elastic:ESabc -X PUT "localhost:9200/_snapshot/demo/esbak?pretty" -H 'Content-Type: application/json'  -d '
{
"indices": "<demo-{now/d{yyyy.MM.dd|-12:00}}>" #需要备份的索引
}'

esbak为快照名称

EFK日志快照增量备份和还原_elasticsearch_21


备份所有索引



curl --user elastic:ESabc -X PUT "localhost:9200/_snapshot/demo/esbak?pretty" -H 'Content-Type: application/json'


查看备份快照信息

curl--user elastic:ESabc - X GET "localhost:9200/_snapshot/demo/esbak" {
"snapshots": [{
"snapshot": "esbak",
"uuid": "dmMKul_HT6C-MHnVS0cRJA",
"version_id": 7080099,
"version": "7.8.0",
"indices": ["demo-2022.01.26"],
"include_global_state": true,
"state": "SUCCESS",
"start_time": "2022-01-27T08:45:56.233Z",
"start_time_in_millis": 1643273156233,
"end_time": "2022-01-27T08:45:56.233Z",
"end_time_in_millis": 1643273156233,
"duration_in_millis": 0,
"failures": [],
"shards": {
"total": 1,
"failed": 0,
"successful": 1
}
}]
}


恢复全部索引,因为快照里面就一个索引,所以直接全部恢复即可



curl -XPOST --user elastic:ESabc "localhost:9200/_snapshot/demo/esbak/_restore" -H "Content-Type: application/json"

删除索引

curl -XDELETE --user elastic "localhost:9200/_snapshot/demo/esbak/"
{"acknowledged":true}


更多文章请扫一扫

 扫描下面二维码关注公众号获取更多学习资源

EFK日志快照增量备份和还原_json_22