我需要将我的 graylog2 服务器更改为包含所有数据的新服务器。我已经安装了新版本、mongodb、elasticsearch 和 graylog2-web-interface。
我还将所有 elasticsearch_data 复制到新服务器并检查了所有配置文件:
graylog2.conf
graylog2-elasticsearch.yml
indexer.yml
mongoid.yml
general.yml
email.yml
有人知道下一步该怎么做吗?我还需要做什么才能将所有以前的日志和数据保存在新的 graylog2-server 中?
答案1
您不仅需要配置文件。转储 elasticsearch 和 mongodb 数据并在新服务器上恢复它们。我不知道复制 elasticsearch 数据是否会使 elastic search 工作,但转储和恢复肯定会起作用。
我个人使用 es_dump_restore 进行弹性搜索,使用 mongodump 进行 mongodb。
首先,停止新的服务器(graylog rails 接口)并恢复转储,然后才启动graylog 接口。
答案2
我假设您在 graylog2 上确实有很多数据,但您想避免长时间停机。这样,您需要复制配置(/etc/graylog 和 /etc/elasticsearch)。
然后,首先您需要将新的 elasticsearch 加入到现有的 elasticsearch 集群。然后您需要启动到新节点的数据迁移。可以通过设置来完成:
# old node /etc/elasticsearch/elasticsearch.yml
cluster.routing.allocation.disk.threshold_enabled: true
cluster.routing.allocation.disk.watermark.low=0%
cluster.routing.allocation.disk.watermark.high=0%
或者,你可以使用以下命令启动数据迁移:
curl -XPUT localhost:9200/_cluster/settings -d '{
"transient" : {
"cluster.routing.allocation.exclude._ip" : "10.0.0.1"
}
}'
这里的“排除”是指应该从存储现有数据中排除的节点(即排除旧节点)。
确认数据已移动(即新节点上的所有分片)后,您可以停止旧节点上的所有内容并在新节点上启动graylog。