应用程序日志聚合,管理和通知

时间:2009-03-25 04:17:36

标签: logging aggregation

我想知道每个人在他们的系统上使用什么来记录日志管理和日志聚合。

我在一家公司工作,该公司为所有应用程序使用.NET,所有系统都基于Windows。目前,每个应用程序都会查看自己的日志记录和失败通知(例如,如果应用A失败,它会向管理员发送自己的'求助电话')。

虽然目前这种做法有点笨拙且难以管理。我一直试图找到一些方法来使这项工作更好,我想出了以下内容:

  • log4net&电锯(嗯,如果它有效)。
  • 通过log4net或其他框架登录到中央数据库&滚动我们自己的管理工具。
  • 登录Windows事件日志并使用MOM或System Center Operations Manager聚合和管理其中的每个服务器&他们的应用程序。
  • 一个手动解决方案,将所有日志文件吸收到一个点,并在它们之间运行一些魔法。

基本上我们所追求的是可以将日志条目全部拉到一起并允许在它们之间运行某些分析的东西,再加上使用一种基于事件的系统,例如,当有的时候发出警告电子邮件在过去x分钟内,应用程序的30多个警告级别日志。

那么我有什么遗漏,或其他人可以建议的东西吗?

13 个答案:

答案 0 :(得分:4)

如果可以,我建议写入EventLog并在SCOM中创建规则进行监控。我们广泛使用它并且它运行良好,甚至可以将监视我们的应用程序的某些元素并将值写入事件日志的代码组合在一起,其中SCOM解析错误,并将这些以及信息错误绘制到报告显示给定时间内的统计数据。

然而,我非常热衷于将一些内容重写为WMI,并让SCOM为这些相同的计数器轮询WMI服务,因为每15分钟将队列长度写入事件日志似乎有点浪费;)

答案 1 :(得分:2)

L4ndash:具有免费开发人员版本的log4net日志查看器。

答案 2 :(得分:1)

我们使用MOM取得了相当不错的成功,因为它处理数据输入之外的清除,查看和其他问题。对MOM的警告是,它没有开箱即用的* NIX(至少我们拥有的版本)。有连接器等。另一个选择是查看LogLogic。这会从网络设备获取日志信息,但是您可以使用一个开放的Web服务API。 MOM也有API,因此您可以使用LogLogic。

答案 3 :(得分:1)

我认为我们有一些非常接近你正在寻找的东西。 logFaces是日志服务器,聚合器和查看器。它专为大型分布式应用程序和多用户环境而构建。我们汇总了Apache日志服务中的所有优点,并为使用log4j,log4net,log4cxx或事件log4python的用户提供了开箱即用的解决方案。 logFaces可以与主要的数据库品牌合作,并且可以让您快速从大量应用程序中常见的大量日志数据中挖掘出问题。它还可以让您实时查看系统的切片(按日志)。还有更多功能,请随时试一试。如果你愿意我可以直接帮你设置,虽然在看完我们的演示之后开始非常简单。

披露:我是该产品的作者。

答案 4 :(得分:1)

对于日志聚合, Snare 有点旧,但值得一提。

Snare Agent for IIS Servers

我很久以前就使用过这个旧版本了,它通过syslog转发/发送/复制IIS日志来运行良好。

今天,他们有一个名为Snare Epilog

的新版本

代码也是开源的;你可能想尝试一下。


此外,您可以使用ELMAH之类的内容与RSS /电子邮件功能相结合来帮助通知并提醒您任何关键问题。

答案 5 :(得分:1)

我们正在使用ErrorsDigest 简单的实时错误聚合。

答案 6 :(得分:0)

检查Microsoft Log Parserexamples。日志解析器可以处理xml,csv以及Microsoft事件日志,注册表,并可以向'syslog'服务器发送信息。

从示例屏幕截图中看,这似乎是非常有用的工具。

答案 7 :(得分:0)

这取决于您的需求。例如,如果您正在运行数据中心并且主要关注实时警报,那么您可能需要查看Avicode。它非常强大,但价格昂贵。

另一方面,如果您支持来自远程系统的桌面应用程序或日志,或者更关心离线日志分析,那么您可以查看Gibraltar。它提供了日志记录,日志管理和日志聚合/分析功能的完美组合。但是,说实话,我有点偏 - 我是直布罗陀开发商之一。

答案 8 :(得分:0)

log4net绝对是输出到最常见目标的简单日志记录的地方。 log4net可以登录到Windows事件日志,也可以将消息发送到数据库,电子邮件或文件。设置相当简单,文档非常好。

答案 9 :(得分:0)

我正在使用log4net和log4view(www.log4view.org)。他们有一个TCP适配器,您可以将其作为应用程序的一部分进行分发。然后,您可以使用其客户端应用程序连接到各种应用程序,并实时显示日志消息。

它可以同时监控多个日志 - 如果你是商业版,那么最多可以监控255个(差不多50美元)。

它也适用于RollingFileAppender。

他们拥有非常强大的过滤用户界面,因此您可以了解您想要查看的内容。

答案 10 :(得分:0)

首先,使用已建立且广泛使用的日志框架,如log4net或NLog。

两个日志框架都可以将日志消息发送到多个目的地,例如到日志文件,网络流(TCP或UDP)或数据库。

然后使用Log4View之类的日志查看器来可视化和过滤日志消息。 如果您使用Log4View,请确保您创建XML格式的日志文件。虽然Log4View也可以解析(人类可读)模式格式的日志文件,但XML格式的日志数据更易于配置并且更快解析。

答案 11 :(得分:0)

前段时间问过,但我认为值得一提的是Splunk http://www.splunk.com/

我之前使用过,它非常方便。

答案 12 :(得分:-1)

在我的情况下,我试图采用scribe,facebook的日志聚合器。 Facebook和Twitter现在正在使用scribe。