背景
ELK 本地集群只保留一个月的数据,一个月之前数据要迁移到云上进行备份,生产环境需要使用AWS S3进行对接,这里先使用腾讯云COS进行测试。。。
elasticsearch 版本
[root@elk-node2 ~]# rpm -qa elasticsearch
elasticsearch-7.5.0-1.x86_64
插件路径
/usr/share/elasticsearch/plugins
查看插件列表
[root@elk-node1 ~]# cd /usr/share/elasticsearch
[root@elk-node1 elasticsearch]# ./bin/elasticsearch-plugin list
在线安装
安装repository-s3插件
bin/elasticsearch-plugin install repository-s3
安装完成后需要重启服务!!!
清除repository-s3插件
bin/elasticsearch-plugin remove repository-s3
清除插件需要先停止服务!!!
离线安装
下载repository-s3插件(需要下载对应es 版本的插件)
https://artifacts.elastic.co/downloads/elasticsearch-plugins/repository-s3/repository-s3-7.5.0.zip
本地文件系统安装repository-s3插件
bin/elasticsearch-plugin install file:///opt/repository-s3-7.5.0.zip
注意,ELK 集群内所有主机都需要安装repository-s3插件!!!
重启服务
systemctl restart elasticsearch
查看repository-s3插件
[root@elk-node2 elasticsearch]# curl -uelastic:TcqinZLhbJDFFgCqXF8r http://192.168.10.235:9200/_cat/plugins
elk-node1 repository-s3 7.5.0
elk-node2 repository-s3 7.5.0
腾讯云 cos 存储
存储桶为elkcos-1253844254,SecretId 和 SecretKey 在秘钥管理配置!!!
将access_key和secret_key 秘钥添加到elasticsearch.keystore
使用keystore添加参数时,keystore没对添加的参数做校验,对于不合法的(没有被某个plugin或者es本身用到的参数)会导致Elasticsearch启动失败。
cd /usr/share/elasticsearch
bin/elasticsearch-keystore add s3.client.default.access_key
xxxxxxx
bin/elasticsearch-keystore add s3.client.default.secret_key
xxxxxxx
注意,ELK集群内主机都需要生成秘钥,可在一台主机生成后将elasticsearch.keystore 文件拷贝到其他主机!!!
重新加载安全秘钥,使keystore中的参数生效(kibana 上执行)
POST _nodes/reload_secure_settings
每个群集节点上解密并重新读取整个密钥库,但仅应用可重新加载的安全设置。
官方链接
https://www.elastic.co/guide/en/elasticsearch/reference/7.5/secure-settings.html#reloadable-secure-settings
创建快照仓库
PUT _snapshot/cos_repository
{
"type": "s3",
"settings": {
"bucket": "elkcos-1253844254",
"endpoint":"cos.ap-shanghai.myqcloud.com",
"compress":"true"
}
}
参数说明:
type:指定快照仓库类型为S3,也就是cos
bucket:指定oss的bucket名称(腾讯云上查看)
endpoint:指定oss访问域名(腾讯云上查看)
compress:是否压缩(默认开启压缩,只压缩元数据文件,索引数据文件不压缩)
disable_chunked_encoding:是否禁用HTTP服务器响应的分块编码
base_path:指定bucket内的存放目录
max_snapshot_bytes_per_sec:在仓库单个节点上创建快照的最大速率(默认40mb)
max_restore_bytes_per_sec:在仓库单个节点上还原快照的最大速率(默认40mb)
kibana快照存储路
查看快照库列表
curl -XGET -uelastic:TcqinZLhbJDFFgCqXF8r http://192.168.10.235:9200/_snapshot/_all?pretty=true
查看指定仓库下的所有快照状态
curl -XGET -uelastic:TcqinZLhbJDFFgCqXF8r http://192.168.10.235:9200/_snapshot/cos_repository/_all?pretty=true
查看指定仓库下指定快照状态
curl -XGET -uelastic:TcqinZLhbJDFFgCqXF8r http://192.168.10.235:9200/_snapshot/cos_repository/networklogs-4444
查看指定仓库下快照执行状态
curl -XGET -uelastic:TcqinZLhbJDFFgCqXF8r http://192.168.10.235:9200/_snapshot/cos_repository/_status?pretty=true