如何将 graylog2 连同所有保存的数据和日志一起迁移到新服务器?

如何将 graylog2 连同所有保存的数据和日志一起迁移到新服务器?

我需要将我的 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。

相关内容