我正在使用 Amazon Spot 实例来抓取大量数据。大多数实例都会一直运行,直到当前价格超过我们的最高出价时 Amazon 才会终止它们。
我需要监控并主要归档这些 Spot 实例中生成的日志。这些日志对于调试和分析非常重要。我们有应用程序日志、系统日志(如 syslog)、安全日志。以下是我能想到的选项:
- 使用 Chukwa/Flume。这里没有列出 Facebook 的记录员,因为我认为该项目已经失败了。使用这种方法,很少可能会丢失一些日志。
- 将 EBS 卷附加到这些竞价实例。但是,当竞价实例终止时,管理这些卷将是一件麻烦事。
- 挂载 NFS 卷,以便我们将日志写入该卷。这种方法有时性能非常差。
另外,我认为在这些存档文件上运行 Linux 命令(例如 grep、awk)的能力也很重要。在这种情况下人们会使用什么?
PS 我们已经在使用 splunk,但我不会在 splunk 中存档日志。
答案1
答案2
正如您已经写的,您可以选择使用 Chkwa/Flume。
我相信这是进行日志处理和存储的最佳和最有效的方法,但我建议使用 logstash 来实现相同的目的。
Logstash 非常高效,支持多种内部消息格式。Logstash 还提供了一个前端,您可以在其中使用正则表达式并检查结果。
虽然对于前端我建议使用graylog2,与logstash前端相比它具有很多功能。
不过,如果你已经有了 Splunk,我不明白为什么你不想将数据存储在那里。可能是因为许可费吗?我不确定他们的费用结构,但我知道费用很高 :)