日志监视和警报实用程序

实际上,我们使用ManageEngine的应用程序pipe理器来监视一些托pipeOracle数据库和一些JBoss应用程序的客户端服务器。 不幸的是,应用程序pipe理器不能如我所愿地工作得如此之快,所以我必须寻找一种能够读取日志文件的软件,并在日志中出现一些代码时发送电子邮件警报

如果这个工具可以在一个集中的服务器上运行(使用Linux操作系统),并且可以通过SSH或类似的东西读取日志文件,那将会很好。 其他需要安装在每个服务器上的选项也可以帮助我。

任何人都知道任何可以做到的工具?

谢谢

天使可能是你在找什么。 它可以监视日志文件,并根据其中的正则expression式进行警报和报告。 我在我的系统日志服务器上使用它,它可以工作。

Splunk是用于查看日志的优秀Web前端,如果您每天生成500Mb以下的日志, Splunk是免费的

你可能会听到很多人提到Splunk的工作。 我使用过Splunk,它不负众望,但并不便宜。 Splunk使用自己的查询语言查询日志集并生成报告。 作为一个例子,我使用Splunk来生成一个报告,显示人们将在鱿鱼日志中前15名的域名。 我也可以用它来查询我的所有服务器,以每晚或每小时显示所有失败的sshlogin尝试。

如果你正在寻找广义的系统和主机监控,我会build议看看Zabbix 。 它更像是一个传统的监控程序,但它具有读取日志文件和系统日志的function。 然后可以将其configuration为在日志stream中find特定的正则expression式匹配时触发。 在广义的日志文件监控方面,Zabbix远没有Splunk那么强大,但是Zabbix在基于度量的系统监控方面performance出色。

另一个select是自己build立一些东西。 显然,这里的其他人已经在类似的工作(显然,他正在寻找时间戳,但我猜测这将是相当微不足道的修改它寻找一个代码)。 从syslog日志文件中快速提取时间范围? 您可以使用smtplib处理电子邮件警报方面,而paraminko库将处理问题的SSH组件。 http://www.lag.net/paramiko/最后,通过cron定期运行它。

你也可以看看Octopussy (免责声明:我的项目)。

在开始的时候,configuration可能比其他解决scheme要困难和长久,但是在做了很多事情之后…search,报告和警报…

而且完全免费

虽然实际上有很多应用程序可以执行此操作,但主要取决于您希望在每台服务器上监视新日志的工作量。

如果你想监视几个主机上的日志,最简单的方法就是使用Nagios。 Nagios有一个叫做LOGROBOT的工具,你可以使用它。 这个工具非常简单。 假设你有一个日志文件或日志文件来监视名为x,y,z …的主机。 只需指定主机名和每个日志文件的绝对path即可。 然后给它你想要监视的string。 没有什么可以学习如何去做的。 你不得不破译的巨大文件。

查看Nagios交换:

http://exchange.nagios.org/directory/Plugins/Log-Files/check-all-log-files-linux-2Fsunos-solaris-2Fhpux-2Faix-2Funix/details

configuration(启用,禁用,在新主机上添加新的日志检查)都可以从一个中央服务器完成。 中央服务器将是安装Nagios的服务器。 只要您在监控日志中find指定的string,就会生成电子邮件警报,并将其发送给您希望发送给他们的任何人。 没有误报。

如果你需要可扩展性,那就试试LogZilla吧。 它具有高度可扩展性,成本约为Splunk的3%…如果您每天<1M次活动,还有一个免费版本。 最新版本的LogZilla每天可以处理超过10亿个事件,只需要5秒左右的时间来查询这些数据。

您可以下载一个虚拟机进行testing,并在几分钟内启动并运行。

披露:我是LogZilla的创始人和主要作者。