![大型日志管理和存储](https://linux22.com/image/798683/%E5%A4%A7%E5%9E%8B%E6%97%A5%E5%BF%97%E7%AE%A1%E7%90%86%E5%92%8C%E5%AD%98%E5%82%A8.png)
我经常处理大量的日志(每天增长约 1Gb),我按照老方法管理它们,在日志轮换到中央服务器之前将其转储,然后存储在磁带上。
现在,因为这些日志可能会被当局要求,所以在某些时候我必须阅读它们,找到他们需要的内容,并将有趣的部分发回[我在意大利]... 无论如何,处理这些东西变得相当困难,因为生成的日志量不断增长,我的磁带存储以及跟踪这些东西并不像几年前那么容易。
我已经尝试过 Graylog2,它似乎是一款非常好的软件,唯一的问题是没有简单的方法将日志导出到另一个存储,并在需要时再导入回来(也许我错误地理解了它的工作方式)。
有人可以为我提供他们用来管理如此大量日志的流程示例,或者在需要时轻松导出日志并重新导入的解决方案吗?
提前致谢
答案1
就个人而言,我们使用 Graylog2 - 我们的日志可能不如您的那么大,但它是存储和管理日志的好方法。
在您的情形下,我会注意到 Graylog2 使用 ElasticSearch 进行日志存储。设置 Graylog2 以保持内容处于活动状态并可搜索,只要您的服务器可以处理。(您可以将其设置为删除超过 X 天的内容。)
为了存档目的,每隔一定间隔(即每天),运行您编写的脚本,将该间隔的数据导出到冷存储。这应该就像对 ElasticSearch 进行简单的 JSON 查询一样简单。
我不确定为什么你需要重新导入它。它都是文本,因此你可以根据需要使用标准工具(即 grep)进行搜索,或者你可以编写自己的 ElasticSearch 导入器。