Splunk给我留下了深刻的印象,尤其是第 4 版。漂亮的图表、警报(仅限企业版)以及快速、准确的搜索。这是一个很棒的产品。
然而,成本太高,无法考虑为我们公司全面生产使用。我们真正需要的是能够在一个中心位置索引不同的日志,并对其进行合理的搜索。基于已保存搜索的警报也非常好。我们并没有真正超越这一点。
事实上,我们最大的用途是部署新的应用程序。一切都通过 log4net 记录到 Windows 上的事件日志或 Linux 上的文本文件。Splunk 使快速搜索这些内容变得非常容易,以确保应用程序的所有部分都正常工作——与寻找单个日志源相比,这为我们节省了大量时间。
这个市场有哪些替代品?我有一种下沉的感觉,Splunk 的定价如此之高,因为他们拥有迄今为止最好的产品,而且他们知道这一点。我们希望服务器在 Windows 上运行。
我对拆分模型持开放态度,将一种产品用于一般日志(通过 syslog/Snare 收集),并为我们的自定义应用程序(如Log4Net Dashboard)使用一种专用产品。
使用发送到 SQL Server(可能启用全文)的简单系统日志服务器(例如 Kiwi)是否可行?
我希望成本应该远低于 5 位数,美元。(是的,我知道,我们很便宜。我们是一家资金很少的初创公司,而 BizSpark 负责我们所有的 MS 许可。)
编辑:我应该补充一下,我们有大约 10 台物理服务器、20 台虚拟机以及几个防火墙和交换机。90% 是 Windows。
我对 syslog、rsyslog 和 syslog-ng 有点困惑。
我可以从哪里获得 的源代码syslog()?
rsyslog 和 rsyslogd 之间有什么区别吗?
我正在寻找一种更好的方式来记录 cronjobs。大多数 cronjobs 倾向于向垃圾邮件或控制台发送垃圾邮件,被忽略或创建另一个日志文件。
在这种情况下,我有一个 Nagios NSCA 脚本,它将数据发送到中央 Nagios 服务器。这个 send_nsca 脚本还会向 STDOUT 打印一个状态行,指示成功或失败。
0 * * * * root /usr/local/nagios/sbin/nsca_check_disk
Run Code Online (Sandbox Code Playgroud)
这会将以下消息通过电子邮件发送到 root@localhost,然后转发给我的系统管理员团队。垃圾邮件。
转发 nsca_check_disk:1 个数据包成功发送到主机。
我正在寻找一种日志记录方法:
我正在尝试在我的 dmesg 输出中编写一些自定义消息。我试过:
logger "Hello"
Run Code Online (Sandbox Code Playgroud)
但这不起作用。它退出没有错误,但没有“Hello”出现在以下输出中:
dmesg
Run Code Online (Sandbox Code Playgroud)
我使用的是 Fedora 9,似乎没有运行 syslogd/klogd 守护进程。但是,我所有的内核消息都成功写入了 dmesg 缓冲区。
任何的想法?
可能的重复:
Splunk 的替代品?
这个已经讨论过了,但是已经几个月了,所以可能是时候重新审视它了:
郑重声明,Splunk 非常棒。但是定价完全超出了我们的考虑范围(当我今天与 Splunk 交谈时,系统索引 5GB/天的数据的成本超过 30,000 美元。)
这比我们在 SQL Server 上花费的钱(成倍数)多,比我们在服务器机架上花费的钱数(成倍数)多,等等。
splunk 销售团队是正确的(30,000 美元,我们获得的价值和功能比我们花同样的钱构建自己的系统要多),但这并不重要。splunk 成本太高了(成倍增加)。
Soooooo,我们在环顾四周!
有没有人在那里构建类似 splunk 的系统?
我们的基本需求:
我们目前需要索引 3-5gb/天,但需要能够扩展到 10gb/天或更多。我们不需要很多历史记录(30 天就可以了)。
我们使用 Windows 2008 和 2003 服务器。
谢谢你的想法!
更新:我们花了两周时间研究商业和开源选项。我们的结论:写我们自己的(我们是一家软件公司……我们知道如何写东西)。我们在 mongodb 和 .NET 上构建了一个很棒的系统,它在大约一个工程周内为我们提供了我们需要的 MongoDB 功能。我们现在已经完成了我们的实施。我们使用两台 Mongodb 服务器(主从),能够记录和索引任意数量的日志数据(5GB/天、15GB/天等),仅受磁盘空间的限制。
更新至更新(2012 年 12 月):我们继续使用我们的 mongodb 解决方案,而且效果很好!如果我们今天要构建它,我们会强烈考虑在 elasticsearch 之上构建它。
观察:这个空间需要一个固定价格为 1000-3000 美元的可靠解决方案。商业公司使用的许可模型基于“挤奶数据中心操作员”模型。那是他们的权利(当然!),但它留下了一个巨大的空间让某人进入他们下面。我的猜测是,再过一两年,将会有一个很好的开源解决方案,它会真正可用。
感谢大家的投入(即使是自我推销)。
我有一个需要每分钟执行一次的脚本。问题是 cron/var/log/syslog每次执行时都会记录。我最终看到这样的事情一遍又一遍地重复/var/log/syslog:
Jun 25 00:56:01 myhostname /USR/SBIN/CRON[1144]: (root) CMD (php /path/to/script.php > /dev/null)
Run Code Online (Sandbox Code Playgroud)
我正在使用 Debian。
我的问题是:有什么办法可以告诉 cron 不要每次都将这些信息写入 syslog?
如何在管理员级别在 Debian Squeeze 中打开 PAM 调试?
我已经检查了我能找到的所有资源。谷歌,联机帮助页,等等。我还没有尝试过的唯一一件事(我根本不敢尝试,我有没有提到我讨厌 PAM?)是深入研究 PAM 的库源。
我试图谷歌寻找解决方案,什么都没有。到目前为止我发现了什么:
http://www.bitbull.ch/wiki/index.php/Pam_debugging_funktion(/etc/pam_debug)和
http://nixdoc.net/man-pages/HP-UX/man4/pam.conf.4.html(debug对PAM项选项在/etc/pam.d/)。
不,不起作用。 没有 PAM 输出,什么都没有,绝对安静。
在寻找解决方案时,我什至点击了 Pam 的链接,即德国的加油站。嗯,是的,也许在所有这些十亿次点击中可能隐藏着一个线索,但是开枪打我我会在我发现之前就死了。
休息是仅供参考:
我遇到了什么问题?
升级到 Debian Squeeze 后,有些东西变得很奇怪(好吧,嘿,它曾经是,呃,Etch 上的东西……啊,是的,Woody)。所以这可能不是 Debian 的错,只是一个长期存在的错误设置。我立刻有印象它必须与 PAM 做一些事情,但我真的不知道发生了什么。我完全在黑暗中,独自一人,像婴儿一样无助,YKWIM。有些 ssh 登录有效,有些则无效。这有点好笑。没有线索ssh -v,没有线索/var/log/*,什么都没有。只是“身份验证成功”或“身份验证失败”,有时同一用户同时登录一个会话成功,而另一个会话失败。没有什么是你真正可以掌握的。
在挖掘了大量其他选项后,我能够找到答案。有nullok和nullok_secure,这是Debian 的特色。某些事情搞砸了/etc/securetty,取决于tty(有点随机)登录是否被拒绝。真的很好,呸!
修复很容易,现在一切都很好了。
然而,这给我留下了一个问题,未来如何调试这样的烂摊子。这不是 PAM 第一次让我发疯。所以我想看到一个最终的解决方案。“已解决”中的最终结果,而不是“世界末日”中的最终结果。谢谢。
啊,顺便说一句,这再次坚定了我的信念,即自从 PAM 出现以来,讨厌它是件好事。我提到过吗?
我们的 Linux 系统默认运行logwatch(8)实用程序。在 RedHat/CentOS/SL 系统上,Logwatch 由/etc/cron.daily/cronjob调用,然后它会每天发送一封包含结果的电子邮件。这些电子邮件的主题如下:
Subject: Logwatch for $HOSTNAME
Run Code Online (Sandbox Code Playgroud)
问题在于,默认情况下,这些日常电子邮件过于嘈杂,并且包含许多其他服务(Nagios、Cacti、中央系统日志等)已经监控到的多余信息(HTTP 错误、每日磁盘使用情况等)。对于 100 个系统,电子邮件负载是无法承受的。人们忽略电子邮件,这意味着我们可能会错过 logwatch 发现的问题。
如何减少 logwatch 产生的噪音量,但仍然使用 logwatch 通知我们重大问题?
我会在下面发布我自己的答案,但我想看看其他人做了什么。
注意:我有一个关于 FreeBSD 的类似问题,在FreeBSD:periodic(8) is too noise。如何控制噪音水平?
你有没有在 /var/log/syslog 中看到错误的顺序?我认为它只会导致 crontab。
Jun 28 22:20:01 alex CRON[2327]: (root) CMD (something > /dev/null)
Jun 28 22:21:01 alex CRON[2700]: (root) CMD (something > /dev/null)
Jun 21 03:49:01 alex CRON[2753]: (root) CMD (something > /dev/null)
Jun 28 22:23:01 alex CRON[2754]: (root) CMD (something > /dev/null)
Jun 27 05:08:01 alex CRON[2813]: (root) CMD (something > /dev/null)
Jun 26 00:19:01 alex CRON[2816]: (root) CMD (something > /dev/null)
Jun 28 22:25:01 alex CRON[2816]: (munin) CMD (if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi)
Jun …Run Code Online (Sandbox Code Playgroud) 我有一些由 OVH(法国服务提供商)托管的专用服务器。操作系统:Ubuntu 12.04 x64
几个月前,我的一台服务器崩溃了。唯一奇怪的是系统日志中的一些“ASCII NUL”字符:
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
在我的服务提供商的帮助下,我们检查了:
一切正常,所以我的服务提供商建议更换服务器的主板并更新内核(我们做到了)。但此后,该服务器又崩溃了两次,系统日志中的字符相同。
没有更多的解释,我们决定更改此服务器(计划在几周内进行)。
但是,问题是,今晚,这发生在另一台服务器上。相同的崩溃,系统日志中的相同字符,没有解释。
有人知道我们应该检查什么吗?是硬件问题还是软件问题?