如何手动清除 Graylog 2.1 中的数据

How to manually purge data from Graylog 2.1

我有一个 Graylog 2.1 服务器 运行 已经有一段时间了。我最近没有注意我的保留率,今天早上来发现 Graylog 部分崩溃,因为磁盘用完 space。 Elasticsearch 碎片当前占用了近 100% 的磁盘 space。 Graylog 的 Web 界面目前在它所处的状态下不可用。我尝试了一些释放磁盘 space 的标准 Ubuntu 技巧,例如 apt-get autoremoveclean,但是无法获得足够的网络界面功能。

问题是我目前可以找到的所有关于更改保留率和循环分片的文档都是通过网络界面实现的。唯一的配置选项不再出现在 Graylog 配置文件中。

有人知道从 Graylog 2.1 中的 Elasticsearch 碎片中清除数据的手动 CLI 方法吗?

如果 Elasticsearch 仍在启动,您可以使用 Delete Index API 简单地删除索引,这是在直接使用 Graylog 后(Web 界面中的系统/索引页面),摆脱 Elasticsearch 的首选方法指数。

如果你完全搞砸了(即 Graylog 和 Elasticsearch 都没有启动),你仍然可以从 Elasticsearch 的数据路径中删除完整的数据(参见 Directory Layout)。

急救:检查存在哪些索引:

curl http://localhost:9200/_cat/indices

然后删除最旧的索引(你不应该全部删除)

curl -XDELETE http://localhost:9200/graylog_1
curl -XDELETE http://localhost:9200/graylog_2
curl -XDELETE http://localhost:9200/graylog_3

Fix: 然后您可以将 /etc/graylog/server/server.conf 中的参数 elasticsearch_max_number_of_indices 减少到一个值适合您的磁盘。

graylog 管理面板下有索引列表,

"/system/indices"

每个索引都有删除按钮。您可以检查旧索引,如果不需要则删除它们。

您还可以从弹性搜索中删除 7 天前的日志文件,

sudo find /var/log/elasticsearch/ -type f -mtime +7 -delete

您应该在 graylog 中设置保留策略。如果您自己管理索引并且删除了错误的索引,您可能 break your graylog.

前往 system/indeces。 Select 默认索引集。 Select 编辑索引集,您会在其中找到索引轮换和保留。