如何管理整个 /var/log 以实现集中化?

如何管理整个 /var/log 以实现集中化?

我有几台服务器(Linux,由不同的人管理的各种发行版),我想将这些日志集中在splunk>。日志被收集起来,/var/logs但源要么直接更新它们(例如 Apache),要么通过rsyslog。换句话说,我可以假设日志会存在,但它们出现的方式并没有那么明确(并且服务器之间会有所不同)。

因此我正在寻找/var/logs整体处理的方法通过生成每日增量,然后将其发送到 splunk>。我可以编写一个脚本来执行这些操作(解析树、收集文件、添加到存档、将其归零等),但我确信这个问题已经以更好的方式解决了(类似于logrotate而是整个目录)

(注意:在评论之后,我想强调一个事实,即我对将在中创建的文件没有控制权也没有了解/var/log。具体来说,我不想依赖于需要我逐个日志文件配置 handlong 日志文件的解决方案)

答案1

您应该能够通过在系统上使用 rsyslog 将所有日志发送到集中式日志服务器来执行此操作。

  • 对于通过 syslog 记录的应用程序来说,这相当简单。
  • 对于直接记录到文件的应用程序,rsyslog 提供了文本文件输入监视器将文本文件中的行发送到 rsyslog 进行处理的模块。

关于 logrotate,配置起来相当简单,但您必须分析每个日志文件并适当地配置 logrotate。

答案2

我在工作中使用 splunk 来处理来自一堆服务器的日志,一些是 Linux,一些是 Windows

强烈建议您查看 splunk 通用转发器。有了它,您可以选择要发送的日志,基本上您可以创建任何日志处理方案,它更容易调整,然后是 rsyslog,它有一个部署服务器,可以帮助您以后管理转发器,

查看 splunk 网站,其中有关于如何开始使用它的简单说明

希望对你有帮助,

相关内容