Unix 的日志监控工具集?

Unix 的日志监控工具集?

有哪些好工具可用于监控系统日志?我目前正在使用 logsentry,它基本上只是在日志上运行 grep,忽略我告诉它忽略的正则表达式,并将其他所有内容发送给我,但我想找到一些“更智能”的东西(即可以理解 Postfix 日志不仅仅是一系列要 grep 的行,诸如此类的东西 - 上下文知识)。

在服务方面,没有运行任何特别奇特的东西 - apache、memcached、postgres、postfix、openssh、squid、bind、mailman。运行的最奇怪的是单调,我并不期望任何日志分析器支持它(因此,如果它能够通过了解附加服务而轻松扩展就好了)。

理想的情况是,能够解析和总结每小时或每日报告中的信息(例如,此 apache 日志文件报告了 15 个 404,此用户从 IP x、y 和 z 登录了 3 次,此用户发送了 5 封邮件,另一个用户收到了 150 封邮件,磁盘 X 已满 90%,来自这些随机 IP 的 3000 次 ssh 尝试失败等)。

我查看了几个 Unix 日志监控工具列表,但大多数似乎都归结为tail -fgrep。我希望其中有一些是我忽略的。

答案1

我认为监控有两种类型。一种是监控当前状态并在监控服务器上保存历史记录,另一种是监控历史记录(日志)。

您列出的某些信息实际上并不适合通过日志进行监控。例如,磁盘空间可能最好通过调用 df 命令或类似命令的插件进行监控。因此,我认为这是监控当前状态,即使您保留了记录。

我喜欢Splunk用于日志监控,但如果你需要它做免费版本不做的事情,它就很贵了。对于监控磁盘空间、进程是否正在运行、CPU 使用率等,我个人喜欢纳吉奥斯。我认为,这两者很相配。

您可能会发现某些东西可以很好地完成这两件事,但我不会尝试让一种类型去做另一种类型(例如,用 Nagios 来监控日志),因为它可能会有点黑客行为。

答案2

您可以使用八爪女对于您要求的所有报告内容。(除了“90%磁盘已满”,正如 Kyle 所说,最好通过系统监视器来监控,例如纳吉奥斯扎比克斯,...)

八爪女是一个日志管理解决方案,可以:

  • 在您的日志中搜索
  • 从日志中发出警报
  • 从日志生成报告

八爪女,您可以“轻松”地从任何日志中创建您想要的任何内容的报告。(可能不是那么“容易”,因为您需要一些工作来定义日志模式和报告,但在完成第一项工作之后,它确实非常强大)

免责声明:我致力于八爪女

答案3

你要的是 OSSEC,真的。它能轻易打败 logsentry、logwatch 和类似程序。

它默认就是这样做的,使用日志分析(或者他们称之为基于日志的入侵检测)检测网络扫描、暴力破解和很多问题。

尝试一下,它是最容易安装的工具(只需运行其 install.sh 脚本)然后享受。

关联:http://www.ossec.net

答案4

我相信,Logwatch 已在 Debian 和 Redhat 上安装并处于活动状态,它可以生成许多您想要的报告。我预计它与您从 logsentry 获得的结果有很多重叠。出于某种原因,Redhat 上的 logwatch 配置会产生大量数据(尤其是 samba 日志),与 Debian 上 logwatch 的更严格报告相比,它更加无用。

就我个人而言,我更关注那些可能变得至关重要的事情。我使用 cron 作业来测试 RAID 设备是否看到所有健康磁盘,如果没有,则给我发送电子邮件。我使用 cacti 绘制 MX 和 SMTP 服务器上的活动队列和总队列(通过 snmp 查询的 shell 脚本)。同样,我有关于 postfix 日志的每日统计信息,这些统计信息在 cacti 中绘制成图。Denyhosts 阻止过多的 ssh 或其他服务身份验证失败并向 root 发送电子邮件。甚至可以通过获取 APC UPS 的温度(使用 apsupsd)并在 cacti 中绘制该温度来监控服务器机房温度。Cacti 还将绘制磁盘使用情况、服务器负载等。图表的优点在于它们将向您显示几周或几年的趋势,否则您可能无法察觉这些趋势。例如,标记了多少垃圾邮件或磁盘空间趋势。这允许进行未来规划。

相关内容