哪些工具用于实现分布式日志?

时间:2013-12-05 23:55:27

标签: logging distributed amazon-dynamodb error-logging dbaas

我正在尝试选择一组工具来实现我们系统的不同组件的日志记录(首先只记录错误日志)。该系统由一组客户端实现(iOS,Web MVC等)和后端组成。

我希望能够存储我的后端返回的每个4xx / 5xx,包括上下文,以及发生问题时客户端上发生的任何事情。理想情况下,这将被正确序列化,以便我可以依赖时间戳来建立事件的顺序,但我意识到这不是一个小问题,所以我没有完全解决它的问题。

此外,我希望现在尽可能免维护。我可以非常快速地启动一个由Postgres DB支持的Web应用程序(注意:我没有表达对SQL vs NoSQL的任何偏好),但我不想在配置管理,数据库增长管理方面投入时间,我现在非常宁愿将此外包给外部SaaS提供商,如果需要,可以在未来手动推广。

问题在于我并不熟悉那里的各种DBaaS / BaaS产品,并且很想听听您的意见。我可能会错过一个出色的产品,并且出于无知而做出艰难的事情。

之前我使用过Parse,而且我也觉得DynamoDB也很合适。我应该研究其他任何选择吗?谢谢。

2 个答案:

答案 0 :(得分:0)

最近我们一直在使用Papertrail(http://papertrailapp.com),它是一个SaaS应用程序,负责存储,存档和搜索日志的界面。

实现它非常简单,在我们现有的每个日志框架(log4j和log4net)中,我们只需要添加一个syslog appender来开始发送日志消息。我们还设置了一些已保存的搜索,以便为5xx的内容发送警报。

至于能够关联事件,特别是一旦消息和源设备的数量开始增加,尝试依赖时间戳来关联消息就变得相当狡猾。最好将每个消息的标识符添加为标准格式(用户或事务#)的一部分,以帮助识别相关消息。一旦完成,Papertrail中的搜索就可以轻松查看交易的整个画面。

答案 1 :(得分:0)

检查apiOmat。它是在德国托管的BaaS,并生成了与服务器通信的SDK。支持不同的编程语言,如Android,iOS,JavaScript等,因此将日志存储在中心位置非常容易。