我印象非常深刻Splunk,尤其是版本 4。漂亮的图表、警报(仅限企业版)以及快速、准确的搜索。这是一款很棒的产品。
但是,对于我们公司来说,成本实在太高,无法考虑将其用于全面生产。我们真正需要的是能够在一个中心位置索引不同的日志,并在此基础上进行合理的搜索。根据保存的搜索发出警报也非常好。我们并没有真正超越这一点。
事实上,我们最大的用途是部署新应用程序。所有内容都通过 log4net 记录到 Windows 上的事件日志或 Linux 上的文本文件中。Splunk 可以非常轻松地快速搜索这些内容,以确保应用程序的所有部分都正常运行 - 这为我们节省了大量时间,而不需要搜索单个日志源。
这个市场还有哪些替代方案?我有一种不祥的预感,Splunk 的定价之所以如此之高,是因为他们拥有迄今为止最好的产品,他们也知道这一点。我们希望服务器在 Windows 上运行。
我愿意接受拆分模型,使用一个产品来处理一般日志(通过 syslog/Snare 收集),另一个专用产品来处理我们的自定义应用(例如Log4Net 仪表板)。
使用简单的系统日志服务器(例如 Kiwi)发送到 SQL Server(可能启用了全文)是否可以?
我希望成本应该远低于 5 位数美元。(是的,我知道,我们很便宜。我们是一家资金不多的初创公司,BizSpark 负责我们所有的 MS 许可。)
编辑:我应该补充一下,我们有大约 10 台物理服务器、20 台虚拟机以及几个防火墙和交换机。90% 是 Windows。
答案1
注意:这是关于Linux的全部内容,免费软件,因为这是我主要使用的,但你应该可以使用 Windows 上的 syslog 客户端将日志发送到 Linux syslog 服务器。
登录到 SQL 服务器: 如果只有大约 30 台机器,那么使用任何类似集中式系统日志和 SQL 后端就足够了。我使用系统日志工具以及 Linux 上的 MySQL。
漂亮的前端制图的主要问题是——似乎有很多被破解的前端会从日志中抓取项目并显示有多少命中、警报等,但我没有找到任何集成且干净的东西。诚然,这是你正在寻找的主要东西……(如果我发现任何好东西,我会更新此部分!)
警报: 我用美国证券交易委员会在 Linux 服务器上查找日志中发生的不良事件并通过各种方法向我发出警报。它非常灵活,不像 Splunk 那样点击。这里有一个很好的教程它指导了很多可能的功能。
我也用纳吉奥斯用于各种统计数据的图表和一些我无法从日志中获得的警报(例如服务中断时等)。这可以轻松自定义以添加任何您喜欢的图表。我添加了诸如对 http 服务器的访问次数之类的项目的图表,方法是让代理使用检查日志文件插件用于计算日志中的命中次数(它保存了每个检查周期所得到的位置)。
全面的,这取决于你要花多少时间来设置它,因为您可以使用许多选项,但它们不像 Splunk 那样集成,可能需要付出更多努力才能完成您想要的工作。Nagios 图表设置起来很简单,但不会在您添加图表之前提供历史数据,而使用 Splunk(可能还有其他前端),您可以回顾过去的日志并绘制您刚刚想到要从中查看的内容。
另请注意,SQL 数据库格式和索引将具有巨大的影响查询速度,因此您的全文索引想法将极大地提高搜索速度。我不确定 MySQL 或 PostgreSQL 是否会做类似的事情。
编辑:MySQL 将进行全文索引,但是仅适用于 MyISAM 表MySQL 5.6 之前版本。 在 5.6 中增加了对 InnoDB 的支持。
编辑:Postgresql当然可以做全文搜索:http://www.postgresql.org/docs/9.0/static/textsearch.html
答案2
更适合 *nix 而非 Windows,但是八爪女确实支持 Windows,而且似乎瞄准与 Splunk 相同类型的东西。
答案3
我正在尝试一些监控解决方案 - 但我主要想监控窗口。大多数系统都适用于 SNMP 监控,无需代理即可获取大量信息。
以下是我迄今为止尝试过的一些系统:
Nagios - 开源。配置起来有点麻烦,但评价很高,而且似乎非常灵活。它似乎本质上是一个计数器记录器,不允许远程脚本执行,因此不能用于发现配置问题,就像 MS 系统中心或 Kaseya 一样。无代理,但如果每个客户端上没有安装 NSclient 工具,它基本上是无用的。
Cacti - 基于提取 snmp 统计数据的漂亮且直观的图形工具。无需代理。
OpsView - 基于 Nagios 但更易于配置且具有更好的前端。
HypericHQ - 在 Windows 下易于启动和运行。基本版本是免费的,功能丰富。有一个商业 HypericHQ 企业版。必须在每个客户端上安装代理。
Zabbix - 另一款不错的监控工具。它比 nagios 更容易使用。有一个可以在 Windows 和客户端机器上安装的代理。到目前为止,我只探索了一点。
Zenoss - 开源。Zenoss 的专业性给我留下了深刻的印象。它是一款基于 SNMP 的监视器,拥有大量扩展,可以监视 HP proliants、windows 服务、ms sql server 和 mysql。所有扩展都通过 SNMP 工作,因此无需在客户端计算机上安装任何内容。我还没有探索完它,似乎还有很多功能我还没有利用。它基于 Zope,因此除非您熟悉 Zope 安装,否则我建议您下载预先准备好的 VM - 开箱即用,效果非常好。
在商业方面,你可以看看一些工具:
Kaseya - 如果我没记错的话,250 个节点每年的费用约为 6000 美元,但它是一款出色的工具,并且拥有非常活跃的用户社区。它针对的是 msp 市场,可以监控多个公司的系统。它可以在内部使用,没有问题。
GFI Hounddog - 比 Kaseya 简单,但目前非常便宜。绝对值得一看。
市场上有许多作为 MSP 系统出售的解决方案,但它们本质上是监视器 + 远程管理的组合。
伊恩
答案4
看一眼http://www.codeplex.com/polymon
它是开源的,在后端使用 SQL Server 并且具有精美的 UI