这两天有些忙,机房做迁移,我们手上的项目也都要跟着迁移过去,大多数模块已经被我搞成docker了,但有个管理系统很杂,是前人留下的,里面本身就有不少坑,然后又耦合了不少数据库,mongodb、redis、hbase、mysql都用…. 你妈就不能用一个呀。
关于kibana迁移文章的出处,http://xiaorui.cc/?p=1776
除了基本的项目外,elk也要做相关的迁移….
logstash好说,client只需要在代码逻辑改下redis地址就可以了,logstash server直接docker pull镜像就可以了。
elasticsearch需要我们自己写脚本迁移,因为跨机房导入导出,挺费工夫的,关于elasticsearch的迁移,我下篇再写,今天主要写kibana的迁移。
kibana配置的迁移,他的配置是在elasticsearch里面,下图就是elasticsearch里kibana的配置信息。
业务和日志的elasticsearch都是一个集群,业务的数据肯定是迁移过去的,至于日志就算了…. 我们这的日志,每个月有几十T,这对于迁移来说,很是繁重… 索性直接干掉…..
这里重点说下怎么把kibana4的配置导出并迁移。 如果你不偷懒,可以自己用pyhton写个elasticsearch的导出程序,实现起来很简单….. 如果你跟我一样很偷懒,那么就直接用现成的工具。 elasticdump是个node.js开发的一个小而精的elasticsearch导出程序。
apt-get update apt-get install node.js curl -L https://npmjs.org/install.sh | sh ln -s /usr/bin/nodejs /bin/node npm insall elasticdump -g
导出,也可以用来做elasticsearch的备份,elasticdump可以选择性的导出data和mapping。
具体配置信息 elasticdump --ignore-errors=true --scrollTime=120m --bulk=true --input=http://xxxxx:9200/.kibana --output=data.json --type=data 导出mapping信息 elasticdump --ignore-errors=true --scrollTime=120m --bulk=true --input=http://xxxxxx/.kibana --output=mapping.json --type=mapping
咱们再把刚才备份的数据,导入到目标elasticsearch上。
导入mapping elasticdump --input=mapping.json --output=http://xxxxxxx:9000/.kibana --type=mapping 导入具体的kibana配置信息 elasticdump --input=data.json --output=http://xxxxx:9000/.kibana --type=data
elasticdump走起…
总结,通过elasicdump咱们可以方便的备份kibana配置,或者是迁移。