2013-11-20 115 views
4

阅读logstash提供的文档后,我仍然有点困惑。我正计划编写一个Android应用程序,并且我想记录应用程序的活动。日志将通过网络发送。 logstash不是正确的解决方案?因为它需要在生成日志的系统上安装“代理”。logstash从android接收日志?或者这是elasticsearch?

我想要一个可以存储应用程序活动日志的系统,但它也需要能够将收集的日志导出为纯文本文件。我知道logstash可以输出到elasticsearch,但我不确定它是否可以同时导出到纯文本文件。或者这是ElasticSearch应该完成的任务?

感谢一吨的任何输入您可以提供

回答

4

Logstash转发器是目前没有可用于Android/IOS不幸的是,我也能找到来自社区的任何现有的解决方案。 (我在这里问了同样的问题,但因为被视为要求提供工具/图书馆建议而被拒之门外)。 不幸的是,要么自己写一个(这不是微不足道的:你需要考虑离线连接,批处理,调度,压缩,文件跟踪等),或者使用其他(通常是商业的)日志服务,如LogEntries。 顺便说一句,LogEntries的android/ios客户端是开源的。我不清楚它的OSS许可证,但是如果你要自己编写一个logstash代理,你可以先看看LogEntries的android代理实现,它已经解决了上面提到的所有技术问题。 https://github.com/logentries/le_android

为了回答您的其他问题,yes logstash应该通过伐木工输入(又名logstash forwarder)接收您的日志(来自移动设备)。然后,Logstash可以持续&将这些日志文件索引到elasticsearch,并提供它的配置方式

+0

使用Logstash HTTP输入插件怎么样? https://www.elastic.co/blog/introducing-logstash-input-http-plugin –

+0

是的,你可以在服务器端使用HTTP或TCP端点。但是你只需要自己构建客户端代理,即自己加载你的设备上的日志条目,对它进行尾部处理,过滤,批量处理,压缩,节流,排程(离线/在线,手机/ wifi),重试它,附加元数据(IP,设备型号,操作系统版本),匿名它等。 在PC世界中,这就是logstash代理所做的事情。无法在移动世界上找到任何用于logstash的现有解决方案。 – Sheepy