删除用于记录到数据库的解决方案

删除用于记录到数据库的解决方案

我正在考虑将我们的服务器设置为记录到 Mongo 数据库而不是日志文件。这样,日志将全部位于一台服务器上,可查询,并且总体上更易于管理。

我很想找到一个解决方案,让所有我正在运行的不同进程都可以写入数据库而不是文件(或者可能是读取文件、传递日志并截断文件)。如果可以避免,我不想为每个进程都寻找不同的解决方案。

那么,有人知道这个问题的现有解决方案吗?

答案1

您不太清楚要将哪些日志(系统,Web,其他?)发送到 MongoDB,但由于大多数内容都可以以某种方式转储到系统日志中,因此这可能是最简单的途径。

系统日志工具支持记录到 MongoDB直接地,因此,您可以输入 syslog 的任何内容似乎都可以使用该解决方案相当容易地推送到 MongoDB。

对于其他潜在的解决方案,请查看流畅,当然还有其他选择使用 syslog 进行数据库日志记录。

答案2

我用Logstash基巴纳。有多种方法可以从文件和系统日志中获取日志并输入 Logstash。它使用 Elasticsearch 作为主要后端,但也可以注入Mongodb

如果你通过集中或者独立通过这里的教程,你将有一个很好的开始。

答案3

如果您正在寻找的只是一个嵌入式解决方案,那么 MongoDB 不会有太大帮助。您需要提前计划好您需要什么才能获得优势。事实上,如果您只需要转储日志数据,那么研究 RDBMS 可能是有意义的,因为这将允许您启用压缩,而如果使用不当,MongoDB 在某些情况下会比 MySQL 消耗更多的磁盘空间并需要更多的 RAM。请查看此处了解 MySQL 和 MongoDB 之间的磁盘空间使用情况比较:http://blog.trackerbird.com/content/mysql-vs-mongodb-disk-space-usage/

相关内容