12

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

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

虽然这种当前的做法有效,但它有点笨拙且难以管理。我一直在尝试找到一些使这项工作更好的选择,并且我提出了以下建议:

  • log4net 和电锯(啊,如果可以的话)。
  • 通过 log4net 或其他框架登录到中央数据库并滚动我们自己的管理工具。
  • 记录到 Windows 事件日志并使用 MOM 或 System Center Operations Manager 来聚合和管理每个服务器及其应用程序。
  • 一种手动解决方案,可将所有日志文件集中到一个点并在它们之间发挥一些作用。

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

那么有什么我错过的,或者其他人可以建议的吗?

4

13 回答 13

4

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

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

于 2009-03-26T18:05:43.627 回答
2

L4ndash : log4net 日志查看器,带有免费的开发者版本。

于 2009-03-25T06:53:47.680 回答
1

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

IIS 服务器的 Snare 代理

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

今天,他们有一个名为Snare Epilog的更新版本

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


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

于 2011-05-11T04:37:16.707 回答
1

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

于 2009-03-30T18:09:17.343 回答
1

我认为我们已经找到了非常接近您正在寻找的东西。 logFaces是一个日志服务器、聚合器和查看器。它专为大型分布式应用程序和多用户环境而构建。我们汇集了来自 Apache 日志服务的所有好东西,并为使用 log4j、log4net、log4cxx 或 event log4python 的用户提供了开箱即用的解决方案。logFaces 可以与主要数据库品牌合作,让您快速从大型应用程序中非常常见的大量日志数据中找出问题。它还可以让您实时查看系统的切片(日志方式)。还有更多功能,请随意尝试。如果您愿意,我可以直接帮助您进行设置,尽管在观看我们的演示后上手非常简单。

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

于 2009-04-15T18:51:43.740 回答
1

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

于 2011-10-08T17:43:41.350 回答
0

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

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

于 2009-03-25T23:41:59.080 回答
0

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

于 2009-03-26T18:41:35.617 回答
0

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

它可以同时监控多个日志 - 如果您使用商业版本(仅 50 美元),最多可以监控 255 个日志。

它也可以与 RollingFileAppender 一起使用。

他们有一个非常强大的过滤用户界面,因此您可以专注于您想要查看的内容。

于 2009-03-28T21:02:32.110 回答
0

检查 Microsoft Log Parser示例。日志解析器可以处理 xml、csv 以及 Microsoft 事件日志、注册表,并且可以将信息发送到“syslog”服务器。

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

于 2009-03-25T09:16:43.857 回答
0

前段时间问过,不过我觉得Splunk也值得一提http://www.splunk.com/

我以前用过它,它很方便。

于 2013-07-24T07:16:52.803 回答
0

首先,使用成熟且广泛使用的日志框架,如 log4net 或 NLog。

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

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

于 2012-11-22T11:30:24.320 回答
-1

就我而言,我正在尝试采用 Facebook 的日志聚合器 scribe。Facebook 和 Twitter 现在正在使用 scribe。

于 2010-04-28T05:29:58.257 回答