我正在寻找一个日志分析工具来监控和分析来自 Apache 和 Tomcat webfarm 的日志。
它需要在服务器上运行代理,并将日志发送回中央主机。然后主机将处理它们,并绘制有用的图表,如请求数/秒、平均响应时间等。这个想法是有一个“控制台”网页,它将在一个页面上显示所有 webapps 图表的概览,并能够深入了解图表上的特定时间等。
这方面的预算相当低(读作零),所以像 Splunk 之类的东西被排除在外。
目前最佳候选者是 Logstash 和 eleasticsearch,但设置起来似乎相当复杂,而且我不知道它是否可以提供控制台视图,演示似乎更多地基于搜索而不是提供概述。
Cacti 也是一个选择,但它需要某种方式将日志传送到中央主机,并编写自定义脚本来解析日志。
还有其他工具可以提供我错过的类似功能吗?这似乎是一个相当常见的要求,所以我很惊讶到目前为止我还没有找到任何可以直接做到这一点的东西!
需要澄清的是 - AWStats 和 Webalizer 之类的东西并不真正适合(而且现在也相当过时了!)。我对服务器的健康状况比我的访问者来自哪里更感兴趣。
答案1
我自己使用 Logstash 和 Elasticsearch 取得了巨大成功,我认为它们的复杂程度属于“低到中等”。查看 Logstash 主页上的 30 分钟视频,或花 15 美元购买 Logstash 电子书。两者都非常有助于我设置环境,以便 Logstash 解析日志,将它们发送到 Elasticsearch,然后 Graphite 查询以构建图表。
或者,看看 Piwik - 它表面上是 Google Analytics 的替代品,但我相信它们有一个本地文件解析模式,类似于 awstats 的工作方式。您可以设置 rsyslog 将所有 http 日志发送到中央服务器,然后由 Piwik 在本地文件模式下解析,从而为您提供“现代”界面。
另一方面,您可能会发现 Newrelic 更合您的口味。它不是免费的(无论是啤酒还是演讲),但价格比 Splunk 合理得多。
答案2
澄清一下:我不会说 AWStats 和 Webalizer 之类的东西“相当过时”。它们听起来几乎确切地就像您所需要的一样。这些产品是否没有满足您的需求?
您似乎不愿意或者至少非常犹豫进行任何脚本编写(根据您的 Cacti 评论),因此像您排除的两个简单的开箱即用解决方案似乎是理想的选择。
如果您坚决不使用上述解决方案,那么 mod_apache_snmp 和 cacti 应该能够满足您的需求。http://mod-apache-snmp.sourceforge.net/english/
请注意:任何类似产品都需要设置。