当前位置:  开发笔记 > 编程语言 > 正文

从Amazon EC2实例收集日志的好方法是什么?

如何解决《从AmazonEC2实例收集日志的好方法是什么?》经验,为你挑选了4个好方法。

我的应用程序托管在Amazon EC2群集上.每个实例都将事件写入日志文件.我需要在每天结束时收集(和数据挖掘)这些日志.在中心位置收集这些日志的推荐方法是什么?我想到了几个选项,不知道要走哪条路:

    使用cron作业将它们scp到一个实例

    将TCP/IP上的所有事件记录到实例

Martijn Heem.. 23

我们在每个主机上使用Logstash(通过Puppet部署)在中央主机上收集日志事件并将其发送到消息队列(RabbitMQ,但可能是Redis).另一个Logstash实例检索事件,处理它们并将结果填充到ElasticSearch中.一个Kibana网络接口用于通过该数据库中进行搜索.

它功能强大,易于扩展且非常灵活.Logstash有大量的过滤器来处理来自各种输入的事件,并且可以输出到许多服务,ElasticSearch就是其中之一.我们目前每天从轻型硬件上的EC2实例发送大约1,200万个日志事件.在我们的设置中,从事件到可搜索的日志事件的延迟大约是1秒.

以下是有关此类设置的一些文档:https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html,以及带有一些实时数据的Kibana搜索界面演示.



1> Martijn Heem..:

我们在每个主机上使用Logstash(通过Puppet部署)在中央主机上收集日志事件并将其发送到消息队列(RabbitMQ,但可能是Redis).另一个Logstash实例检索事件,处理它们并将结果填充到ElasticSearch中.一个Kibana网络接口用于通过该数据库中进行搜索.

它功能强大,易于扩展且非常灵活.Logstash有大量的过滤器来处理来自各种输入的事件,并且可以输出到许多服务,ElasticSearch就是其中之一.我们目前每天从轻型硬件上的EC2实例发送大约1,200万个日志事件.在我们的设置中,从事件到可搜索的日志事件的延迟大约是1秒.

以下是有关此类设置的一些文档:https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html,以及带有一些实时数据的Kibana搜索界面演示.


我建议将日志发送到S3,然后使用logstash + elasticsearch从s3拖尾日志.(使用校验和生成elasticsearch ID以对由logstash重新处理重新上载的文件导致的日志条目进行重复数据删除).这样您就不必担心丢失Elasticsearch集群,并且可以更轻松,更清晰地重新定位ES集群.它还为您提供了更多更重的分析工具,如EMR和Redshift.

2> smitelli..:

这个问题现在已经过时(2014年12月),但在Google搜索此主题时仍然排名很高.

亚马逊现在提供了一种通过CloudWatch完成部分工作的方法.它具有模式匹配日志消息的能力,并根据应用程序中发生的事情触发警报.根据需要完成的数据挖掘的性质,可以使用其API来获取所需的聚合事件.见http://aws.amazon.com/blogs/aws/cloudwatch-log-service/



3> 小智..:

我一直在使用Loggly,它似乎可以解决问题

http://loggly.com/

它允许我通过tcp将我的所有日​​志发送到他们的服务,并有一个中央位置来监视我的所有日​​志文件,

它还允许我将我的日志文件存档到S3,这也很好



4> MB...:

我没有尝试过这个目的,但亚马逊似乎建议使用SimpleDB:

http://aws.amazon.com/simpledb/usecases_logging/

下面是您可能会发现有用的包装 - 它说,你可以用它来捕捉标准输出/标准错误到SimpleDB的:

http://code.google.com/p/simpledb-appender/

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有